得分机制和思想
对于搜索,一般包括从库里通过query搜索出docs并排序。
本质上是一个排名问题,检索的话比较简单,可以通过倒排文档的思路,直接通过词找到包括该词的文档(最原始的思路)。
lucene也是利用了两类模型:布尔模型和向量空间模型; [布尔模型]{
http://blog.csdn.net/iterate7/article/details/77206613}负责检索到数据; 向量空间模型负责得分排序。
所谓的向量空间模型,可以理解为:query和doc都会映射为一个vector,通常情况下是term vectors;而权重则选择tf-idf,在同一个特征空间进行计算排序。
Lucene combines Boolean model (BM) of Information Retrieval with Vector Space Model (VSM) of Information Retrieval - documents “approved” by BM are scored by VSM.
评分公式
VSM评分公式
cosine−similarity=V(q)⋅V(d)|V(q)||V(d)| c o s i n e − s i m i l a r i t y = V ( q ) ⋅ V ( d ) | V ( q ) | | V ( d ) |
lucene概念评分公式
score(q,d)=coord−factor(q,d)⋅query−boost(q)