ElasticSearch中使用向量和关键词联合检索

注:案例测试数据及其索引构建详见:ElasticSearch中使用bge-large-zh-v1.5进行向量检索(一)-CSDN博客 中的第三部分。

假设任务场景为:用“新疆”向量检索相关的数据,同时需要匹配关键词“巴州”。

首先获取“新疆”的bge-large-zh-v1.5向量:

POST _ml/trained_models/bge-large-zh-v1.5/_infer
{"docs": [{"text_field": "新疆"}]
}

结果如下:

直接根据“新疆”向量查询

GET article_embeddings/_search
{"query": {"knn": {"field": "text_embedding.predicted_value","num_candidates": 10,"query_vector": [-0.03627504035830498,-0.007771393284201622,0.036312565207481384,此处省略若干值]}}
}

默认返回所有的数据,且编号002的文档排在003前面。

如果我们想让包含关键词“巴州”的003文档排在002的前面,可以采用加filter的方式:

编写相应语句:

GET article_embeddings/_search
{"knn": {"field": "text_embedding.predicted_value","num_candidates": 10,"filter": {"match": {"title": "巴州"}},"query_vector": [-0.03627504035830498,-0.007771393284201622,0.036312565207481384,此处省略若干值]}
}

结果如下:

此时发现最终只剩一条满足title中有“巴州”的文档了。

如果只是想把含有“巴州”的文档提前,不过滤,则可以采用如下的方式:

GET article_embeddings/_search
{"query": {"match": {"title": "巴州"}},"knn": {"field": "text_embedding.predicted_value","num_candidates": 10,"query_vector": [-0.03627504035830498,-0.007771393284201622,0.036312565207481384,此处省略若干值]}
}

效果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637301.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端表单input的简单使用

1.代码结构介绍 2.实战效果

DASCTF X GFCTF 2024|四月开启第一局 —— re前三题wp

四月安恒月赛 prese 平坦化混淆 经过输入测试和代码分析可发现,核心加密是这一句的逻辑,这一句会根据输入的长度生成temp数组 尝试得到输入与输出的映射关系后解: cipher [0x86, 0x83, 0x91, 0x81, 0x96, 0x84, 0xB9, 0xA5, 0xAD, 0xAD…

【机器学习】《ChatGPT速通手册》笔记

文章目录 第0章 前言第1章 ChatGPT的由来(一)自然语言处理任务(二)ChatGPT所用数据数据大小(三)ChatGPT的神经网络模型有175亿个参数(四)模型压缩 方案 第2章 ChatGPT页面功能介绍&a…

RabbitMQ学习记录

核心概念 Brocker:消息队列服务器实体 Exchange(消息交换机):它指定消息按什么规则,路由到哪个队列。 Queue(消息队列载体):每个消息都会被投入到一个或多个队列。 Binding(绑定):它的作用就是把exchange和queue按…

RF高频腔设计(4)

3.5 pillbox Cavity 从之前的知识我们可以知道,在空心的波导中,电磁场的模式是“离散”的,只有特定模式能够传播,并且与波导的几何形状和尺寸相关。 在RF高频腔设计(2)中,从传播常数k的图中可…

[Kubernetes] etcd的集群基石作用

文章目录 1. 配置存储2. 数据一致性3. 服务发现与协调4. 集群状态中枢5. 集群稳定性 1. 配置存储 etcd作为一个高度可靠的分布式键值存储系统,存储了Kubernetes集群的完整配置和状态数据。集群的元数据,包括节点信息、命名空间、部署、副本集、服务、持…

Linux_进程

目录 1、冯诺依曼体系 2、Linux下的进程概念 3、PCB结构体 4、在Linux下查看进程 5、父子进程 6、终止进程 7、操作系统的进程状态 7.1 Linux下的进程状态 8、孤儿进程 9、进程优先级 9.1 PRI和NI 结语 前言: 进程作为操作系统中最核心的知识点之…

应急局rfid资产管理系统建设方案

应急局RFID资产管理系统的建设方案涉及以下几个方面: 1.需求分析:通过与应急局相关部门沟通,了解其对资产管理系统的需求,包括对资产的实时监控、定位追踪、盘点和管理等功能的要求。 2.系统设计:根据需求分析&#xf…

Linux下:gcc/g++调试工具gdb

gdb 程序的发布方式有两种,debug模式和release模式 Linux gcc/g出来的二进制程序,默认是release模式 gdb mybin debug和release debug debug模式下生成的可执行程序会添加调试信息,所以生成的可执行程序会较大 在使用gcc/g进行编译的时…

基于SpringBoot + Vue实现的学生心理咨询评估管理系统设计与实现+毕业论文+开题报告+答辩PPT

介绍 系统有管理员和用户。 管理员可以管理个人中心,用户管理,试题管理,试卷管理,考试管理等。用户参加考试。 学生心理咨询评估系统的登录流程,针对的角色就是操作员的操作角色。在登录界面需要的必填信息就是账号信…

Vue2之组件通信(爆肝)

大家有什么想看的可以在评论区留言,我尽量满足,感谢大家! 组件通信是vue中一个非常重要的内容,我们需要掌握好组件通信,那么让我为大家介绍几种组件通信的方式吧! 一、props 这是父传子的方式&#xff0…

Docker - 简介

原文地址,使用效果更佳! Docker - 简介 | CoderMast编程桅杆https://www.codermast.com/dev-tools/docker/docker-introduce.html Docker是什么? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 D…