基础概念
分词
- 模糊查询 like 其实是一种精确的查询
设有标题:i am a chinese
模糊查询只能插到相邻的词,如 am a
。不能查到分开的词,如 i chinese
所以需要有分词器,根据某种规则把
标题
和关键词
分词分词器搜索采用
倒排索引
的方式进行搜索
正向索引

但是这样会使每个 doc 都要遍历一遍,效率低
倒排索引
根据分词去分类文章,则只需查找对应关键词的分词即可,这样效率高效
TF-IDF打分
TF:词频,文档中包含多少个这个词,包含越多表面越相关
DF:文档频率,包含该词的文档数目
IDF:DF取反,即包含该词的文档数目越少越相关
TFNORM:词频归一化,词占文档全部词百分比
查询搜索关键词的详细打分过程
- 添加
"explain": true
GET /movie/_search { "explain": true, "query": { "match": { "title": "steve" } } }