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
ES 搜索结果expalain 可以类似数据库性能调优来看排序算法的选择
原文:http://www.cnblogs.com/bonelee/p/6473226.html