進一步說搜索體驗,我們更希望檢索出來的數據是最想得到的數據;
這個其實就是關於文檔的【相關性得分】
進一步細節說:我們查詢的所有文檔,會在內部做一次相關性的評分score;然后會根據這個score從大到小的排序,依次展示給客戶端;
如何計算評分?
Elasticsearch使用的計算評分公式TF-IDF算法的實用計算公式如下:
score(q,d) coord(q,d)queryNorm(q)(tf (tind)idf (t)2 boost(t)norm(t,d))

IDF:逆向文檔率,詞在集合所有文檔里出現的頻率是多少?頻次越高,權重 越低
在我們實際的工作中,我們經常會控制boost來調整score(boost默認值是1)
創建索引和映射:
1):創建索引
2):創建映射
/**
* 創建映射
*/
3):創建Document實體類
package com.elasticsearch.bean;
/**
* Created by angel;
*/
public class Document {
private Integer id;
private String title;
private String content;
private String comment;
public Integer getId() {
return id;
}
public String getComment() {
return comment;
}
public String getContent() {
return content;
}
public String getTitle() {
return title;
}
public void setComment(String comment) {
this.comment = comment;
}
public void setContent(String content) {
this.content = content;
}
public void setId(Integer id) {
this.id = id;
}
public void setTitle(String title) {
this.title = title;
}
}
4):重新創建索引和映射,創建文檔
/**
* 創建文檔
* */
5):測試:
//TODO 如何讓id2 在 id1前面
