首页
学习
活动
专区
圈层
工具
发布

ElasticSearch 中使用衰减函数来完美你的搜索结果

ES 内置了衰减函数(Decay Function)的支持。对于数值、日期和地理位置类型,可以设置一个理想的值,如果实际的值越偏离这个理想值(无论是增大还是减小),就越不符合期望,分数就越低。...它支持如下参数: origin:原点,该字段最理想的值,这个值可以得到满分(1.0) offset:偏移量,与原点相差在偏移量之内的值也可以得到满分 scale:衰减规模,当值超出了原点到偏移量这段范围...,它所得的分数就开始进行衰减了,衰减规模决定了这个分数衰减速度的快慢 decay:衰减值,该字段可以被接受的值(默认为 0.5),相当于一个分界点,具体的效果与衰减的模式有关 衰减函数 linear 直线衰减...,在 0 分外的值都是 0 分 exp 衰减速度先快后慢 gauss 衰减速度先慢后快再慢 我的参数配置如下: { "query":{ // 使用得分函数 "function_score...30 天之内的都能得到满分(以前未来日期都算),也就是 1 // 距离原始日期 30 ~ 90 天的使用高斯函数得分 // 距离原始日期超过

97510

Elasticsearch探索:相关性打分机制 API

只要一个文档与查询匹配,Lucene就会为查询计算分数,然后合并每个匹配术语的分数。这里使用的分数计算公式叫做 实用计分函数(practical scoring function)。...这个函数的使用相当简单,只需要调用一下就可以返回一个 0 到 1 的分数。...scale(衰减规模):代表衰减率,当值超出了原点到偏移量这段范围,它所得的分数就开始进行衰减了,衰减规模决定了这个分数衰减速度的快慢 decay(衰减值):该字段可以被接受的值(默认为 0.5),相当于一个分界点...,具体的效果与衰减的模式有关 衰减函数还可以指定三种不同的模式:线性函数(linear)、以 e 为底的指数函数(Exp)和高斯函数(gauss),它们拥有不同的衰减曲线: image.png GET...这时候通过多个函数将每个分值都计算出在合并才是更好的选择。 在function_score中可以使用functions属性指定多个函数。它是一个数组,所以原有函数不需要发生改动。

2.2K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    干货 | ElasticSearch相关性打分机制

    只要一个文档与查询匹配,Lucene就会为查询计算分数,然后合并每个匹配术语的分数。这里使用的分数计算公式叫做 实用计分函数(practical scoring function)。...script_score 如果需求超出以上范围时,用自定义脚本完全控制分数计算的逻辑。...衰减函数(Decay functions) 衰减函数(Decay Function)提供了一个更为复杂的公式,它描述了这样一种情况:对于一个字段,它有一个理想的值,而字段实际的值越偏离这个理想值(无论是增大还是减小...scale 代表衰减率,即一个文档从原点(origin)下落时,分数改变的速度。 decay 从原点(origin)衰减到 scale 所得到的分数,默认值为 0.5。...在此范围内(-offset 的所有值的分数都是 1.0。 这三个函数的唯一区别就是它们衰减曲线的形状,用图来说明会更为直观 衰减函数曲线 ?

    8.9K136

    Excel公式技巧66:获取第n个匹配的值(使用INDEX函数)

    学习Excel技术,关注微信公众号: excelperfect 在《Excel公式技巧65:获取第n个匹配的值(使用VLOOKUP函数)》中,我们构造了一个没有重复值的辅助列,从而可以使用VLOOKUP...函数来查找指定的重复值。...本文中仍然以此为例,使用INDEX函数来获取重复值中指定的值,但是不需要构造辅助列。 如下图1所示的工作表,在“商品”列中,存在一些重复的商品,现在我们要找出第2次出现的“笔记本”的销售量。 ?...代入SMALL函数中: SMALL(IF(C3:C14=G2,ROW(C3:C14)-ROW(C3)+1),F6) 解析为: SMALL({1;FALSE;FALSE;FALSE;FALSE;6;FALSE...代入INDEX函数中,得到: =INDEX(D3:D14,6) 结果为单元格D8中的值10。 如果使用定义的名称,那么公式将更灵活,如下图3所示。 ?

    8.4K10

    Excel公式技巧65:获取第n个匹配的值(使用VLOOKUP函数)

    学习Excel技术,关注微信公众号: excelperfect 在查找相匹配的值时,如果存在重复值,而我们想要获取指定的匹配值,那该如何实现呢?...如下图1所示的工作表,在“商品”列中,存在一些重复的商品,现在我们要找出第2次出现的“笔记本”的销售量。 ?...图1 我们知道VLOOKUP函数通常会返回找到的第一个匹配值,或者最后一个匹配值,详见《Excel公式技巧62:查找第一个和最后一个匹配的数据》。...然而,我们可以构造一个与商品相关的具有唯一值的辅助列(详见《Excel公式技巧64:为重复值构造包含唯一值的辅助列》),从而可以使用VLOOKUP函数来实现查找匹配值。...在单元格H6中输入公式: =VLOOKUP(H2 & "-" &G6,B3:E 即可得到指定的匹配值,如下图3所示。 ? 图3 可以修改单元格H2或G6中的数值,从而获取相应匹配的数据。

    9.4K10

    总是搜不到想要的内容?Elasticsearch搜索排名优化了解一下

    ,使用某个字段来影响总分数; decay fucntion,包括gauss、exp、linear三种衰减函数。...(2)decay function 衰减函数是一个非常有用的函数,它可以帮我们实现平滑过渡,使距离某个点越近的文档分数越高,越远的分数越低。使用衰减函数很容易实现时间越近的文档得分就越高的场景。...ES提供了三个衰减函数,我们先来看一下这三种衰减函数的差别,截取官方文档展示图如下: linear,是两条线性函数,从直线和横轴相交处以外,评分都为0; exp,是指数函数,先剧烈的衰减,然后缓慢衰减...当我们想选取一定范围内的结果,或者一定范围内的结果比较重要时,例如某个时间、地域(圆形)、价格范围内,都可以使用高斯衰减函数。...高斯衰减函数有4个参数可以设置 origin:中心点,或字段可能的最佳值,落在原点 origin 上的文档评分 _score 为满分 1.0 ; scale:衰减率,即一个文档从原点 origin 下落时

    2.2K4538

    总是搜不到想要的内容?Elasticsearch搜索排名优化了解一下

    ,使用某个字段来影响总分数; decay fucntion,包括gauss、exp、linear三种衰减函数。...(2)decay function 衰减函数是一个非常有用的函数,它可以帮我们实现平滑过渡,使距离某个点越近的文档分数越高,越远的分数越低。使用衰减函数很容易实现时间越近的文档得分就越高的场景。...ES提供了三个衰减函数,我们先来看一下这三种衰减函数的差别,截取官方文档展示图如下: 10.png linear,是两条线性函数,从直线和横轴相交处以外,评分都为0; exp,是指数函数,先剧烈的衰减...当我们想选取一定范围内的结果,或者一定范围内的结果比较重要时,例如某个时间、地域(圆形)、价格范围内,都可以使用高斯衰减函数。...高斯衰减函数有4个参数可以设置 origin:中心点,或字段可能的最佳值,落在原点 origin 上的文档评分 _score 为满分 1.0 ; scale:衰减率,即一个文档从原点 origin 下落时

    2.7K30

    触类旁通Elasticsearch:打分

    如果没有特别指明,每个函数的得分是相乘的。 如果指定了first,只会考虑第一个拥有匹配过滤器的函数的分数。...衰减函数允许用户根据某个字段,应用一个逐步衰减的文档得分。...有3种类型的衰减函数,即linear、gauss和exp。对于衰减函数,有以下4种配置选项。 origin:中心点,在这里用户希望分数是最高的。 offset:分数开始衰减的位置,和原点之间的距离。...scale和decay:这两个选项是密切合作的。通过设置它们,可以让字段值为指定的scale时,其得分减少到指定的decay。 下面是一个使用高斯衰减函数的例子。...使用了script_score,将参与者的数量纳入考虑范围。 使用了gausss衰减,对于离原点越来越远的点进行了分数的逐步衰减。

    2.4K10

    ElasticSearch:自定义评分功能、使用场景讲解以及 function_score常用的字段解释

    ElasticSearch[八]:自定义评分 一、适用的场景 基本介绍 ES 的使用中,ES 会对我们匹配文档进行相关度评分。但对于一些定制化的场景,默认评分规则满足不了我们的要求。...可以使用 ES 提供的一些函数,什么可以使用较分来让我们的评分规则多样化。...还可以对每个评分进行权重控制,主要有以下几个值 filter filter 主要通过条件匹配结果作用在当前函数上 weight weight 当前函数的权重,函数的分值会乘上 weight...衰减函数: 先看看官方的图,衰减函数的作用机制, 我们可以设定一个期望值,越接近期望值的分越高,分值在 0-1 之间,分别有三条对应的函数曲线 linear 、 exp 和 gauss (线性、指数和高斯函数...) 原点(origin):期望值,这个值可以得到满分(1.0) 偏移量(offset):与原点相差在偏移量之内的值也可以得到满分 衰减规模(scale):当值超出了原点到偏移量这段范围,它所得的分数就开始进行衰减了

    1.8K10

    Elasticsearch控制相关度

    概率相关模型 官方文档相关度评分背后的理论解读如下: Lucene(或 Elasticsearch)使用 布尔模型查找匹配文档,并用一个名为 实用评分函数的公式来计算相关度。...:函数值替代评分 _score 与使用乘积的方式相比,使用评分 _score 与函数值求和的方式可以弱化最终效果,特别是使用一个较小 factor 因子时。...scale衰减率,即一个文档从原点 origin 下落时,评分 _score 改变的速度。(例如,每 £10 欧元或每 100 米)。...decay从原点 origin 衰减到 scale 所得的评分 _score ,默认值为 0.5 。...函数:保持着一个将要被使用的函数列表,可以为列表里的每个函数指定一个filter过滤器,此时,函数只会被应用到那些与过滤器匹配的文档。

    2.6K11

    使用Mysql中的concat函数或正则匹配来快速批量生成用于执行的sql语句

    ; 把update需要用的变量全部使用select查询出来。即,根据book_borrow表中的student_id,去student表中查出name和class_id。 select a.id,b....中的concat函数 对于concat函数,如果有不清楚的话建议阅读这篇文章 https://www.w3resource.com/mysql/string-functions/mysql-concat-function.php...即,借阅ID、学生名称、班级ID,那么下一步我们只需要通过concat函数进行字符串拼接就可以了。...方案二:使用正则表达完成匹配功能 select concat("update book_borrow set student_name = '",b....= \3 where id = 1; 效果图如下: 上面两种方式都可以达到我们的目的,但是推荐使用方案一,原因就在于简单快捷。

    1.7K10

    Excel公式技巧17: 使用VLOOKUP函数在多个工作表中查找相匹配的值(2)

    我们给出了基于在多个工作表给定列中匹配单个条件来返回值的解决方案。本文使用与之相同的示例,但是将匹配多个条件,并提供两个解决方案:一个是使用辅助列,另一个不使用辅助列。 下面是3个示例工作表: ?...图4:主工作表Master 解决方案1:使用辅助列 可以适当修改上篇文章中给出的公式,使其可以处理这里的情形。首先在每个工作表数据区域的左侧插入一个辅助列,该列中的数据为连接要查找的两个列中数据。...16:使用VLOOKUP函数在多个工作表中查找相匹配的值(1)》。...D1:D10 传递到INDEX函数中作为其参数array的值: =INDEX(Sheet3!...B1,Arry2,,,)) 其结果将为: {0,0,0,0,0,0,0,0,0,0} 当然,也不能够单独只使用OFFSET函数: OFFSET(Sheet3!

    21.1K10

    Excel公式技巧16: 使用VLOOKUP函数在多个工作表中查找相匹配的值(1)

    在某个工作表单元格区域中查找值时,我们通常都会使用VLOOKUP函数。但是,如果在多个工作表中查找值并返回第一个相匹配的值时,可以使用VLOOKUP函数吗?本文将讲解这个技术。...最简单的解决方案是在每个相关的工作表中使用辅助列,即首先将相关的单元格值连接并放置在辅助列中。然而,有时候我们可能不能在工作表中使用辅助列,特别是要求在被查找的表左侧插入列时。...B1:D10"),3,0) 其中,Sheets是定义的名称: 名称:Sheets 引用位置:={"Sheet1","Sheet2","Sheet3"} 在公式中使用的VLOOKUP函数与平常并没有什么不同...,我们首先需要确定在哪个工作表中进行查找,因此我们使用的函数应该能够操作三维单元格区域,而COUNTIF函数就可以。...因为我们想得到第一个匹配的结果,所以将该数组传递给MATCH函数: MATCH(TRUE,COUNTIF(INDIRECT("'"&Sheets&"'!

    42.6K21

    数字图像处理学习笔记(十四)——频域图像增强(图像的频域分析)

    的圆内,所有频率没有衰减地通过滤波器,而在此半径的圆之外的所有频率完全被衰减掉。 总图像功率值 ? ? 其中: ? 原点在频率域的中心,半径为 ? 的圆包含 ? 的功率 ? 其中 ?...上图所示的是: 圆环具有半径5,15,30,80和230个像素 图像功率为92.0%,94.6%,96.4%,98.0%和99.5% 此举例说明结论: ①90%以上的功率(能量)集中在半径小于5的圆周内...为截至频率距原点的距离,D(u,v)是点(u,v)距原点的距离。 当D(u,v)= ?...2.3 高斯(指数)高通滤波器 截频距原点为D0的高斯高通滤波器(GHPF)定义为 ? ? 高斯高通滤波示例: ? 2.4 三种高通滤波器小结 三种滤波函数的选用类似于低通。...因此不能随意地使用 2.5 频率域的拉普拉斯算子 频率域的拉普拉斯算子定义 ? ? ? ? 原点从(0,0)移到 ? ,所以,滤波函数平移为 ?

    7.9K20

    基础渲染系列(五)——多灯光

    这是光线物体局部空间中的一个点,按其衰减比例缩放。在这个空间中,点光源位于原点。距离一个以上的单元都会超出范围。因此,距原点的平方距离定义了比例衰减因子。...衰减方法开始时与点光源相同。转换为光空间,然后计算衰减系数。然后,对原点后面的所有点强制将衰减设为零。这会限制聚光灯前面的所有物体的光。 然后,将光空间中的X和Y坐标用作UV坐标以对纹理进行采样。...首先,仅从对象的本地原点的角度定义函数。这对于沿对象表面变化不大的光照很友好。对于小物体以及光线较弱或远离物体的情况都是如此。幸运的是,对于不符合像素或顶点光源状态的光源,通常都是这种情况。...) 本示例使用具有固定模式的规则正弦波。为了用正弦波描述任意函数,你必须调整每个频段的频率,幅度和偏移,直到获得完美的匹配为止。...如果使用的频段少于完美匹配所需要的频段,那么最终结果将是原始功能的近似值。使用的频段越少,近似值的准确性就越低。该技术用于压缩很多东西,例如声音和图像数据。

    3.2K20

    Elasticsearch深度搜索与查询DSL实战:精准定位数据的核心技法

    短语匹配:match_phrase查询 当需要精准匹配关键词的连续顺序时(如搜索“高清全面屏”,需匹配包含完整短语的文档,而非“高清”和“全面屏”分散出现的文档),可使用match_phrase查询,核心是...(3)衰减函数:decay_functions 对字段值在一定范围内的文档,评分随值的变化逐渐衰减(如距离越近、时间越新的文档评分越高),适用于地理位置、时间排序等场景: { "query": {...: { "match": { "product_desc": "高清手机" } }, "functions": [ { "gauss": { // 高斯衰减函数...(评分平滑衰减) "create_time": { "origin": "now", // 衰减原点(当前时间) "scale...天以上的商品评分降至原来的50%,优先展示最新商品。

    29110

    《性能衰减智能捕捉:采样式回归测试设计指南》

    ;若盲目增加采样点密度,在每个函数、每个步骤都设置采样逻辑,则会产生大量额外的系统开销,甚至采样本身的资源占用超过业务逻辑,导致测试数据失真,失去参考价值。...分位值(P99)与极值,避免因仅看均值忽略长尾延迟;资源占用需包含CPU瞬时使用率、内存占用峰值、IO读写速率、网络带宽占用,全面反映系统资源消耗状态;吞吐量需记录单位时间内成功处理的请求数,体现系统的承载能力...例如,代码提交仅修改了数据解析模块,则仅对数据解析模块及依赖其输出的计算模块进行采样测试,其他无关模块(如存储模块、输出模块)暂不测试,测试效率提升60%以上。...性能衰减的智能识别与量化分级,是套件从“数据采集”到“价值输出”的关键转化—单纯的采样数据对比无法直接判定衰减,需建立一套“多维度特征匹配+趋势分析”的智能识别机制,将抽象的性能变化转化为可量化、可判定...此外,系统会自动生成“性能衰减溯源报告”,包含:关联的所有代码提交ID及修改内容摘要、采样数据与基准数据的对比图表、核心指标的变化曲线、可能的性能瓶颈点(如某函数执行时间延长、某依赖调用延迟增加)、历史同类衰减的处理案例参考等

    13210

    数字基带传输系统设计

    w(n) 由此得到关于原点偶对称的有限长单位冲激响应,将其向右移位 \tau=\frac{N-1}{2} ,得到因果的FIR滤波器。...2.流程图 图3 用窗函数法设计FIR升余弦滚降滤波器流程图 3.代码实现 % 采用窗函数设计法设计升余弦特性的非匹配滤波器 % alpha:滚降因子 % L:为FIR滤波器的长度 function...从频域分析,在 \alpha 取值较小时,使用窗函数法设计的非匹配滤波器的幅频特性曲线更加平滑,而频率抽样法设计的匹配滤波器的旁瓣多,非匹配滤波器的阻带最小衰减更大,所以非匹配滤波器的性能要优于匹配滤波器...随着 \alpha 的增大,匹配滤波器的幅频特性曲线逐渐平滑,两种滤波器的衰减都更快,性能变好。...这里我们使用非匹配滤波型滤波器进行测试, 不失 一般性, 滤波器参数选择为 \mathrm{N}=31, \alpha=0.33 , 认为 T=f_{s}=1 。

    1.9K30
    领券