0
点赞
收藏
分享

微信扫一扫

Elasticsearch-倒排索引和TF-IDF打分


正向索引

正向索引的执行流程:

  1. 输入的关键字 keyword1
  2. 查询 id=1 中的所有 keyword
  3. 查询 id=2 中的所有 keyword
  4. 查询 id=3 中的所有 keyword
  5. 返回结果
  6. Elasticsearch-倒排索引和TF-IDF打分_倒排索引

  7. 以上可以看出查询某关键字的索引需要将所有的关键字都进行遍历并进行匹配。

为了解决以上搜索的弊端,引出倒排索引!

倒排索引

倒排索引以关键字为索引,当查询keyword1时只需要进入keyword1的记录中进行查询即可。

Elasticsearch-倒排索引和TF-IDF打分_搜索引擎_02

TF-IDF打分

如图:当hello在多个ID命中时,哪一个ID的匹配度更好呢?TF-IDF打分即解决该问题。

Elasticsearch-倒排索引和TF-IDF打分_索引_03


名词解释:

  • TF:词频,每一个ID中包含的关键字hello越多表明该值越高。
  • DF:文档频率,上图中的ID个数
  • IDF:对DF取反即: 1/DF
  • TF-IDF: TF*IDF

如上图hello出现的在ID中的次数为3,即 DF = 3 ,IDF = 1/3
id为1中 hello 出现1次,TF-IDF = 1/3 = 0.33
id为2中 hello 出现3次,TF-IDF = 3/3 = 1
id为3中 hello 出现1次,TD-IDF = 1/3 = 0.33

TF-IDF 分值越高则搜索的优先级越高


举报

相关推荐

0 条评论