Solr-Filterabfrage mit NOT und OR

Für eine Filterabfrage in Solr muss ich alle Dokumente einschließen, die nicht von einem bestimmten Typ sind, sowie alle Dokumente dieses Typs, die einen Wert in einem bestimmten Feld haben.

Ich habe es versucht:

fq=(-type_id:(A) OR content:(['' TO *]))

Aber es schließt Dokumente von austype_id B, C usw., die null habencontent. (type_id ist einstring Feld undcontent isttext.)

Ich habe diese Frage gesehen:Komplexe SOLR-Abfrage einschließlich NOT und OR und dieser Beitrag über Betreiber:http://robotlibrarian.billdueber.com/2011/12/solr-and-boolean-operators/. Ich denke, dass die Syntax, die ich habe, korrekt sein sollte. Kann jemand meinen Fehler sehen?

Update: Ich benutze den LuceneQParser. Es analysiert die Filterabfrage oben als

-type_id:A content:['' TO *]

Es analysiert die in den Kommentaren vorgeschlagene Filterabfrage (-type_id:A OR (content:[* TO *] AND type_id:A)) wie

-type_id:A (+content:[* TO *] +type_id:A)

also keine ergebnisse.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage