Die letzte Möglichkeit, dies zu lösen, war StackOverflow zu fragen.
Ich versuche eine Solr-Abfrage zu erstellen, um Dokumente zu erhalten, die einen bestimmten Wert für eines ihrer Felder haben oder die keinen Wert haben ...
Theoretisch hätte diese Abfrage funktionieren müssen.
Hier einige Informationen:
Abfrage: (Name: john) - & gt; Ergebnisanzahl: 15383 // Johns
Abfrage: (Name: {* TO *}) - & gt; Ergebnisanzahl: 61013 // Personen, die einen Namen haben
Abfrage: - (Name: {* TO *}) - & gt; Ergebnisanzahl: 216888 // Personen, die keinen Namen haben
Nun, wenn ich die erste und dritte Abfrage in einer Abfrage mit Operator ODER verwende, erwarte ich (216888 + 15383) Ergebnisse. Aber SOLR gibt 15383 Ergebnisse, ignoriert einfach den Effekt der dritten Abfrage:
Abfrage: + ((name: john) (- (name: {* TO *}))) // Dies ist die Abfrage, die ich verwendet habe.
Ist das ein Fehler von Solr oder mache ich Fehler bei der Abfrage? Das Zusammenführen von zwei Abfrageergebnissen ist eine zusätzliche Lösung, aber ich möchte keine zusätzliche Code-Implementierung durchführen, wenn ich dies mit einer einfachen Abfrage tun könnte.
Jede Hilfe wäre willkommen.