Können Sie OR-Abfragen für bestimmte Felder erstellen? Zum Beispiel könnten Sie (main_ref_number_tesim:(1920.1*)) OR (main_ref_number_tesim:(1920.2*))
tun?Es konnten keine beabsichtigten Ergebnisse mit "OR" in bestimmten Feldern in der normalen Abfrage abgerufen werden. Kann Solr OR-Anfragen zu bestimmten Feldern machen?
Ich habe die documentation für unsere Version (5.5) lesen und sie verwenden Beispiele ohne bestimmten Bereichen, wie zum Beispiel:
"jakarta apache" jakarta
oder
"jakarta apache" OR jakarta
HINWEIS: Ich bin in der Lage, die beabsichtigten Ergebnisse mit Filter zu erhalten r-Abfragen, aber mein Ziel ist es, die gleichen Ergebnisse mit einer normalen Abfrage zu erhalten. Der fq, der funktioniert, ist main_ref_number_tesim:(1920.1* 1920.2*)
.
EDIT1: Die regelmäßigen Abfragen habe ich versucht, die funktionieren sollte, aber nicht funktionieren, sind:
(main_ref_number_tesim:(1920.1*)) OR (main_ref_number_tesim:(1920.2*))
main_ref_number_tesim:(1920.1* OR 1920.2*)
main_ref_number_tesim:(1920.1* 1920.2*)
Ja, das sollte funktionieren. 'main_ref_number_tesim: (1920.1 * OR 1920.2 *)' sollte auch funktionieren. Was hast du versucht, das funktioniert nicht? – MatsLindh
@MatsLindh richtig? Ich habe die Abfragen hinzugefügt, die ich bereits in EDIT1 probiert habe, hoffe es hilft. – RudyOnRails
Nun, es hängt auch vom Typ des Feldes ab - wenn Sie einen Tokenizer haben, der sich auf '.' teilt (wie der Standardtokenizer, iirc), werden Sie bei der Platzhaltersuche niemals _any_ Übereinstimmungen bekommen, aber dann ist das seltsam Die Filterabfrage funktioniert. Eine Filterabfrage und eine reguläre Abfrage sind identisch, aber Sie verwenden möglicherweise einen anderen Abfrageparser für die Verarbeitung von 'q'. – MatsLindh