2

デフォルトでは、複数単語検索は、各単語が個別に含まれるファイルに分割されます。このデフォルトをオーバーライドして、whoosh で完全一致を検索するにはどうすればよいですか? サポートされている可能性が最も高いにもかかわらず、google/whoosh のドキュメントで見つけることができません。

さらに、完全一致の検索のパフォーマンスは、同じ複数単語検索よりも優れていますか?

4

1 に答える 1

1

フレーズ クエリを使用します(つまり、クエリで一致させたい単語を二重引用符で囲みます)。たとえば、次のようになります。

"to be or not to be"

ただし、これは、検索しているフィールドのタイプが の場合にのみ機能しますwhoosh.fields.TEXT

パフォーマンスに関しては、フレーズ検索は必然的に「従来の検索」よりも遅くなります。フレーズ検索を行うには、最初に、クエリで指定したすべての用語を含むすべてのドキュメントを取得する必要があります (これは「従来の検索」の部分です)。次に、クエリとドキュメントの間で用語の位置を比較します。一致するかどうかを確認します。

于 2013-06-24T21:22:43.970 に答える