2

シンプルなドメインがあります

FirstName_s:"Bob"

40のドキュメントを返し、

-Department_t:"Ninjas"

すべてのドキュメントを返します(忍者部門はありません)。

クエリを期待しました

(FirstName_s:"Bob") OR (-Department_t:"Ninjas")

すべてのドキュメントを返しますが、元の40個のドキュメントしか返しませんでした。

いくつかの異なる順序で実験し、「-」の代わりに「NOT」を使用してみましたが、まったく役に立ちませんでした。

これは予想される動作ですか?おそらくもっと重要なのは、どのようにして期待する動作を得るのかということです。

4

2 に答える 2

0

https://issues.apache.org/jira/browse/SOLR-2209に出くわしたので、かっこがエラーの原因になっている可能性があります。これは機能しますか?

FirstName_s:"Bob" OR -Department_t:"Ninjas"

ある意味でクエリを書き直して、OR( De_Morganの法則を使用)が含まれないようにしますか?

-(-FirstName_s:"Bob" AND Department_t:"Ninjas")
于 2012-04-04T18:42:13.460 に答える
0

これは、複数値フィールドとそれらが動作しない方法の問題であることが判明しました。

複数値フィールドのnotクエリをすべて次のように変更する必要がありました

(*:* -department_t:"Ninjas")
于 2012-04-05T15:19:30.370 に答える