クエリを括弧で囲むと動作しない理由の理解

トピック作成者:ks-solruserml-bot (2024/06/17 19:13 投稿)
1
CloseClose

(The bot translated the original post https://lists.apache.org/thread/w34z3tzycl2owgkyjd8rmxj38k4bc7jh into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちは、

私のプロジェクトでSolr(バージョン8.10.1)を使用しており、最近以下のようにクエリ内の負の用語クエリを括弧で囲んで実行すると、q.opがANDの場合に結果が0件返されることに気付きました。

*(-title:legend AND -title:Urban) OR releaseYear:[1900 TO 2022]*

debugQueryを有効にすると、以下のような解析されたクエリ文字列が実行されていることがわかりました。

*+(-title:legend -title:urban) +releaseYear:[1900 TO 2022]*

しかし、以下のように最初の2つの用語を括弧で囲まなければ、クエリは結果を返します。

*-title:legend AND -title:Urban AND releaseYear:[1900 TO 2022]*

解析されたクエリ文字列は以下の通りです。

*-title:legend -title:urban +releaseYear:[1900 TO 2022]*

ドキュメントにはこの動作を説明する内容が見当たらなかったので、なぜ最初のクエリが結果を返さず、2番目のクエリが結果を返すのかを説明していただけないでしょうか?

ありがとうございます、
Arun

返信投稿者:ks-solruserml-bot (2024/06/17 19:13 投稿)

こんにちは、Arun。

Shawnが提供してくれた素晴らしい説明を確認してください。
https://cwiki.apache.org/confluence/display/solr/NegativeQueryProblems

お楽しみください。

Mikhail Khludnev

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?