4 Stimmen

Solr/Lucene: Was ist der Unterschied zwischen regulären Abfragen und Filterabfragen

Ich bin gerade dabei, eine Solr-Lösung zu implementieren, bei der ein Benutzer verschiedene Optionen für die Suche nach einem Produkt auswählen kann. Ich kann nun all diese Optionen nehmen und sie in einer einzigen langen Abfrage zusammenfassen, oder ich kann eine Abfrage verwenden, die alles abruft (*:*) und Abfragefilter darauf anwendet.

Regelmäßige Abfrage:

q=color:blue AND price:500

Abfrage mit Filterabfragen:

q=*:*&fq=color:blue&fq=price:500

Das Ergebnis ist genau dasselbe. Worin besteht also der Unterschied? Wann sollte ich das eine oder das andere verwenden?

4voto

sushant Punkte 1091

Filterabfragen haben keinen Einfluss auf die Bewertung des Dokuments. Außerdem sind sie nützlich beim Caching, die mit fq angegebenen Abfragen werden unabhängig von der Hauptabfrage gecached Dokument für Solr-Abfrageparameter

0voto

Johan Sjöberg Punkte 45671

In einem Produktionssystem verwenden Sie normalerweise eine Variante der Dismax Request Handler, der die frühere Syntax nicht unterstützt, daher muss die Filterung mit Filterabfragen in diesem Fall.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X