测试es向量检索

#需要注意该版本部分功能(rrf)收费,可申请30天试用

#测试阶段可以修改dims参数来测试

#拉取镜像

bash 复制代码
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.11.1

#启动命令

bash 复制代码
docker run -d --name elasticsearch \
  -p 9200:9200 -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "xpack.security.enabled=false" \
  docker.elastic.co/elasticsearch/elasticsearch:8.11.1

#创建索引

java 复制代码
PUT my_vector_index
{
  "mappings": {
    "properties": {
      "title": { // 存储原始文本
        "type": "text"
      },
      "title_vector": { // 存储对应的向量
        "type": "dense_vector",
        "dims": 384, // 必须与你生成的向量维度一致
        "index": true, // 启用 ANN 索引
        "similarity": "cosine" // 使用余弦相似度
      }
    }
  }
}

#写入文档

java 复制代码
POST my_vector_index/_doc
{
  "title": "The quick brown fox jumps over the lazy dog",
  "title_vector": [0.125, -0.056, 0.987, ...] // 这里替换为真实的 384 维向量
}

#进行向量搜索

java 复制代码
GET my_vector_index/_search
{
  "knn": {
    "field": "title_vector", // 指定向量字段
    "query_vector": [0.125, -0.056, 0.987, ...], // 将你的查询词(如 "animal")也转换为向量
    "k": 10, // 返回最相似的 10 个结果
    "num_candidates": 100 // 从每个分片中选取的候选数量,越大越准但越慢
  }
}

#将向量搜索和传统搜索结合

java 复制代码
GET my_vector_index/_search
{
  "query": {
    "match": {
      "title": "quick fox" // 传统关键词查询
    }
  },
  "knn": {
    "field": "title_vector",
    "query_vector": [-0.123, 0.045, 0.888, ...], // 语义查询
    "k": 10,
    "num_candidates": 100
  },
  "rank": {
    "rrf": { // 使用 Reciprocal Rank Fusion 算法合并两次搜索的结果
      "window_size": 50,
      "rank_constant": 20
    }
  }
}

#申请rrf免费30天体验

java 复制代码
POST /_license/start_trial?acknowledge=true
相关推荐
飞飞传输9 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
得帆低代码PaaS9 小时前
企业级 Agent 架构:MCP、Integration、数据与治理能力
大数据·人工智能·架构·ai agent·企业数字化·mcp
TDengine (老段)15 小时前
TDengine IDMP 十大实用功能(9)
大数据·数据库·人工智能·物联网·时序数据库·tdengine·idmp
播播资源16 小时前
同账户实测 11 个多模态模型:图像 0.03 元起、竖屏视频 8 元一条,最贵和最便宜差 267 倍
大数据·人工智能·深度学习
全栈陈序员18 小时前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
演艺大赏19 小时前
NiFi 从 3 台扩到 25 台:三轮扩容后我才明白,证书必须全量重签、安装包绝对不能拷
大数据
做科研的周师兄19 小时前
【R语言实战】MixSIAR 氢氧同位素水源解析全流程:从混合空间校验到贝叶斯 MCMC 收敛诊断(后附完整代码)
java·大数据·开发语言
isfox21 小时前
MapReduce 数据清洗:脏数据进来,干净数据出去,连 Reduce 都省了
大数据
Francek Chen1 天前
【大数据处理与分析】数据仓库Hive:09 Hive 编程实践
大数据·数据仓库·hive·hadoop·sql
Percep_gan1 天前
Linux中安装gitea,很详细
linux·elasticsearch·gitea