1

edismaxクエリ パーサーを使用して、 Solr 4.10.3サーバーに対するユーザー クエリを処理します。

q.opパラメーターをANDに設定し、 mmパラメーターを完全に無効にして、100% の一致のみをヒットするようにしました。

ユーザーが 1 つのフィールドで複数の用語を検索すると、すべて正常に機能します。

たとえば、クエリfood:(beer cola Pizza)は、予期される動作である field foodのすべての用語beercola、およびPizzaを含むドキュメントのみを返します。

しかし、ユーザーが複数のフィールドで検索すると、Solr はq.op構成を忘れているようで、パラメーターがORに設定されているかのように動作します。

たとえば、クエリfood:(beer cola Pizza) AND color:(green yellow blue)は、フィールドfoodに単語beercola OR ピザのいずれかを含むすべてのドキュメントと、単語greenyellow ORのいずれかを含むドキュメントを返します。予想される動作ではないフィールドの色の青。

回避策は、次のように+ 演算子を使用して各用語を明示的に準備することです: food:(+beer +cola +pizza) AND color:(+green +yellow +blue)

しかし、この演算子を Java-webapplication に追加する必要があります。これは一種の「ハード コード」機能です。ユーザーがq.op演算子をORに戻すことを決定した場合、ハードコードされた+が問題を引き起こすと思います。

構成によって期待される検索結果に到達する方法はありますか?

4

0 に答える 0