ES 自定义排序方式

news/2024/10/25 5:01:14/

es默认score是根据query的相关度进行打分的,具体打分机制可以参见:官方文档。如果召回时既希望有相关性又能根据其他信息进行排序。
例如小红书搜索的时候,可能既希望有召回相关度又能根据热度信息(如果喜欢、收藏等等参数去进行召回)

具体使用方式:
script_score 查询 官方文档

demo

package es_clientimport ("context""fmt""testing""time""github.com/stretchr/testify/require"
)func TestQueryEs(t *testing.T) {client, err := NewEsClient("es地址", "用户账号", "用户密码")require.NoError(t, err)ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)defer cancel()query := map[string]interface{}{"query": map[string]interface{}{"function_score": map[string]interface{}{"query": map[string]interface{}{"match": map[string]interface{}{"name": "狐妖",},},"functions": []map[string]interface{}{{"script_score": map[string]interface{}{"script": map[string]interface{}{// "params": map[string]interface{}{// 	"access_num_ratio": 500,// },// "lang":   "painless","source": "doc['create_time'].value ",},},},},},},"size": 3}reslt, err := QueryEs(client, ctx, query, "表名")fmt.Println(reslt, err)}

依赖

github.com/elastic/go-elasticsearch/v7 v7.17.10

参考:
ES自定义评分机制:function_score查询详解


http://www.ppmy.cn/news/1541748.html

相关文章

书生营 L0G4000 玩转HF/魔搭/魔乐社区

模型下载 在codespace上给环境装包,按照教材即可 运行后下载成功 建立下载json文件 新建下载internlm2_5-chat-1_8b的json文件 运行结果 基本上没啥问题,照着教程来就行 模型上传(可选) push的时候需要先认证token 最后的…

破局汽车基础软件发展丨昂辉科技亮相2024芜湖新能源汽车零部件和后市场生态博览会

10月14—17日,2024芜湖新能源汽车零部件和后市场生态博览会在芜湖市宜居国际博览中心盛大开幕。昂辉科技携新一代EasySAR车载基础软件工具链产品亮相核心零部件展区。 作为新能源汽车行业的一次盛会,本届博览会以“会议论坛展区展示”为特色&#xff0c…

在linux上部署ollama+open-webu,且局域网访问教程

在linux上部署ollamaopen-webu,且局域网访问教程 运行ollamaopen-webui安装open-webui (待实现)下一期将加入内网穿透,实现外网访问功能 本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具,并使用Op…

Linux的例行性工作1

[rootserver ~]# vim test2.sh //编辑脚本 1、每分钟执行命令 [rootserver ~]# crontab -e [rootserver ~]# crontab -l* * * * * sh /root/test2.sh[rootserver ~]# ls anaconda-ks.cfg cro.txt dead.letter test2.sh testcrondtab.sh [rootserver ~]# cat cro.txt…

Web前端高级工程师培训:使用 Node.js 构建一个 Web 服务端程序(2)

6、返回响应数据(资源) 6-1、使用 http.ServerResponse 类实例处理响应数据(资源) 在每一次的 request 事件中回调函数中会通过参数注入两个对象: 第一个参数: IncomingMessage 对象。第二个参数&#x…

React 项目热更新失效问题的解决方案和产生的原因

背景和意义 在修复React项目热更新失效的问题时,经过一系列问题排查和依赖升级,最终成功修复了问题并为后续开发规避了类似的问题。 依赖升级 Vite版本升级 原React项目Vite版本升级到^4.4.5 Vite 4 在构建和开发服务器的性能上进行了优化&#xff…

【OpenAI】第六节(语音生成与语音识别技术)从 ChatGPT 到 Whisper 的全方位指南

前言 在人工智能的浪潮中,语音识别技术正逐渐成为我们日常生活中不可或缺的一部分。随着 OpenAI 的 Whisper 模型的推出,语音转文本的过程变得前所未有的简单和高效。无论是从 YouTube 视频中提取信息,还是将播客内容转化为文本,…

Leetcode—1242. 多线程网页爬虫【中等】Plus(多线程)

2024每日刷题&#xff08;187&#xff09; Leetcode—1242. 多线程网页爬虫 实现代码 /*** // This is the HtmlParsers API interface.* // You should not implement it, or speculate about its implementation* class HtmlParser {* public:* vector<string>…