1. ホーム
  2. search

[解決済み] SolrのクエリでORとNOTを使用する

2023-05-25 21:40:19

質問

私は以下のようなsolrクエリに取り組んでいます。

((myField:superneat AND myOtherField:somethingElse) OR NOT myField:superneat)

これを実行すると、結果は何も返されません。 OR NOTのどちらかの側で基準を使用すると、期待通りの結果が返されます - ただ、うまく連動していないだけです。 この場合 myField が一致します。 スーパーフラット と一致することを確認するつもりです。 myOtherField が設定されていることを確認します。 somethingElse が設定されていますが、もし myField スーパーフラット であれば、それを結果に含めます。

なぜsolrはこの種のクエリに対して結果を返さないのか、誰か説明してください。 クエリーは何らかの方法で再構築されるべきでしょうか。あるいは、望ましい結果を得るために solr を使用できる別の方法があるのでしょうか。

どのように解決するのですか?

なぜうまくいかないのかわかりませんが、これは論理的に等価であり、それは がします。 が働きます。

-(myField:superneat AND -myOtherField:somethingElse)

クエリで同じフィールドを2回定義することと関係があるのかもしれません...。

で聞いてみてください。 solr-user group で聞いてみて、最終的な答えをここに書き込んでください!