`

Lucene基础排序算法改进

阅读更多

Lucene基础排序算法:

score_d = sum_t(tf_q * idf_t / norm_q * tf_d * idf_t / norm_dt_t)

 

score_d: Document(d) 的得分

sum_t: Term(t) 的总和

tf_q: 查询中 t 的频度的平方根

tf_q: d t 的频度的平方根

idf_t: log(numDocs/docFreq_t + 1) + 1.0

numDocs: 索引中Document的数量

docFreq_t: 包含tDocument的数量

norm_q: sqrt(sum_t((tf_q*idf_t)^2))

norm_d_t: 在与 t 相同域的 d tokens 数量的平方根

 

基础排序算法的不足:

 

要点:

查询词在一个 Document 中的位置并不重要。

如果一个 Document 中含有该查询词的次数越多,该得分越高。

一个命中document中,如果除了该查询词之外,其他的词越多,该得分越少。

 

不足:

查询精确度不好。

没有体现网页的重要性。

Lucene的得分算法, 不适合网页搜索。

 

改进的算法:

Score_d = k1 * OldScore + k2 * PrScore + k3 * ReScore + k4 * homePageScore

 

Score_d: 记录d的得分。

OldScore: 由基础排序算法计算出的记录d的得分。

PrScore: 记录dPageRank的得分。

ReScore: 记录d的二次检索的加分, ReScore = rescore + (hitNum - 1) * increment

homePageScore: 主页的加分

K1, K2, K3, K4为权重系数

分享到:
评论
1 楼 minjiaren 2010-10-11  
在吗...
我也遇到lucene3.0.2的自定义排序的问题,和你的思想是一样的....
但是有些问题想和你沟通一下..
QQ:724259669,期待与您的沟通...

相关推荐

    Lucene检索算法的改进.pdf

    为了克服基础排序算法的不足,文章提出了一种改进算法,该算法综合考虑了多个因素,具体公式如下: \[Score_d = k_1 \times \text{OldScore} + k_2 \times \text{PrScore} + k_3 \times \text{ReScore} + k_4 \...

    基于Lucene的医疗搜索引擎排序算法的研究.pdf

    实验结果显示,这种方法能提升Lucene排序算法的查准率10%至20%。 【关键词】涉及的几个核心概念包括: 1. 向量空间模型(Vector Space Model,VSM):这是信息检索中的一种模型,通过将文档和查询表示为高维向量来...

    Java搜索引擎 Lucene

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

    lucene-4.10.3源码

    3. 搜索:`src/core/org/apache/lucene/search`目录下的代码实现了搜索算法,包括评分、排序和结果集的处理。其中,`IndexSearcher`是主要的搜索接口,它与`Weight`和`Scorer`协同工作,执行实际的搜索任务。 4. ...

    Lucene3.0全文信息检索

    **Lucene 3.0 全文信息检索** Lucene 是一个由Apache软件基金会4...随着技术的不断进步,Lucene后续版本继续优化性能和扩展功能,但3.0版本仍然是许多项目的基础,其设计理念和实现方式对于理解全文检索引擎至关重要。

    lucene-2.9.4

    总之,Lucene 2.9.4作为一个功能强大且稳定的搜索引擎库,为开发者提供了构建高效全文搜索引擎的基础。其索引机制、查询处理、搜索算法以及丰富的功能特性,使得开发者能够轻松地集成到各种应用场景中。尽管后续版本...

    最新版windows lucene-8.8.0.zip

    1. 性能提升:Lucene 8.8.0在索引和搜索速度上进行了优化,通过改进内部数据结构和算法,使得大规模数据处理更为高效。这对于处理大量文本信息的企业级应用尤其重要。 2. 增强的分析器:新版本提供了更多预配置的...

    lucene-5.3.1源代码

    一、Lucene基础 1. Lucene核心组件: - 文档(Document):存储用户数据的容器,可以包含多个字段(Field),如标题、内容等。 - 字段(Field):文档中的一个属性,可以设置为可搜索、可索引或只读。 - 索引...

    基于Lucene的搜索引擎

    3. **结果排序与展示**:除了Lucene的基本评分,还可以根据用户行为、时间戳等因素自定义排序算法。同时,搜索结果页面需要设计友好,提供清晰的摘要和链接,方便用户进一步查看。 4. **反馈与迭代**:监控用户搜索...

    lucene4.6.0 jar包

    此外,还可以利用 Lucene 进行信息检索研究,如查询优化、相关性排序算法等。 总之,Lucene 4.6.0 是一个强大的全文检索工具,其核心优势在于高效的索引构建、灵活的查询语法以及优秀的搜索性能。对于需要在大量...

    最新版 lucene-9.3.0.tgz

    在9.3.0中,可能有新的评分算法或排序选项以提供更精确的搜索结果。 5. **多核心支持**:Lucene可以同时管理多个独立的索引,称为“核心”。这在处理大量数据或需要独立管理不同数据集时非常有用。新版本可能提升了...

    lucene-3.6.0.zip

    3. 倒排索引增强:改进了倒排索引的压缩算法,减少了存储空间,同时提高了查询速度。 4. 多语言支持:3.6.0版本提供了更多的语言分析器,支持不同语言的文本处理,如中文、法文、德文等。 5. 高级搜索功能:引入了...

    基于Lucene的教学资源垂直搜索引擎的研究与实现

    着计算机和网络技术的迅速发展,互联网上的教育资源呈指 数级增长"如何能够在这数量巨大!形式多样的信息中准确地找到自 己需要的呢?通用搜索引擎在针对某一具体领域检索资源时,搜索结 ...排序算法合理等优点

    北风网Lucene搜索引擎源码及PPT

    lucene12.rar和lucene11.rar可能涵盖了从基础的TF-IDF排序到更高级的相关性计算,如BM25算法的实现,以及自定义排序因子的应用。 6. **版本差异** 不同的版本号(如lucene24.rar)反映了Lucene的发展历程和更新...

    Lucene3.0.1 官方api

    Lucene 3.0.1是该库的一个重要版本,它在前一版本的基础上进行了一些改进和优化,为开发者提供了更稳定和高效的搜索解决方案。 在Lucene 3.0.1中,官方API(应用程序编程接口)是开发者理解和使用Lucene的核心工具...

    lucene-4.0.0完整包

    - **相关性排序**: 基于TF-IDF算法,Lucene 能够对搜索结果进行相关性排序,确保最相关的文档排在前面。 **2. Lucene 4.0.0 的新特性与改进** - **性能优化**: 在4.0.0版本中,Lucene 对索引和搜索的性能进行了优化...

Global site tag (gtag.js) - Google Analytics