Bereiche über Funktionen in Solr 1.4

Solr 1.4 enthält eine neue Funktion, die Bereichsabfragen oder Bereichsfilter über beliebige Funktionen ermöglicht. Sie ist als Standard-Solr-QParser-Plugin implementiert und kann daher überall dort verwendet werden, wo die Standard-Solr-Query-Syntax akzeptiert wird, indem der Typ der Bereichsabfrage angegeben wird. Hier ist ein Beispiel für einen Filter, der die unteren und oberen Grenzen einer Funktion angibt:

fq={!frange l=0 u=2.2}log(sum(user_ranking,editor_ranking))

Ein weiterer interessanter Einsatzbereich von frange ist der Tausch von Speicher gegen Geschwindigkeit bei Bereichsabfragen für alle Arten von einwertigen Feldern. Sie können frange zum Beispiel für ein String-Feld verwenden, vorausgesetzt, es gibt nur einen Wert pro Feld und numerische Funktionen werden vermieden.

Hier ist zum Beispiel ein Filter, der nur Autoren zwischen martin und rowling zulässt und mit einer Standardbereichsabfrage angegeben wird:
fq=author_last_name:[martin TO rowling]

Und den gleichen Filter mit einer Funktionsbereichsabfrage(frange):
fq={!frange l=martin u=rowling}author_last_name

Dies kann zu erheblichen Leistungsverbesserungen bei Bereichsabfragen mit vielen Termen zwischen den Endpunkten führen, allerdings auf Kosten des Speichers für die nicht invertierte Form des Feldes (d.h. ein FieldCache-Eintrag – wie er auch für die Sortierung verwendet würde). Wenn das betreffende Feld bereits für die Sortierung oder andere Funktionsabfragen verwendet wird, entsteht kein zusätzlicher Speicheraufwand.

Das folgende Diagramm zeigt die Ergebnisse eines Tests von Bereichsabfragen im Vergleich zu Standardbereichsabfragen für ein Stringfeld mit 200.000 eindeutigen Werten. Frange war beispielsweise 14 Mal schneller bei der Ausführung einer Bereichsabfrage/eines Bereichsfilters, die/der 20% der Begriffe im Feld abdeckte. Bei engeren Bereichen, die weniger als 5 % der Werte abdeckten, schnitt die herkömmliche Bereichsabfrage besser ab.

Prozentsatz der abgedeckten Begriffe Schnellste Implementierung Beschleunigung (um wie viel schneller)
100% frange 43.32
20% frange 14.25
10% frange 8.07
5% frange 1.337
1% Abfrage des normalen Bereichs 3.59

Natürlich enthält Solr 1.4 auch die neue TrieRange-Funktionalität , die im Allgemeinen das beste Zeit-/Platzprofil für Bereichsabfragen über numerische Felder bietet.

Share the knowledge

You Might Also Like

Lucidworks zum Leader ernannt: Was das für die Suche, KI und Ihr Unternehmen bedeutet

Die Anerkennung von Lucidworks als Leader signalisiert, dass Unternehmenssuche und KI heute...

Read More

MCP vs. ACP: Was ist der Unterschied, und wann sollten beide verwendet werden?

Künstliche Intelligenz verändert die Art und Weise, wie Menschen mit Daten, Produkten...

Read More

Die Zukunft des digitalen Handels mit ACP: Von statischen Katalogen zu Agentenverhandlungen

Seit Jahrzehnten basiert der digitale Handel auf einem vertrauten Konzept: dem statischen...

Read More

Quick Links