`

lucene score explain 评分解释说明

阅读更多
通过Searcher.explain(Query query, int doc)方法可以查看某个文档的得分的具体构成。

在Lucene中score简单说是由 tf * idf * boost * lengthNorm计算得出的。
(复杂的请看相关文档)。
tf:是查询的词在文档中出现的次数的平方根
idf:表示反转文档频率,观察了一下所有的文档都一样,所以那就没什么用处,不会起什么决定作用。
boost:激励因子,可以通过setBoost方法设置,需要说明的通过field和doc都可以设置,所设置的值会同时起作用
lengthNorm:是由搜索的field的长度决定了,越长文档的分值越低。


具体说明:

用IndexSearch.explain(query,docId)可以查看score的评分信息,如当我们用"美女"在description这个field里面搜索时,信息如下:

引用

      1.446873 = (MATCH) fieldWeight(description:美女 in 5134), product of:
        1.0 = tf(termFreq(description:美女)=1)
        5.787492 = idf(docFreq=599, maxDocs=72000)
        0.25 = fieldNorm(field=description, doc=5134)

第一行表示总得分:document(docId=5134)的score为1.446873,它由下面的三个值相乘得来:1.446873 = 1.0 * 5.787492 × 0.25

第二行表示项频率:在document(docId=5134)description这个filed中共出现了1个"美女"关键词,1.0是由根号1算出来的。
第三行表示反转文档频率:含有"美女"关键词的document共有599个,总的document有72000,5.787492是由
ln(72000/(599+ 1) )+ 1.0 =ln(72000) -ln(600) +1  = 5.787492
第四行表示域的加权长度因子:fieldNorm = fieldboost / sqrt(fieldlength),其中fieldlength为keywords这个field的token(分词)数量

分享到:
评论

相关推荐

    lucene 自定义评分

    然而,Lucene 的默认评分机制可能无法满足所有场景下的需求,这就需要我们对其进行自定义评分来实现特定的权重分配。本文将深入探讨如何在 Lucene 中实现自定义评分,以及它对提高搜索质量的重要性。 在 Lucene 中...

    lucene评分公式详解

    本文将深入探讨Lucene的评分公式,理解其工作原理,并探讨如何通过自定义评分公式来影响搜索结果的排序。 首先,我们要了解Lucence默认的评分公式,这是TF-IDF(Term Frequency - Inverse Document Frequency)的...

    整理Lucene.net一些简单属性说明

    标题:“整理Lucene.net一些简单属性说明” 在信息技术领域,搜索引擎是不可或缺的一部分,而Lucene.net作为Apache Lucene的.NET版本,为开发者提供了一套强大的全文搜索功能。这个文档将对Lucene.net的一些核心...

    lucene打分公式解释

    lucene打分公式解释,非常详细,帮助理解搜索ranking.

    Lucene5学习之评分Scoring

    《Lucene5学习之评分Scoring》 在信息检索领域,Lucene是一个广泛使用的全文搜索引擎库,尤其在Java开发中应用颇广。在Lucene 5版本中,对于搜索结果的排序和评分机制进行了优化,使得搜索体验更加精准。本文将深入...

    Lucene示例 BM25相似度计算

    在IT领域,搜索引擎技术是至关重要的,而Lucene作为一个开源全文搜索引擎库,广泛应用于各种文本检索系统中。本文将深入探讨Lucene示例中的BM25相似度计算,旨在帮助初学者理解如何利用Lucene 4.7.1版本构建索引、...

    \Lucene Nutch和安装说明文旦

    描述中的“LuceneChapter12 光盘使用说明.DOC”可能是指一份包含第12章内容的文档,这部分可能详细解释了如何在实际操作中运用Lucene和Nutch,尤其是光盘中的资源如何被利用。 **Lucene详解** Apache Lucene是一个...

    Lucene 评分机制

    在深入探讨Lucene的评分机制之前,我们首先要理解搜索引擎的基本工作流程,这通常包括索引构建、查询解析和结果排序三个阶段。在Lucene中,评分机制(Scoring Mechanism)就是用于决定文档与查询匹配程度的关键部分...

    lucene,lucene教程,lucene讲解

    lucene,lucene教程,lucene讲解。 为了对文档进行索引,Lucene 提供了五个基础的类 public class IndexWriter org.apache.lucene.index.IndexWriter public abstract class Directory org.apache.lucene.store....

    Lucene.Net源码与说明文档

    **Lucene.Net** 是一个基于 .NET Framework 的全文搜索引擎库,它是 Apache Lucene 项目的 .NET 实现。这个开源项目提供了高效、可扩展的搜索功能,使得开发者能够在其应用程序中轻松地实现高级的文本检索功能。 **...

    lucene3.0 lucene3.0

    lucene3.0 lucene3.0 lucene3.0 lucene3.0 lucene3.0

    lucene-搜索过程源码解析-Score树

    标题与描述均聚焦于“Lucene搜索过程源码解析—Score树”,这表明文章将深入探讨Lucene这一流行的信息检索库在实现搜索功能时的核心机制之一:Score树。Lucene是一个开源的全文检索引擎工具包,它提供了创建索引、...

    Lucene3.5源码jar包

    以下是对这个版本中一些关键知识点的详细说明: 1. **索引结构**:Lucene的核心在于其高效的倒排索引结构。在源码中,你可以看到`IndexWriter`类如何处理文档的添加、删除和更新,以及`SegmentMerger`如何合并多个...

    Lucene资料大全(包括Lucene_in_Action书等)

    它可能以简洁易懂的方式解释Lucene的关键概念,对于快速入门Lucene是非常有价值的资源。 总的来说,这个压缩包提供了一个全面的Lucene学习路径,既有理论书籍也有实践教程,对于想要深入理解或开始使用Lucene的人来...

    Java搜索引擎 Lucene

    5. **排序和评分**:Lucene提供TF-IDF等算法对搜索结果进行评分,可以根据评分进行排序。 6. **结果展示**:将搜索结果转换为用户友好的格式展示给用户。 在实际应用中,Lucene通常与Solr或Elasticsearch等工具结合...

    lucene-4.7.0全套jar包

    2. **搜索算法**:Lucene实现了布尔、短语、模糊、评分等高级搜索算法,使得用户可以灵活地构造复杂的查询条件。 3. **高性能**:Lucene通过内存缓存、位向量和优化的数据结构来提高搜索速度。同时,它支持多线程...

    lucene in action英文版 lucene 3.30包

    《Lucene in Action》是关于Apache Lucene的权威指南,这本书深入浅出地介绍了全文搜索引擎的构建和优化。Lucene是一个高性能、全文本搜索库,它允许开发人员在应用程序中轻松实现复杂的搜索功能。这本书主要面向...

    Lucene的原理完整版pdf

    3. **评分(Scoring)**:Lucene使用TF-IDF算法来评估文档与查询的相关性,给出一个评分。评分高的文档在搜索结果中优先显示。 4. **结果集(Hit)**:搜索返回一个`TopDocs`对象,包含匹配文档的总数和最高评分的...

    lucene整理文档,lucene详细描述,安装使用过程。

    TF-IDF(词频-逆文档频率)是 Lucene 默认的评分算法,但也可以自定义评分函数以满足特定需求。 **优化与更新** 为了提高性能,Lucene 提供了合并段(Merge Segments)的操作,可以定期或在添加大量新数据后进行,...

Global site tag (gtag.js) - Google Analytics