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

news/2024/9/23 20:20:26/

注:案例测试数据及其索引构建详见: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.ppmy.cn/news/1429032.html

相关文章

【WSL】单机大模型前的基础环境配置

前言:在上一篇文章中,我们完成了WSL的部署,但是在大模型搭建(尤其是Langchain)前,还碰到了不少的坑,查找了不少的文章,所以本篇文章就做一个记录,避免以后再走冤枉路。 …

C# WPF布局

布局&#xff1a; 1、Grid: <Window x:Class"WpfApp2.MainWindow" xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d"http://schemas.microsoft.com…

SPARK:性能调优之RSS

参考文章&#xff1a; 京东Spark自研Remote Shuffle Service在大促中的应用实践SPARK RSS 杂谈RSS设计文档 一、原生的 shuffle 过程 1、在mapper将shuffle数据写到本地磁盘&#xff0c;每个mapper会按照下游reducer的个数生成block 2、reducer在fetch环节拉取对应的block …

Linux--链表 第二十五天

1. 链表 t1.next -> data t1.next->next->data .(点号)的优先级比->的大 所以 t1.next->data 就可以了 不用(t1.next)->data 2. 链表的静态增加和动态遍历 打印链表算法&#xff0c; void printLink(struct Test *head) { struct Te…

AlDente Pro for mac最新激活版:电池长续航软件

AlDente Pro是一款专为Mac用户设计的电池管理工具&#xff0c;旨在提供电池安全和健康管理的一站式解决方案。它具备实时监控电池状态的功能&#xff0c;让用户随时了解电池的电量、充电次数、健康状态等信息。 AlDente Pro for mac最新激活版下载 同时&#xff0c;AlDente Pro…

BOM事件的重点——之转生在异世界学前端

每个事件都有事件源&#xff0c;事件类型&#xff0c;事件处理程序 事件源指触发事件的元素&#xff0c;事件类型值什么事件&#xff0c;事件处理程序指事件触发要执行的代码 每一个事件类型都有一个事件对象&#xff0c;事件对象是事件源触发产生的对象 事件对象其实指的是…

Centos7 搭建 GitLab服务 下载-安装-配置-卸载 完整版

说明 本文介绍一下 在CentOS7 上执行 GitLab 服务器的离线安装步骤。 本文介绍的步骤适用于 gitlab-ce-10.0.0 至 gitlab-ce-16.xx.xx 版本。 本文详细记录了安装的全部过程&#xff0c;各位读者可以直接1.环境准备 安装依赖 yum install -y curl policycoreutils-python ope…

5.Eureka原理分析

消费者如何获取服务提供者具体信息&#xff1f; 1.服务提供者启动时向Eureka注册自己的信息。 2.Eureka保存这些信息。 3.消费者根据服务名称向Eureka拉取提供者信息。 如果有多个服务的提供者&#xff0c;消费者该如何选择&#xff1f; 1.服务消费者利用负载均衡算法&…