Zapytanie o filtr Solr zawierające NOT i OR
W przypadku zapytania filtrującego w Solr muszę dołączyć wszystkie dokumenty nie określonego typu oraz wszelkie dokumenty tego typu, które mają wartość w określonym polu.
Próbowałem tego:
fq=(-type_id:(A) OR content:(['' TO *]))
Ale to wyklucza dokumentytype_id
B, C itd., Które mają wartość nullcontent
. (type_id
jeststring
pole icontent
jesttext
.)
Widziałem to pytanie:Złożone zapytanie SOLR, w tym NOT i OR i ten post o operatorach:http://robotlibrarian.billdueber.com/2011/12/solr-and-boolean-operators/. Myślę, że składnia, którą mam, powinna być poprawna. Czy ktoś może zobaczyć mój błąd?
Aktualizacja: Używam LuceneQParser. Analizuje zapytanie filtrowania powyżej jako
-type_id:A content:['' TO *]
Analizuje zapytanie filtrów sugerowane w komentarzach (-type_id:A OR (content:[* TO *] AND type_id:A)
) tak jak
-type_id:A (+content:[* TO *] +type_id:A)
więc nie ma wyników.