2017-12-26 44 views
0

Elasticsearchアプリで検索文字列 "Word1"と "Word2"〜3 'を使用していましたが、私は期待していませんでした。Elasticsearchのブール検索ファジークエリ - 予期しない結果 - "Word1" AND "Word2"〜3

"Word1 blah blah Word1"などの結果を返していました。私は実際には "Word1 blah blah Word2"の結果を返すだけでしたが、 "Word1"の出現は重複しません。

「Word1 Word2〜3」は、私が探していた実際の結果を示しているようです。

誰かがこの論理を理解するのを手伝ってくれますし、なぜ最初の検索が期待どおりに機能しないのか、私がやっていることに対してより良いアプローチがあるのでしょうか?

答えて

1

最初のクエリ"Word1" AND "Word2" ~3では、あいまいさはWord2にのみ適用されます。クエリは基本的に次のようになります。編集距離が3の「Word1」と「Word2」を含むすべての文書を検索します。Word1 blah blah Word1の文書は、「Word1」が最初に出現してから修飾され、 "Word1"と "Word2"が互いに離れていることを許可するフレーズクエリです。 2番目のクエリ"Word1 Word2" ~3で、を実行しています。 。

+0

ありがとうございました。私はそれがそれを説明すると思います。私はあなたが矛盾していると言ったような気がします。あなたはチェック/説明できますか? "曖昧さはWord2にのみ適用されます" - これは、あなたが「Word1 blah blah Word1」について後で言いましたので、そうではないようです。 「〜3」は「Word1」と「Word2」の両方に適用されるようです。 しかし、あなたはあなたの説明を私に非常に助けてくれました。それは多くの意味を持ち、私が見ていたことを説明しています。どうもありがとう。非常に便利なので、説明をクリーンアップする機会があれば、軽微な編集を保証するかもしれないと思っただけです。ありがとう – LokMac

+0

いいえ、最初のクエリでは、 'AND'があります。これは、あいまいさが' Word2'にのみ適用されることを意味します。あなたの2番目の質問では、単語と二重引用符で囲まれています。つまり、それはフレーズであるため、フレーズがフレーズに適用されます。 – Val

関連する問題