我使用_msearch api将多个查询发送到Elastic。
我只需要知道每个查询产生了多少次匹配。
据我了解,您可以通过将size
参数设置为“ 0”来仅获取计数。但是,我仍然获得所有找到的文档的结果。这是我的查询:
{"index":"myindex","type":"things","from":0,,"size":0}
{"query":{"bool":{"must":[{"match_all":{}}],"must_not":[],{"match":
{"firstSearch":true}}]}}}, "size" : 0}
{"index":"myindex","type":"things","from":0,,"size":0}
{"query":{"bool":{"must":[{"match_all":{}}],"must_not":[],{"match":
{"secondSearch":true}}]}}}, "size" : 0}
我正在使用curl以这种方式获取结果:
curl -H "Content-Type: application/x-ndjson" -XGET localhost:9200/_msearch?pretty=1 --data-binary "@requests"; echo
答案 0 :(得分:2)
将大小设置为零表示您正在要求Elasticsearch返回所有满足查询条件的文档。
您可以通过发送“ _source”为false来让Elasticsearch知道您不需要文档。
示例:
{
"query": {},
"_source": false,
}
答案 1 :(得分:0)
您可以使用
GET /indexname/type/_count?
{ "query":
{ "match_all": {} }
}
请阅读更多文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-count.html