`
allenson933
  • 浏览: 24190 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Lucene 评分机制

阅读更多

 

         lucene为每个与Query匹配的文档都赋予了一个分数,用这个分数来表示文档与Query的相似度。lucene采用的公式和老师所说的最常用公式有点相似

         Σt in q (t f (t in d ) *idf (t)* boost(t.field in d )* lengthNorm(t.field in d )) *coord(q,d )* queryNorm(q)

      其中,t表示termd表示documentq表示query。这个公式的一些含义如下:

1.      tf(t in d):表示t的词频,即特征词t在文档d中出现的次数

2.      idf(t): 反文献频率,这个应该大家都比较熟了。

3.      boost(t.field in d):这个在建立lucene索引的时候说过。对某个field的赋予的权重。

4.      lengthNormt.field in d:表示关键词t在文档d中所占的比重。在这里d中的关键词越少,代表t越重要。

5.      coord(q,d): 代表q中有多少个特征词在文档d中出现

6.      queryNorm(q): 代表q中每个特征词权值之和。

 

有些时候理解这些参数,以及为什么lucene要设置这样的评分机制,会有点困难,lucene比较人性化,提供了explain()方法使得用户可以更好的理解评分机制。

附件为explain()的使用方法。

分享到:
评论

相关推荐

    深入 Lucene 索引机制

    《深入 Lucene 索引机制》这篇博文主要探讨了Lucene这个全文搜索引擎的核心索引原理,它在信息检索领域有着广泛的应用。Lucene是一个开源的Java库,它提供了高效、可扩展的文本搜索功能。以下是对Lucene索引机制的...

    lucene 自定义评分

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

    基于Lucene的语段模糊匹配中文检索系统设计与实现 (2009年)

    该模型通过对Lucene评分机制的改进,建立了一个新的文档有效性二次判别模型,通过一个多维非线性计算函数来评估搜索结果的相似度,并据此对搜索结果进行排序。 #### 三、系统特点 - **自然语言输入**:用户可以...

    Lucene5学习之评分Scoring

    在Lucene 5版本中,对于搜索结果的排序和评分机制进行了优化,使得搜索体验更加精准。本文将深入探讨Lucene5中的评分(Scoring)机制,帮助读者理解如何通过源码分析和工具使用来提升搜索质量。 首先,我们需要了解...

    lucene in action英文版 lucene 3.30包

    同时,它还提供了评分机制,用于衡量查询结果的相关性。 4. **更新与删除** Lucene允许动态更新和删除文档,这在实时搜索场景中非常重要。更新文档时,Lucene会处理旧索引和新索引的合并;删除文档时,它会在索引...

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

    Lucene 提供了索引和搜索文本的基本工具,包括分词、建立倒排索引、查询解析和评分机制等。 **安装与配置** 安装 Lucene 非常简单,只需要将对应的 JAR 包添加到项目依赖中。在 Maven 项目中,可以在 pom.xml 文件...

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

    4. **结果排序**:Lucene通过评分机制(如TF-IDF)对搜索结果进行排序,得分最高的结果优先展示。 5. **过滤与聚合**:Filter和Collector组件可以用于进一步筛选结果,或者进行分组、统计等聚合操作。 6. **更新与...

    lucene学习pdf2

    4. **评分机制**:基于TF-IDF、BM25等算法,Lucene可以对匹配的文档进行评分,用于决定搜索结果的排序。 5. **过滤器(Filter)和截断器(Analyzer)**:用于进一步处理词元,如删除停用词、词干提取、大小写转换等...

    Lucene3.3.0学习Demo

    **Lucene 3.3.0 学习Demo** ...总之,"Lucene3.3.0学习Demo"是一个宝贵的资源,对于想要掌握全文搜索技术的开发者来说,它提供了丰富的实践案例和学习材料,可以帮助你快速上手并深入理解Lucene的核心机制。

    Lucene3.5源码jar包

    7. **近实时搜索(NRT)**:从3.0版本开始,Lucene引入了NRT机制,允许在不完全刷新索引的情况下返回最新结果。`IndexWriter.addDocument()`和`IndexWriter.commit()`等方法体现了这一特性。 8. **多字段搜索**:...

    lucene可视化工具 Luck-6.5.0

    4. **文档评分**:Luck 显示每个匹配文档的评分,这是 Lucene 排序算法的结果,展示了文档与查询的相关性。 5. **元数据查看**:用户可以查看索引的元数据,如文档总数、字段列表、分段信息等,这些信息对于分析...

    lucene in action 2nd edition, lucene in action 第二版 PDF

    4. **查询处理**:讲解了如何构建各种查询表达式,如布尔查询、短语查询、范围查询等,并且讨论了评分机制和查询优化技巧。 5. **高级主题**:书中涵盖了高级话题,如近实时搜索、分布式搜索(通过Solr实现)、复杂...

    lucene3源码分析

    在理解Lucene的工作机制之前,我们需要了解全文检索的基本原理。 - **索引构建**:这是全文检索的第一步,涉及到将文档内容转换为可被快速搜索的形式。 - **查询处理**:当用户提交查询时,系统会根据已建立的索引...

    Lucene4 全文检索

    - **结果排序**: Lucene 支持多种评分机制,如 TF-IDF,用于确定文档的相关性,从而对搜索结果进行排序。 - **结果返回**: 最后,返回给用户最相关的搜索结果。 ### 3. 文件和数据库支持 Lucene4 不仅能处理文本...

    lucene_demo例子

    6. **搜索执行**:通过Searcher对象执行查询,获取TopDocs,了解ScoreDoc和Explanation的概念,理解评分机制。 7. **高亮显示**:如何使用Highlighter对搜索结果进行高亮,提高用户体验。 8. **更新与删除**:学习...

    lucene包,lucene实现核心代码

    - Lucene的核心机制是倒排索引,它将每个词项映射到包含该词项的文档列表,极大地提高了搜索效率。 5. **优化与更新**: - `Optimize()`方法用于合并索引段,减少索引文件的数量,提高搜索性能。 - `Commit()`和...

    lucene jar包

    2. **索引构建**:Lucene的索引机制是基于倒排索引的,这种索引方式允许快速查找包含特定词的文档。在构建索引时,开发者可以自定义字段,决定哪些内容需要被索引,哪些内容仅用于存储不参与搜索。 3. **查询解析**...

    lucene源码和程序

    Lucene是Apache软件基金会下的一个项目,它是一个高性能、全文本搜索库,完全用Java编写。作为一款开源的全文检索工具包,...通过学习和使用Lucene源码,你可以更深入地理解全文检索的工作机制,提升自己的开发技能。

    Lucene常用的Demo

    `LuceneDemo`通常包含更复杂的例子,可能涉及多字段搜索、评分机制、过滤器以及排序等功能。这个示例可能涵盖了从数据源读取数据、创建索引、查询优化和结果处理的完整流程。学习此示例,可以帮助你理解如何利用`...

Global site tag (gtag.js) - Google Analytics