2013-05-16 25 views
7

特定のIDを持つ私の弾性検索の特定の要素を見つけたいと思います。これを行う簡単な方法を見つけることができません。指定されたIDを持つ要素のelasticsearch検索

私はhttp://www.elasticsearch.org/guide/reference/query-dsl/ids-query/を見たが、私の人生のためにそれを使用するクエリを構築する方法を見つけ出すことができない、または私はES-ヘッドやカールの周りおもちゃを行うときに、私のようなエラーが表示さ:

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" 
    ] 
    } 
} 
+0

は、あなたのcurlコマンドをそのまま貼り付けることができますか?あなたがリンクしている例はうまくいくはずですので、おそらくあなたがどこに迷っているのかという疑問です。 :) –

+0

返事をありがとう。私が使っているものを投稿しました。私はそれを動かしようとしました。質問のように、似たようなエラーが出ました。 – cdietschrun

答えて

17

idsはちょうどmatch、またはmatch_allのように、クエリのタイプです。だから、フォーマットは次のようになります。

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

ので、同様にあなたは、フィルタとしてそれを交互に行うことができます。

{"filter":{ "query": {"ids":{ "values": [ 100 ] } } } } 
+0

いい男。どうもありがとう。私は、ESのドキュメントでは理解が難しい英語を見つけるので、その言葉が私を逃れてきたことを理解してください。 – cdietschrun

関連する問題