Warum oder Wie gibt einen Rangwert FREETEXTTABLE höher als andere
-
03-07-2019 - |
Frage
Es ist ein Geschäft, das Verfahren zweimal auf zwei FREETEXTTABLE Tabellen verwendet und verschmilzt dann die Ergebnisse und gibt das Top-50
Das Problem ist, wenn ich eine Suche auf "Women of Brewster", die Ergebnisse liefern "Confession eines Ex doofus motha" mit einem Rang von 143 aus Tabelle A und die zweiten "Women of Brewster Place" mit einem Rang von 102 von Tabelle B.
Ist dies wegen der Zählung? (Tabelle A return Ergebnisse Insgesamt ist 2399. Tabelle B return Ergebnisse gesamt 3445 ist.)
Lösung
Die kurze Antwort:
Freitext-Ranking auf dem OKAPI basiert BM25-Ranking Formel. Jeder Begriff in der Abfrage rangiert, und die Werte sind summiert. Freitext-Abfragen werden hinzufügen Worte, um die Abfrage über inflectional Generation (dämmt Formen der Original-Abfragebegriffen); diese Worte als getrennte Begriffe mit nicht behandelt besondere Gewichtung oder Beziehung mit die Worte, aus denen sie waren erzeugt. Synonyme generiert aus der Thesaurus-Funktion wird behandelt, als separate gleich Bedingungen gewichtet werden.
Die viel länger und viel komplizierte Antwort auf Microsofts Website zu finden, natürlich. Für fortgeschrittene Mathematik, hier .
Andere Tipps
1) Die Rausch Datei auf wenige Zeichen beschränkt war, was bedeutet, dass das Wort „von“ jetzt wichtig ist, in Betracht ziehen.
2) Die beiden Tabellen Ergebnisse (count) spielen keine Rolle, da der kleinere Tisch wird höchstwahrscheinlich einen besseren Gewichtswert gegeben werden. Dies wird den Rang Skew höher zu sein in einem kleineren Tisch.
Josef Link zu MSDN groß war, herauszufinden, wie es den Rangwert berechnet.