Ich benutze Solr 6.6.0, und hier sind die Dokumente in der Sammlung.Negativer Operator (NOT, -,!) Im Solr-Abfrage-String funktioniert nicht mit Klammern
{"id":1,"content":test1"}
{"id":2,"content":test2"}
{"id":3,"content":test3"}
Sagen wir, ich wanto die Dokumente nicht enthalten „Test1“ und „Test2“ enthält, scheint es legal, die Query-String in der folgenden Art und Weise zu schreiben, nach dem Grouping Terms to Form Sub-Queries Abschnitt refernce Führung.
content:((NOT "test1") AND (NOT "test2"))
Das Ergebnis der Abfrage ist die erwartete Rückkehr nur Dokument # 3, aber das tatsächliche Ergebnis ist leer.
Wenn die obige Abfrage geändert wird, ohne dass Klammern die "NOT-Ausdrücke" umgeben, wird das erwartete Ergebnis zurückgegeben.
Meine Frage ist, warum der erste Abfrage-String nicht in der erwarteten Weise funktioniert?
Gute Antwort! Beachten Sie, dass dies auch funktionieren sollte: '-content :(" test1 "ODER" test2 ")' Das ist äquivalent zu '*: * NOT content :(" test1 "ODER" test2 ")', äquivalent zu '*: * UND Inhalt: (NICHT "test1" UND NICHT "test2") ' – EricLavault