elasticsearch Elasticsearch查询提供与cURL和Kibana不同的结果,elasticsearch,kibana,sense,elasticsearch,Kibana,Sense" /> elasticsearch Elasticsearch查询提供与cURL和Kibana不同的结果,elasticsearch,kibana,sense,elasticsearch,Kibana,Sense" />

elasticsearch Elasticsearch查询提供与cURL和Kibana不同的结果

elasticsearch Elasticsearch查询提供与cURL和Kibana不同的结果,elasticsearch,kibana,sense,elasticsearch,Kibana,Sense,我是Elasticsearch和kibana的新手,正在尝试将Elasticsearch与PHP连接以生成一些报告 我试图运行一个查询,它在kibana意义上运行得非常好,但令人惊讶的是,每当我对它进行卷曲时,它会给出不同的结果 GET /_search { "query": { "filtered": { "query": { "query_string": { "query": "*", "analyze_wil

我是Elasticsearch和kibana的新手,正在尝试将Elasticsearch与PHP连接以生成一些报告

我试图运行一个查询,它在kibana意义上运行得非常好,但令人惊讶的是,每当我对它进行卷曲时,它会给出不同的结果

GET /_search
{
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "query": "*",
          "analyze_wildcard": true
        }
      },
      "filter": {
        "bool": {
          "must": [
            {
              "query": {
                "query_string": {
                  "analyze_wildcard": true,
                  "query": "*"
                }
              }
            },
            {
              "range": {
                "start_time": {
                  "gte": 1532889000000,
                  "lte": 1532975399999,
                  "format": "epoch_millis"
                }
              }
            }
          ],
          "must_not": []
        }
      }
    }
  },
  "size": 0,
  "aggs": {
    "2": {
      "terms": {
        "field": "layers",
        "size": 50,
        "order": {
          "_count": "desc"
        }
      }
    }
  }
}
当我卷曲这个查询时,它返回文档而不是聚合结果

我哪里做错了? 短暂性脑缺血发作

编辑:我正在研究Elasticsearch 2.3

我正在运行的PHP代码用于检索结果:

$jarray=array (
    'query' =>
        array (
            'filtered' =>
                array (
                    'query' =>
                        array (
                            'query_string' =>
                                array (
                                    'query' => '*',
                                    'analyze_wildcard' => true,
                                ),
                        ),
                    'filter' =>
                        array (
                            'bool' =>
                                array (
                                    'must' =>
                                        array (
                                            0 =>
                                                array (
                                                    'query' =>
                                                        array (
                                                            'query_string' =>
                                                                array (
                                                                    'analyze_wildcard' => true,
                                                                    'query' => '*',
                                                                ),
                                                        ),
                                                ),
                                            1 =>
                                                array (
                                                    'range' =>
                                                        array (
                                                            'start_time' =>
                                                                array (
                                                                    'gte' => 1532889000000,
                                                                    'lte' => 1532975399999,
                                                                    'format' => 'epoch_millis',
                                                                ),
                                                        ),
                                                ),
                                        ),
                                    'must_not' =>
                                        array (
                                        ),
                                ),
                        ),
                ),
        ),
    'size' => 0,
    'aggs' =>
        array (
            2 =>
                array (
                    'terms' =>
                        array (
                            'field' => 'layer_count',
                            'size' => 50,
                            'order' =>
                                array (
                                    '_count' => 'desc',
                                ),
                        ),
                ),
        ),
);



$jdata=json_encode($jarray);
$url = '10.10.113.97:9200/my_index/_search';
echo $url.'<br><br><br><br><br><br>';




$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_GETFIELDS, json_encode($jdata));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($ch) or die(curl_error());
curl_close($ch);
print_r(stripcslashes($return));
$jarray=array(
“查询”=>
排列(
'过滤'=>
排列(
“查询”=>
排列(
“查询字符串”=>
排列(
'查询'=>'*',
“analyze_wildcard”=>true,
),
),
“过滤器”=>
排列(
‘bool’=>
排列(
“必须”=>
排列(
0 =>
排列(
“查询”=>
排列(
“查询字符串”=>
排列(
“analyze_wildcard”=>true,
'查询'=>'*',
),
),
),
1 =>
排列(
“范围”=>
排列(
“开始时间”=>
排列(
“gte”=>153288900000,
“lte”=>1532975399999,
'格式'=>'历元',
),
),
),
),
“不得”=>
排列(
),
),
),
),
),
“大小”=>0,
“aggs'=>
排列(
2 =>
排列(
“术语”=>
排列(
'字段'=>'层数',
“大小”=>50,
“订单”=>
排列(
“_count”=>“desc”,
),
),
),
),
);
$jdata=json_encode($jarray);
$url='10.10.113.97:9200/my_index/_search';
回显$url。“





”; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$URL); curl_setopt($ch,CURLOPT_头,0); curl_setopt($ch,CURLOPT_POST,true); curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'GET'); curl_setopt($ch,CURLOPT_GETFIELDS,json_encode($jdata)); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); $return=curl\u exec($ch)或die(curl\u error()); 卷曲关闭($ch); 打印(条纹睫毛($return));
在cURL代码中,您需要更改聚合部分中使用的字段:

'aggs' =>
    array (
        2 =>
            array (
                'terms' =>
                    array (
                        'field' => 'layers',         <--- change this line
                        'size' => 50,
                        'order' =>
                            array (
                                '_count' => 'desc',
                            ),
                    ),
            ),
    ),

你能显示你正在运行的curl命令吗?好的,我会编辑帖子,在Kibana中,你的聚合运行在
字段上,而在你的curl代码中,它运行在
层(计数
)字段上,即不在同一个字段上,在我看来,你的卷曲设置是不正确的。
$query = json_encode($jdata);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($query))                                                                       
);