When we run a simple term
query with explain
set to true
(see Understanding the Score), you will see that the only factors involved in calculating the score are the ones explained in the preceding sections:
PUT /my_index/doc/1
{ "text" : "quick brown fox" }
GET /my_index/doc/_search?explain
{
"query": {
"term": {
"text": "fox"
}
}
}
The (abbreviated) explanation
from the preceding request is as follows:
weight(text:fox in 0) [PerFieldSimilarity]: 0.15342641
result of: fieldWeight in 0 0.15342641 product of: tf(freq=1.0), with freq of 1: 1.0
idf(docFreq=1, maxDocs=1): 0.30685282
fieldNorm(doc=0): 0.5
The final |
|
The term |
|
The inverse document frequency of |
|
The field-length normalization factor for this field. |
Of course, queries usually consist of more than one term, so we need a way of combining the weights of multiple terms. For this, we turn to the vector space model.
见:https://www.elastic.co/guide/en/elasticsearch/guide/current/scoring-theory.html
本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6473226.html,如需转载请自行联系原作者