2017-01-23 1 views
0

Ich bin neu in Solr und versuche, einige Dokumente zu indizieren, wo jedes Dokument ein JSON ist. Es gibt einige Dokumente, deren Bewertung hoch sein sollte, aber eine sehr niedrige Punktzahl haben. Der Feldtyp, für den ich abfrage, ist text_general. Benötigen Sie ein Verständnis der Felder wie tfNorm, Feldlänge usw.Understanding Scoring in Solr

Attached ist das Ergebnis der Debug-Abfrage.

"718152d81b4db95f":"\n1.0891073 = sum of:\n 0.5578956 = weight(channel_genre:sports in 53) [SchemaSimilarity], result of:\n 0.5578956 = score(doc=53,freq=11.0 = termFreq=11.0\n), product of:\n  0.29769886 = idf(docFreq=223, docCount=300)\n  1.8740268 = tfNorm, computed from:\n  11.0 = termFreq=11.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  256.0 = fieldLength\n 0.53121173 = weight(channel_genre:kids in 53) [SchemaSimilarity], result of:\n 0.53121173 = score(doc=53,freq=12.0 = termFreq=12.0\n), product of:\n  0.27996004 = idf(docFreq=227, docCount=300)\n  1.8974556 = tfNorm, computed from:\n  12.0 = termFreq=12.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  256.0 = fieldLength\n", 
    "7071fa048f60603":"\n1.0834496 = sum of:\n 0.5491592 = weight(channel_genre:sports in 75) [SchemaSimilarity], result of:\n 0.5491592 = score(doc=75,freq=23.0 = termFreq=23.0\n), product of:\n  0.29769886 = idf(docFreq=223, docCount=300)\n  1.8446804 = tfNorm, computed from:\n  23.0 = termFreq=23.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  655.36 = fieldLength\n 0.53429043 = weight(channel_genre:kids in 75) [SchemaSimilarity], result of:\n 0.53429043 = score(doc=75,freq=29.0 = termFreq=29.0\n), product of:\n  0.27996004 = idf(docFreq=227, docCount=300)\n  1.9084525 = tfNorm, computed from:\n  29.0 = termFreq=29.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  655.36 = fieldLength\n", 
    "17e4a205707dc974":"\n1.0824875 = sum of:\n 0.62048614 = weight(channel_genre:sports in 64) [SchemaSimilarity], result of:\n 0.62048614 = score(doc=64,freq=24.0 = termFreq=24.0\n), product of:\n  0.29769886 = idf(docFreq=223, docCount=300)\n  2.0842745 = tfNorm, computed from:\n  24.0 = termFreq=24.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  163.84 = fieldLength\n 0.46200132 = weight(channel_genre:kids in 64) [SchemaSimilarity], result of:\n 0.46200132 = score(doc=64,freq=4.0 = termFreq=4.0\n), product of:\n  0.27996004 = idf(docFreq=227, docCount=300)\n  1.6502403 = tfNorm, computed from:\n  4.0 = termFreq=4.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  163.84 = fieldLength\n", 
    "1a48c3a658cc07af":"\n1.0820175 = sum of:\n 0.58498204 = weight(channel_genre:sports in 59) [SchemaSimilarity], result of:\n 0.58498204 = score(doc=59,freq=16.0 = termFreq=16.0\n), product of:\n  0.29769886 = idf(docFreq=223, docCount=300)\n  1.9650128 = tfNorm, computed from:\n  16.0 = termFreq=16.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  256.0 = fieldLength\n 0.49703547 = weight(channel_genre:kids in 59) [SchemaSimilarity], result of:\n 0.49703547 = score(doc=59,freq=8.0 = termFreq=8.0\n), product of:\n  0.27996004 = idf(docFreq=227, docCount=300)\n  1.7753801 = tfNorm, computed from:\n  8.0 = termFreq=8.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  256.0 = fieldLength\n", 
    "e073dacae12f494b":"\n1.0804946 = sum of:\n 0.5613358 = weight(channel_genre:sports in 17) [SchemaSimilarity], result of:\n 0.5613358 = score(doc=17,freq=19.0 = termFreq=19.0\n), product of:\n  0.29769886 = idf(docFreq=223, docCount=300)\n  1.8855827 = tfNorm, computed from:\n  19.0 = termFreq=19.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  455.1111 = fieldLength\n 0.51915884 = weight(channel_genre:kids in 17) [SchemaSimilarity], result of:\n 0.51915884 = score(doc=17,freq=17.0 = termFreq=17.0\n), product of:\n  0.27996004 = idf(docFreq=227, docCount=300)\n  1.8544034 = tfNorm, computed from:\n  17.0 = termFreq=17.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  455.1111 = fieldLength\n", 
    "c69628bbb1d9f3ca":"\n1.0785265 = sum of:\n 0.55884564 = weight(channel_genre:sports in 96) [SchemaSimilarity], result of:\n 0.55884564 = score(doc=96,freq=14.0 = termFreq=14.0\n), product of:\n  0.29769886 = idf(docFreq=223, docCount=300)\n  1.877218 = tfNorm, computed from:\n  14.0 = termFreq=14.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  334.36734 = fieldLength\n 0.51968086 = weight(channel_genre:kids in 96) [SchemaSimilarity], result of:\n 0.51968086 = score(doc=96,freq=13.0 = termFreq=13.0\n), product of:\n  0.27996004 = idf(docFreq=227, docCount=300)\n  1.8562679 = tfNorm, computed from:\n  13.0 = termFreq=13.0\n  1.2 = parameter k1\n  0.75 = parameter b\n  142.80667 = avgFieldLength\n  334.36734 = fieldLength\n", 

