【发布时间】:2015-10-15 18:59:55
【问题描述】:
我在使用 Elasticsearch 脚本过滤器和 Curl post URI 时遇到问题。
我正在使用如下 URL 传递值
我的带参数的网址
$params = rawurlencode('firstName:John');
$url= 'http://localhost:9200/jdbc/_search?q='.$params.'&pretty=true';
我的 Json 代码:
$options='{
"query": {
"filtered": {
"filter": {
"script": {
"script": "(min..max).contains(doc.admitted_date.date.year)",
"params": {
"min": 1999,
"max": 2000
}
}
}
}
},
"aggs": {
"citycount": {
"cardinality": {
"field": "cityid",
"precision_threshold": 100
}
}
}
}';
卷曲传递:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch,CURLOPT_POSTFIELDS,$options);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$data = ob_get_contents();
ob_end_clean();
当我通过上述查询时,它显示错误的结果。因为我们使用两种格式的 URL 和 JSON 传递参数。所以有一次它只会从 URL 中获取参数。有什么方法可以传递这两个参数还是有其他方法可以传递这个?有什么方法可以在 Elasticsearch PHP 中的 URL 中传递脚本
【问题讨论】:
标签: php curl elasticsearch