es8实现向量检索与关键词匹配混合搜索
准备工作
-
安装必要的Python库:
pip install elasticsearch numpy
-
确保你有一个运行中的Elasticsearch集群(版本7.0+,推荐7.6+以获得更好的向量搜索功能)
实现步骤
1. 连接Elasticsearch集群
from elasticsearch import Elasticsearch # 连接集群,可以有多个节点 es = Elasticsearch( ["http://node1:9200", "http://node2:9200", "http://node3:9200"], # 如果有认证 # http_auth=('username', 'password') )
2. 创建包含向量字段的索引
index_name = "vector_index" # 定义mapping,包含一个dense_vector类型的字段 mapping = { "mappings": { "properties": { "title": {"type": "text"}, "con