私はElasticsearch v2.4.2のインデックスを持っています。括弧で囲まれたタイプに複数のクエリといくつかの特別な値を入れています。クエリ - ドキュメントのようになります。括弧のタイプに照会を検索
"query" : {
"query_string" : {
"fields" : [ "title", "meta" ],
"query" : "notebooks AND clamps"
},
"key_id" : 14,
"owner_id" : 481,
"priority" : 50,
"special_id" : 477
}
私も「のkey_id」の値と特異的にものを、.percolatorからこれらのクエリの一部を削除しようとしています。
問題は、私が.percolatorで検索を実行しようとしているが、結果が得られていないということです。
curl 'localhost:9200/percolate_index_d/.percolator/_search?q=key_id:14&pretty'
curl 'localhost:9200/percolate_index_d/.percolator/_search?&pretty' -d '{ query:{filtered:{filter:{term:{"key_id":"14"}}}} }'
をしかし、私はいつもこれを取得::例えば、私はこれらのカールの呼び出しを試みた
{
"took" : 6,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
}
私もquery.key_id
が、運を使用してみました。 .percolatorの型を検索することが可能な場合や、これに対していくつかの回避策があるかどうか、私が間違っているかどうかはわかりません。
おかげでクエリを取得することができます。問題は、key_id | owner_id | priority | special_idでフィルタリングしたくないということです。上記の私の質問はちょうど.percolatorのクエリ文書です。私は "_percolate" APIとのマッチを見つけたときにそれらを使用するために "key_id"のような値を追加しました。クエリは、with_percolateとうまく動作しますが、(たとえば)クエリードキュメントをkey_id <200で検索する必要があります。 –
申し訳ありませんが、私はあなたの最初の必要性を誤解しました。 key_id | owner_id | priority | special_idもクエリの用語フィルタと考えられていましたが、クエリのメタデータフィールドとしてのみ追加しています。私はそれに応じて私の答えを更新しました。 – Val
ありがとう、それは期待どおりに働いた! "query.key_id = 14"のように動作しなかった理由を知っていますか? –