lucene 文档评分 及 CustomScoreQuery

原创 2016年05月31日 19:52:59

1.评分

评分公式可见《lucence 文档评分公式》

2.解释

org.apache.lucene.search.Explanation
类,用于解释评分细节。
String org.apache.lucene.search.Explanation.toString()
文本格式输出。
String org.apache.lucene.search.Explanation.toHtml()
html格式输出。例子见图2-1.

图2-1 toHtml()格式的explanation

Explanation org.apache.lucene.search.IndexSearcher.explain(Query query, int doc)

给出doc对于query的评分。这个操作代价比较昂贵,等同于在整个索引上执行这个query。

3.自定义评分

场景:对最近修改过的文档进行加权。

3.1相关类

org.apache.lucene.queries.CustomScoreQuery
定制化评分的Query。
CustomScoreProvider org.apache.lucene.queries.CustomScoreQuery.getCustomScoreProvider(LeafReaderContext context)
拿到含有评分逻辑的CustomScoreProvider。
org.apache.lucene.queries.CustomScoreProvider
含有定制化评分逻辑的类。
float org.apache.lucene.queries.CustomScoreProvider.customScore(int doc, float subQueryScore, float valSrcScore)
一般会重写该方法。若认为这篇doc重要,可以return subQueryScore*加权程度。subQueryScore代表的是已有的评分,在此基础上进行干预更合理。


版权声明:

相关文章推荐

Lucene Similarity (Lucene 文档评分score机制详解

转自:http://hi.baidu.com/lewutian/blog/item/3a60a2faad97c912a8d3111a.html 文档的分值代表了该文档在特定查询词下对应的相关性高低,...

lucene评分分析2

在IndexSearcher类中有一个管理Lucene得分情况的方法,如下所示: public Explanation explain(Weight weight, int doc) throws ...

Lucene 3.6.2入门:高级搜索之自定义评分

public class AdvancedSearchByScore { private Directory directory; private IndexReader read...

Lucene评分机制

原文来自:http://www.blogjava.net/ashutc/archive/2011/04/15/348339.html 感觉写分比较细致。就转来留着 在IndexSearcher类...

​Elasticsearch 5.x (四) lucene 的评分机制

elasticsearch是基于lucene的,所以他的评分机制也是基于lucene的。评分就是我们搜索的短语和索引中每篇文档的相关度打分。 如果没有干预评分算法的时候,每次查询,lucene会...

Lucene的评分(score)机制的简单解释

引自http://www.javaeye.com/wiki/Lucene/1526-lucene-39-s-score-score-a-simple-mechanism-to-explain 通过Se...

lucene自定义评分域

搜索查询业务场景: 1:搜索一组数据,这些数据录入时间在3个月之内;提高权重。1年以内,权重不变;1年以前,降低查询权重; 2:如果 是vip客户,提高该用户下所在查询文档权重(类似百度的竞价排名);...

Lucene/solr的评分公式

1. lucene 评分公式 ( 评分公式中,对大多数因子的控制和实现都是通过Similarity抽象类的子类完成的。lucene默认使用DefaultSimilarity类。如果要详细了解的话可以直...

lucene5.3.1简单增删改查、评分、分页

lucene5.3.1简单增删改查、评分、分页 package com.innovate.test.lucene.demo; import java.io.IOException; imp...

Lucene评分score计算

文档Document和域Field加权 调用set
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)