`
fenglingxuewqk
  • 浏览: 83740 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Lucene 评分机制

 
阅读更多

1. tf(t in d) correlates to the term's frequency, defined as the number of times term t appears in the currently scored document d. Documents that have more occurrences of a given term receive a higher score.

2. idf(t) stands for Inverse Document Frequency. This value correlates to the inverse of docFreq (the number of documents in which the term t appears). This means rarer terms give higher contribution to the total score

3. coord(q,d) is a score factor based on how many of the query terms are found in the specified document

4. norm(t,d) encapsulates a few (indexing time) boost and length factors:

  • Document boost - set by calling doc.setBoost() before adding the document to the index.
  • Field boost - set by calling field.setBoost() before adding the field to a document.
  • lengthNorm(field) - computed when the document is added to the index in accordance with the number of tokens of this field in the document, so that shorter fields contribute more to the score.  When a document is added to the index, all the above factors are multiplied. If the document has multiple fields with the same name, all their boosts are multiplied together

对于wildcard search, Lucene默认会屏蔽掉norm部分的分数。 如果想让它参与的话,可以重新设置它的rewrite method。

for (BooleanClause clause : ((BooleanQuery) query).getClauses()) {
        if (clause.getQuery() instanceof MultiTermQuery) {
        	((MultiTermQuery) clause.getQuery()).setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
        } else {        		
        	enableCalScore(clause.getQuery());
	}
}

 

分享到:
评论

相关推荐

    深入 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