ES 排序,相关度和热度之间的平衡

算法推荐要达到不错的效果,需要解决好这四类特征:相关性特征、环境特征、热度特征和协同特征。

现在一般使用 ES的 function_score 实现这里的逻辑。

  1. 现有的逻辑是先排序 相关度(这里的相关度是经过粗化的结果), 然后将热度作为二级排序。(这里的相关度粗化不好控制,需要不断调试)

    一个实现:https://github.com/muhao1020/multistep_score

  2. 通过一个综合函数,将 相关度和 热度指标结合起来,成一个评分,然后通过此评分排序。(这种方式比难构造,并且极端值特别影响结果)

  3. 如果有多个热度指标如何展示热度值?(模型构建人为因素太多了)

如果有一个热度指标,仅看一个文档的指标(比如 查看数)是没有意义的,需要从整体 上看,将指标绝对值变成一个结合全局得出一个热度的指标。

仿照之前的同义词查询,完全也可以搞一个热词库,就是当前的新闻热词,在查询时如果分词匹配上了当前的热词,那么给这个热词加一个比较高的评分。热词库需要实时性更新。(这里的更新需要使用一种更新机制,或自动发现当前阶段的新闻热词,随着时间的衰减不断变化,在搜索的时候改变权重)

同时热词库又分为 查询热词库 、和内容热词库,具体方式是 查询热词库,保存一个用户查询分词的记录,可以利用redis 实现;内容热词需要热词库维护人员主动去发现当前的热点事件、新闻 热词,加入其中,同样也是查询匹配上的话,给一个较大的权重。

function_score

写的不错的博客:

https://blog.csdn.net/weixin_40341116/article/details/80913045

在使用ES进行全文搜索时,搜索结果默认会以文档的相关度进行排序,而这个 “文档的相关度”,是可以透过 function_score 自己定义的,也就是说我们可以透过使用function_score,来控制 “怎麽样的文档相关度更高” 这件事

function_score是专门用于处理文档_score的DSL,它允许爲每个主查询query匹配的文档应用加强函数, 以达到改变原始查询评分 score的目的

function_score会在主查询query结束后对每一个匹配的文档进行一系列的重打分操作,能够对多个字段一起进行综合评估,且能够使用 filter 将结果划分爲多个子集 (每个特性一个filter),并爲每个子集使用不同的加强函数

ES 排序,相关度和热度之间的平衡相关推荐

  1. 在边缘AI与云AI之间寻找平衡

    边缘的AI允许通过本地化处理进行实时机器学习,从而实现即时数据处理,详细的安全性和增强的客户体验.同时,许多企业正在寻求将AI推入云端,这可以减少实施障碍,改善知识共享并支持更大的模型.前进的道路在于 ...

  2. mysql复杂查询示例_找到时间和内存复杂性之间的平衡-一个示例

    mysql复杂查询示例 by Anmol Uppal 通过Anmol Uppal 找到时间和内存复杂性之间的平衡-一个示例 (Finding the balance between time and ...

  3. 在物质与精神之间实现平衡

    2019独角兽企业重金招聘Python工程师标准>>> 佛说,人生有四苦:生老病死.说病与死是苦应该没人会质疑,衰老是苦也还能理解,一则因为面对逝去的青春美好年富力强,眼前的苍老衰弱 ...

  4. 在思考云时在战术与战略之间取得平衡

    这一直是一个问题-那些将IT体系结构视为可以为单个应用程序或小型系统域提供服务的事物. 如今,许多组织无法选择一种云技术来为整个企业IT服务. 他们处理一系列具有一次性云架构的战术应用案例. 这样做2 ...

  5. 混合云:公共云和私有云之间取得平衡的方式?

    在可预见的未来,混合云是现实的,但真正的收获是试图找出企业最终朝向公共或私人资源是否平衡. 你在与任何技术供应商沟通时,也许会涉及到数据中心,但大多会提到云计算的三种方式:私有云,公共云,以及混合云. ...

  6. 锦标赛排序、洪水填充算法、平衡规划

    锦标赛排序 锦标赛排序(胜者树,记录胜者) 锦标赛排序(胜者树,记录胜者) - Class Xman - 博客园 锦标赛排序(胜者树,记录胜者)_继续微笑lsj-CSDN博客_锦标赛排序 数据结构之树 ...

  7. 【听】情商,理性和感性之间的平衡

    情商,关于情商的书籍,介绍了什么是情商,情商的重要性,情商如何提升等方面,寻求一种理性与感性的平衡. 情绪往往很重要,是动力也是关键.人往往是两方面大脑,一方面是理性思考思维,另一方面是感性感知思维, ...

  8. mysql字段的区分度_详解MySQL索引长度和区分度之间的平衡,值得收藏

    概述 前面我们讲了怎么去计算索引所占用的长度?那么换个方式想?索引又应该设置多少长度比较合理呢? 区分度与索引长度的权衡 首先索引长度和区分度是相互矛盾的, 索引长度太短,那么区分度就很低,吧索引长度 ...

  9. 06,数据保护,怎样在安全和效率之间找平衡

    数字化转型的基础是全量,全要素的连接和实时反馈,当所有的数据都连接进来之后.企业这个时候就有了大量的数据资产,就能解决很多原来解决不了的问题. 但是,就像茨维格那句民言所说的,所有命运赠送的礼物早已暗 ...

最新文章

  1. 【学习——字符串】字符串之一网打尽quq
  2. SAP SD之如何配置发票分割开票
  3. sap相关性不能被编译_经典综述编译丨生物硝化抑制丨NAT PLANTS:现代农业中的氮转化和生物硝化抑制作用...
  4. Android 应用开发(18)---在运行时请求权限
  5. IDEA 2020 配置 Maven 创建 Spring Boot 项目
  6. C# button 添加logo
  7. 单系统 台电x80pro_台电x80 pro (ID:E3E6)安装remix OS系统教程整理
  8. 阿里云服务器搭建Ghost博客教程
  9. VPX视频叠加板卡学习资料第199篇:基于Xilinx FPGA XC5VFX100T的6U VPX视频叠加板卡
  10. 深入了解Element Form表单动态验证问题
  11. 【解决方案】如何通过EasyCVR安防视频云服务搭建基于移动互联网的阳光厨房云视频直播方案?
  12. winfrom+Fleck 上传文件
  13. JAVA组合框怎么添加加减乘除,[C#]组合框设计windows加减乘除简单计算器应用
  14. 《算法竞赛入门经典》Chap3
  15. linux怎么进入sftp命令行,Linux中SFTP命令
  16. 做网站需要多少钱?做网站的费用是多少呢?
  17. andriod——Fresco+Retrofit+GreenDao
  18. igxe取东西显示服务器繁忙,igxe服务器繁忙
  19. Java服务器验证登录系统
  20. 使用jQuery加DIV实现可以动态添加的金字塔结构

热门文章

  1. Android 搜索手机本地的全部视频(通过查询数据库)
  2. 远程工具teamviewer使用教程
  3. 德国奔驰、博世和保时捷的员工年薪有多少?
  4. 【西电—英美国家概况(英美概况/英美文化)2023第一学期】第九章参考课后答案
  5. 多媒体图像切换与中值区分法
  6. 介绍DOTA2 AI的开发基础——调试
  7. iphonex 序列号_iPhoneX序列号在哪 苹果X序列号怎么看?
  8. 3ds Max 材质贴图
  9. CCTV-5在线直播 视频网 关注体育赛
  10. andriod手机信号显示G、E、H、T是什么意思?