首页 > 其他分享 >11.ElasticSearch系列之搜索相关性算分机制

11.ElasticSearch系列之搜索相关性算分机制

时间:2022-10-20 21:01:22浏览次数:75  
标签:11 算分 IDF ElasticSearch 相关性 TF 文档 boost

1. 相关性和相关性算分

1.1 相关性
  • 搜索的相关性算分,描述了一个文档和查询语句匹配的程度。ES会对每个匹配查询条件的结果进行算分_score
  • 打分的本质是排序,需要把最符合用户需求的文档排在最前面。ES5之前,默认的相关性算分是TF-IDF,现在采用BM 25

2. 词频TF

  • Term Frequency: 检索词在一篇文档中出现的频率
    • 检索词出现的次数除以文档的总字数
  • 度量一条查询和结果文档相关性的简单方法:将搜索中每个词的TF进行相加
    • TF(区块链) + TF(的) + TF(应用)
  • Stop Word
    • ‘的’在文档中出现了很多次,但对贡献相关度几乎没有作用,不应考虑它们的TF

3. 逆文档频率

  • DF: 检索词在所有文档中出现的频率
    • “区块链”在相对比较少的文档中出现
    • “应用”在相对较多的文档中出现
    • “的”在大量的文档中出现
  • Inverse Document Frequency: 简单说=log(全部文档数/检索词出现过的文档总数)
  • TF-IDF的本质就是将TF求和变成了加权求和

TF(区块链)IDF(区块链) + TF(的)IDF(的) + TF(应用)*IDF(应用)

4. Lucene中的TF-IDF评分公式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lphkSiPS-1666270213901)(http://shenjianblog.oss-cn-shanghai.aliyuncs.com/pic/20220827/a6187e0b424d4fd59902bb34f9cace1f-微信截图_20220827122405.png)]

5. BM 25

  • 从ES5开始,默认算法改为BM 25
  • 和TF-IDF相比,当TF无限增加时,BM 25算分会趋于一个数值

6. 查询权限提升与降低

// boost > 1 打分提升 0 < boost < 1 打分降低  boost < 0 或 negative_boost 贡献负分
GET kibana_sample_data_flights/_search
{
  "explain": true, 
  "query": {
    "boosting": {
      "positive": {
        "term": {
          "DestCountry": {
            "value": "IT",
            "boost": 2
          }
        }
      }, 
      "negative": {
        "range": {
          "AvgTicketPrice": {
            "gte": 800
          }
        }
      }, 
      "negative_boost": 0.2
    }
  }
}

欢迎关注公众号算法小生沈健的技术博客

标签:11,算分,IDF,ElasticSearch,相关性,TF,文档,boost
From: https://www.cnblogs.com/shenjian-online/p/16811273.html

相关文章

  • CF1163F Indecisive Taxi Fee
    题意给定一张无向图,每次询问为更改一条边的边权后,从\(1\)到\(n\)的最短路。Solution首先考虑有哪些情况。如果原图中\(1\ton\)的最短路为路径\(P\),其上第\(i\)......
  • Hyperf使用ElasticSearch记录
    Hyperf安装Elasticsearch协程客户端hyperf/elasticsearch主要为elasticsearch-php进行了客户端对象创建的工厂类封装,elasticsearch-php默认使用GuzzleRing客户......
  • Oracle:ORA-00911: invalid character解决办法
    问题记录:用jmeter执行sql语句,报错:ORA-00911:invalidcharacter。解决方法:sql语句末尾“;”导致,去掉即可解决。过程记录:使用jmeter执行如下sql语句,响应结果:ORA-00911:......
  • 漏洞分析:MS14-058(CVE-2014-4113)
    作者:selph漏洞分析:CVE-2014-4113漏洞介绍漏洞程序MicrosoftWindows是美国微软(Microsoft)公司发布的一系列操作系统。win32k.sys是Windows子系统的内核部分,是一个内核模......
  • Elasticsearch 字段折叠的使用
    在Elasticsearch5.x有一个字段折叠(FieldCollapsing,#22337)的功能非常有意思,在这里分享一下, 字段折叠是一个很有历史的需求了,可以看这个issue,编号#256,最初是2010年7月......
  • CF1311F Moving Points
    题目传送门思路给出一种不需要脑子的四颗树状数组解法。这四颗树状数组分别为:一颗维护负数,一颗维护负数个数,一颗维护正数,一颗维护正数个数。首先考虑没有速度该怎么求......
  • 【luogu CF1163F】Indecisive Taxi Fee(图论)(分类讨论)
    IndecisiveTaxiFee题目链接:luoguCF1163F题目大意给你一个无向图,每次改一条边的权值(每次都会变回来),问你1~n的最短路长度。思路考虑分类讨论,先找到最短路的路径,然......
  • 1121 - Reverse the lights 思维题
    ​​http://www.ifrog.cc/acm/problem/1121​​我看到这些翻转的题就怕,可能要练下这些专题。我最怕这类题了。一开始想了下dp,dp[i][0/1]表示完成了前i位,第i位不按/按,的......
  • bzoj 2301: [HAOI2011]Problem b mobius反演 RE
    ​​http://www.lydsy.com/JudgeOnline/problem.php?id=2301​​设f(i)为在区间[1,n]和区间[1,m]中,gcd(x,y)=i的个数。设F(i)为在区间[1,n]和区间[1,m]中,gcd(x,y)%......
  • Gym - 101147J Whistle's New Car 树上差分
    J.Whistle'sNewCartimelimitpertestmemorylimitpertestinputoutputWhistlehasboughtanewcar,whichhasaninfinitefueltankcapacity.Hediscoveredani......