Nach der Abfrage, die ich die Partitur von „c69628bbb1d9f3ca“ eingereicht haben, sollte höher sein als der andere documents.What sein, die ich hier zu verstehen, bin fehlt. Bitte erkläre.

Antwort

0

Von der Fehlersuche abfragst du das Feld channel_genre. Für das Feld c69628bbb1d9f3ca wird die Punktzahl durch die Anzahl der Terme und die Feldlänge beeinflusst, aber die Ergebnisse unterscheiden sich nur marginal in den Ergebnissen.

  • Begriff Frequenz an, wie oft ein Begriff erscheint im Feld, mehr Spiele, desto wichtiger ist das Ergebnis
  • Feldlänge - kürzere Felder sind weniger wahrscheinlich Treffer enthalten, um einen Schub zu bekommen.

Verwenden Sie den Standardabfrageparser?

Vielleicht können Sie erklären, warum Sie die Ergebnisse für falsch halten?

Beachten Sie auch omitNorms = "true", wenn Sie die Längennormalisierung deaktivieren möchten.

+0

In Solr die Abfrage - channel_genre: 'Sport' AND channel_genre: 'Kinder', dh (Anzahl der Nutzer, die beiden Kinder und Sport Pre-dominante sehen) Anzahl der zurückgegebenen Dokumente: 150 Maximum-Score: 1,2256454 I hatte speziell 100 Benutzer hinzugefügt, die sowohl Kinder als auch Sport häufig beobachten, um zu überprüfen, ob sie in Top 100 fallen. Aber es gibt 6 Benutzer, die unter 100 fallen und "c69628bbb1d9f3ca" ist ein solcher Benutzer. Ich wollte nur wissen, ob die Feldlänge einen großen Einfluss auf das Ergebnis hat oder nicht. – annu

+0

Angesichts der Nähe der Ergebnisse der Felder, die Sie gepostet haben, würde ich sagen, dass es in diesem Fall tut. –

+0

BTW haben Sie in Erwägung gezogen, omitNorms = "true" auf Ihrem Feld zu verwenden (sollte die Längennormalisierung deaktivieren) –