zoukankan      html  css  js  c++  java
  • Lucene基础排序算法改进

    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为权重系数


    http://summerbell.javaeye.com/blog/455865 

  • 相关阅读:
    简单的登录验证小程序_python
    远程执行命令_python
    远程执行本地脚本_linux
    反射_python
    ssh oa项目介绍
    返回上一级过程
    ssh框架开发crm(客户关系系统总结)
    struct相对路径,绝对路径
    <s:textfield>标签回显
    ssh框架整合
  • 原文地址:https://www.cnblogs.com/wycg1984/p/1722449.html
Copyright © 2011-2022 走看看