Was ist die Verwendung von Feld.Set OmitNorms(true); in lucene
Ich habe vorgeschlagen worden, um Feld verwenden.Set OmitNorms(true); beim erstellen der Dokumente für lucenesearch zu Sortieren das Ergebnis nach der Anzahl der Treffer, aber ich bin nicht klar, was es tut und ist es sicher.
Sortieren Sie das Ergebnis nach der Anzahl der Treffer bedeutet, dass das Dokument, in dem Suchtext gefunden wird, die maximale Anzahl der Zeiten, die kommen sollten, auf die Spitze, gefolgt b der diejenigen, die mit weniger Anzahl der Treffer für die Suche text.
Ich weiß, das ist albern, aber ich möchte wissen, bevor ich diese umsetzen bitte helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check-out dieser Artikel für einen guten Absatz Beschreibung von dem, was weglassen Normen nicht im Begriff der Optimierung.
Im Grunde ist es ein bisschen wie mit einem mini-lucene-index für die Begriffe innerhalb eines Feldes, so dass Ihr wirklich nur sinnvoll für Felder, die würden viel text in Ihnen.
Standardmäßig ein Feld indiziert ist mit seinen
norm
, ein Produkt der document-boost, der boost und das Feld Länge Normalisierung Faktor (siehe Ähnlichkeit Wertung). Dies fügt ein byte in den Speicher und der Speicherverbrauch in jedem Bereich, was kann weggelassen werden für ausgewählte Felder oder Feldtypen mitomitNorms
.Das steigert die angegeben werden, indem während der Indizierung, während
lengthNorm
ist so berechnet, dass wenn zwei Dokumente, die mit einer Abfrage übereinstimmen Begrifff
Zeiten, die mehr dokumentieren, erhalten eine niedrigere Punktzahl.Also, wenn Sie möchten, dass Ihre Dokumente bewertet auf der Grundlage der genauen Anzahl der Begriffe aufeinander abgestimmt werden, anstatt die Anzahl der Begriffe im Verhältnis zu dem Dokument, Länge, verwenden Sie
omitNorms
(und der Speicherverbrauch Vorteile frei).