Lucene相关度排序

什么是相关度排序

Lucene对查询关键字和索引文档的相关度进行打分,得分高的就排在前边。

如何打分

Lucene是在用户进行检索时实时根据搜索的关键字计算出来的,分两步:

  1. 计算出词(Term)的权重
  2. 根据词的权重值,计算文档相关度得分。明确索引的最小单位是一个Term(索引词典中的一个词),搜索也是要从Term中搜索,再根据Term找到
    文档,Term对文档的重要性称为权重,影响Term权重有两个因素:
    2.1 Term Frequency (tf): 指此Term在此文档中出现了多少次。tf 越大说明越重要。 词(Term)在文档
    中出现的次数越多,说明此词(Term)对该文档越重要,如“Lucene”这个词,在文档中出现的次数
    很多,说明该文档主要就是讲Lucene技术的
    2.2 Document Frequency (df): 指有多少文档包含次Term。df 越大说明越不重要。 比如,在一篇英
    语文档中,this出现的次数更多,就说明越重要吗?不是的,有越多的文档包含此词(Term), 说明
    此词(Term)太普通,不足以区分这些文档,因而重要性越低。

怎样影响相关度排序

boost是一个加权值(默认加权值为1.0f),它可以影响权重的计算

  • 在索引时对某个文档中的field设置加权值高,在搜索时匹配到这个文档就可能排在前边。
  • 在搜索时对某个域进行加权,在进行组合域查询时,匹配到加权值高的域最后计算的相关度得分就
    高。
    设置boost是给域(field)或者Document设置的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值