2010-06-10 8 views

Répondre

3

Vous pouvez utiliser Query Highlighting.

+0

Comment cela peut-il aider? –

+0

La surbrillance de la requête met en évidence toutes les occurrences d'une requête dans un champ. –

1

Comme mentionné, utilisez debugQuery = true. La réponse inclura alors une section "explain". Par défaut, cela vous donnera un texte formaté terrible qui ressemble à ceci:

0.69102794 = (MATCH) weight(body:arrai^1.5 in 6357), product of: 
    0.46610788 = queryWeight(body:arrai^1.5), product of: 
    1.5 = boost 
    5.591044 = idf(docFreq=55709, maxDocs=5492855) 
    0.055577915 = queryNorm 
    1.4825494 = (MATCH) fieldWeight(body:arrai in 6357), product of: 
    2.828427 = tf(termFreq(body:arrai)=8) 
    5.591044 = idf(docFreq=55709, maxDocs=5492855) 
    0.09375 = fieldNorm(field=body, doc=6357) 

Pour chaque match dans chaque domaine, vous obtiendrez un bloc comme celui-ci qui explique comment SOLR calculé la pertinence de ce document à votre requête . Ce que vous demandez (nombre de correspondances dans le champ de ce document) SOLR appelle la fréquence de terme "tf". Vous pouvez le voir sur la 7ème ligne de la sortie que j'ai collée ci-dessus. Dans cette ligne, SOLR vous dit qu'il a trouvé 8 correspondances pour arrai dans le champ appelé "body".

Les autres lignes représentent des choses comme la fréquence de document inverse - "idf" (quel est le terme correspondant) et fieldNorm, qui se rapporte à la façon dont le champ du document est court par rapport à la correspondance. Vous pouvez en apprendre davantage à ce sujet ici: http://wiki.apache.org/solr/SolrRelevancyFAQ

Si vous avez besoin de cette information "expliquer" dans un format structuré au lieu de texte maladroit, vous pouvez passer ce paramètre avec votre requête: debug.explain.structured = true Cependant, c'est toujours joli difficile à utiliser =)

Questions connexes