このクエリに関して、何か見落としている点はありますか?(ORを使用した奇妙な結果について)

トピック作成者:ks-solruserml-bot (2024/09/22 21:04 投稿)
2
OpenOpen

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

以下のようなクエリが

someotherconditions OR -field:value

someotherconditions OR (-field:value)

で異なる結果を返すのは、予期される動作でしょうか?

私には、最初のクエリが、ORではなくANDのように動作しているように思えます。

ありがとうございます!

返信投稿者:ks-solruserml-bot (2024/09/22 21:04 投稿)

ネガティブクエリの面白い世界へようこそ。

このクエリをあいまいさを排除して構築する方法は次の通りです:

someotherconditions OR (*:* -field:value)

問題が発生する理由は、ネガティブな句(-field:value)が減算として解釈されるからです。最初のクエリは基本的に「これらの条件を満たすドキュメントをすべて取得し、さらに 'field' が 'value' のドキュメントを差し引く」という内容になります。おそらく、これはあなたが求めている結果ではないはずです。

2番目の形式では、ネガティブクエリが括弧で分離されているため、Solrは正しくない構文を検出し、自動的に「すべてのドキュメント」をネガティブクエリの前に追加します。結果的に、上で示したクエリが効果的に使用されます。

Solrは、他の句と混ざっていない場合にのみ、純粋なネガティブクエリを検出することができます。

ありがとうございます。
Shawn

返信投稿者:ks-solruserml-bot (2024/09/22 21:04 投稿)

ご説明ありがとうございます!

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

KandaSearch

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

投稿の削除

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