問題タブ [match-phrase]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - 複数単語検索候補の Elasticsearch クエリ
現在、ESからの検索提案にこのESクエリを使用しています(エッジnグラムを使用)
これは機能しますが、単一の単語に対してのみです。文字を入力すると、単語の候補が表示されますが、スペースで区切られた複数の単語の候補 (フレーズの候補) を取得しようとしています。フレーズの提案を得るために使用するより良い ES クエリはありますか?
elasticsearch - 複数単語の検索候補を生成する方法
Elasticsearch を使用して小さな検索アプリを作成しており、複数の単語 (フレーズ) の提案を使用してオートコンプリート機能を作成する方法を見つけようとしています。私はそれが働いています...ちょっと...
ほとんどの場合、1 つの単語の候補が表示されますが、スペース バーを押すと候補が消えてしまいます。
たとえば、「fast」と入力すると正常に動作し、「fast」と入力すると、提案が表示されなくなります。
私は and を使用してEdge N Grams
おり、こことここmatch_phrase_prefix
の例に従って構築しています。タイトルとコンテンツを除くすべてのフィールドをキャンセルするために、 include_in_all: false を使用したフィールドの場合。小さなデータセットでテストしていて、複数の単語の提案を生成するのに十分なトークン化された用語がないという理由だけで考え始めています。以下の関連するコードを見て、どこが間違っているのか教えてください。_all
match_phrase_prefix
elasticsearch - match_phrase_prefix とあいまいさを同時に使用するエラスティック検索クエリ?
エラスティック検索は初めてなので、データに最適なクエリを見つけるのに少し苦労しています。
次の単語「Handelsstandens Boldklub」に一致させたいと想像してください。
現在、次のクエリを使用しています。
現在、「Hand」を検索すると単語がリストされますが、「Handle」を検索すると、タイプミスをしたため、単語がリストされなくなります。ただし、「Handlesstandens」で最後まで到達すると、あいまいさがタイプミスをキャッチするため、再びリストされますが、単語全体を入力した場合のみです。
phrase_prefix と fuzziness を同時に行うことは何とか可能ですか? 上記の場合、途中でタイプミスした場合でも、単語がリストされますか?
したがって、この場合、「Handle」を検索しても、「Handelsstandens Boldklub」という単語に一致します。
または、上記の経験を達成するために他にどのような回避策がありますか? 私は、ずさんなマッチングもサポートしているので、phrase_prefix マッチングが好きです (したがって、「Boldklub han」を検索すると、結果が一覧表示されます)。
または、補完サジェスターを使用して上記を達成できますか?
elasticsearch - ElasticSearch: あいまいさをサポートするための match_phrase の使用の代替
私のドキュメントには、3 ~ 10 の文を含む「説明」フィールドがあります。
ユーザーからまったく同じ言葉を期待することはできないため、あいまいさをサポートする必要があります。
一方、「一致」ではなく「一致フレーズ」を使用する必要があります。単語が互いに離れすぎている場合、ドキュメントは関連性がないためです。
問題は、「match_phrase」が単語を分析しないことです。その結果、あいまいさがサポートされません。(ここの最後の段落を参照してください https://www.elastic.co/guide/en/elasticsearch/guide/master/phrase-matching.html )。
この 2 つの要件を何らかの方法で達成するには、ここで創造的な解決策が必要だと思います。おそらく、他の検索クエリを使用して。