4

query_string を使用して、ワイルドカードをエラスティック検索の正確なフレーズ検索に使用しようとすると問題が発生します。

すべてのバリエーションの正確なフレーズである結果が返されるようにしたい。つまり、「クアーズ ブリューイング」、「クアーズ ブリューワリー」、「クアーズ ブリューズ」などです。

POST _search
{
"query": {
  "query_string": {
    "default_operator": "AND", 
    "analyze_wildcard": true,
    "query": "\"coors brew*\""
  }
}
}

私はこのアプローチと結婚していませんが、ドキュメントの大部分を検索して、1 つまたは 2 つのフィールドと一致するものを見つけたいと考えています。

4

1 に答える 1

1

match_phrase_prefixクエリの完璧なユースケースのようです(ドキュメント):試してみましたか?

同時に複数のフィールドに対してクエリを作成する必要がある場合は、タイプのmulti_matchクエリを参照してくださいphrase_prefix(ドキュメント)。

ワイルドカード ベースのクエリとの違いは、一致クエリが解析されず、 query_string 構文query_stringをサポートしていないことです。

于 2014-10-28T09:24:37.960 に答える