2009-10-07 10 views
7

Ich weiß, es dauert in einem Float, aber was sind einige typische Werte für verschiedene Ebenen der Steigerung innerhalb eines Ergebnisses?Lucene/Lucene.NET - Document.SetBoost() Werte?

Zum Beispiel:

Wenn ich eines Dokuments Gewichtung von 10% steigern wollte dann sollte ich es 1,1 eingestellt? Für 20% dann 1,2?

Was passiert, wenn ich anfange, Boosts auf Werte wie 75.0 zu setzen? oder 500.0?

Edit: Feste Formatierung

Antwort

6

Bitte beachten Sie die Lucene Similarity Documentation für die Formel. Im Prinzip, wenn alle anderen Faktoren gleich sind, wird der Boost eines Dokuments auf 1,1 erhöht, was einem 10% höheren Wert gegenüber einem identischen Dokument mit einem Boost von 1,0 entspricht. Wenn Sie eine Reihe von Dokumenten haben, die bei Suchanfragen grundsätzlich bevorzugt werden sollten, ist dies eine gute Idee. Beachten Sie, dass die Dokumentenanhebung ein Indexierungszeitattribut ist, das es unmöglich macht, den Boost des Dokuments zu ändern, ohne es neu zu indizieren. Es gibt noch andere wichtige Faktoren beim Scoring - einschließlich Term Match Scores, Normen usw. Siehe Debugging Relevance Issues in Search für Details.

+1

Aber beachten Sie, dass Dokument-und Feld-Boosts in einem einzigen Byte, mit einer 3-Bit-Mantisse codiert - so dass jede Differenz von weniger als 25% völlig unbemerkt bleiben kann. – jsalvata

2

Hinzufügen zu dem, was Yuval gesagt hat. Dieser Wert ist eine Funktion der Feldverstärkung & Dokumentenanhebung. Die Boost-Werte sind in einem einzigen Byte codiert. Daher kann beim Speichern dieses Werts die Genauigkeit verloren gehen. Debuggen mit Searcher.Explain() würde Ihnen helfen, die richtige Menge an Boost zu bekommen.

Wenn der Boost-Wert beibehalten werden soll (z. B. wenn Sie den Index vom aktuellen Index neu erstellen möchten), können Sie ihn in einem gespeicherten Feld hinzufügen.

2

Die wichtige Sache, an die man sich erinnern sollte, ist nicht isoliert zu gehen, man muss es als Teil einer globalen Strategie betrachten, eine Liste von jedem Kriterium erstellen, um die Relevanz zu bestimmen und dann diese Kriterien zu ordnen. Definieren Sie eine Beziehung zwischen jedem dieser Kriterien. Wenn Sie regelmäßig neue Indizierung vornehmen oder nur neue Dokumente hinzufügen, können Sie es sich bei einer regelmäßigen Neuindizierung leisten, Ihre Kriterien für die Dokumentenerhöhung zu optimieren, wenn Sie dies nicht vorher gründlich durchdenken müssen.

Verwandte Themen