12

特定の 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"
    ]
  }
}
4

1 に答える 1

31

idsmatch、またはと同様に、クエリのタイプですmatch_all。したがって、フォーマットは次のようになります。

{"query":{ "ids":{ "values": [ 100 ] } } }

または、次のようにフィルターとして実行することもできます。

{"filter":{ "query": {"ids":{ "values": [ 100 ] } } } }
于 2013-05-16T01:31:55.363 に答える