我想在弹性搜索中找到具有给定ID的某些元素,但我无法想出一个简单的方法.
我看到了http://www.elasticsearch.org/guide/reference/query-dsl/ids-query/,但是我不知道如何构建一个查询来使用它,或者当我用es-head或curl玩玩具时,我看到的错误如下:
Parse Failure [Failed to parse source [{"query":{"match_all":{}},"ids {"values""1","4","100"]}}]]]; nested: SearchParseException[[dailyaggregates][4]: query[Constantscore(NotDeleted(*:*))],from[-1],size[-1]: Parse Failure [No parser for element [ids]]]; }]
有谁能告诉我如何设置它?谢谢.
编辑:我对该错误的尝试来自es-head但是通过curl发生了类似的错误.我相信我尝试过的是一些变体:
{ "query": { "match_all": {} },"ids": { "values": [ "100" ] } }
解决方法
ids是一种查询,就像匹配或match_all一样.所以格式应该是:
{"query":{ "ids":{ "values": [ 100 ] } } }
您可以选择将其作为过滤器,如下所示:
{"filter":{ "query": {"ids":{ "values": [ 100 ] } } } }