测试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
相关推荐
Robot侠2 小时前
极简LLM入门指南4
大数据·python·llm·prompt·提示工程
技术钱3 小时前
vue3解决大数据加载页面卡顿问题
大数据
福客AI智能客服5 小时前
从被动响应到主动赋能:家具行业客服机器人的革新路径
大数据·人工智能
小五传输6 小时前
隔离网闸的作用是什么?新型网闸如何构筑“数字护城河”?
大数据·运维·安全
jkyy20147 小时前
AI健康医疗开放平台:企业健康业务的“新基建”
大数据·人工智能·科技·健康医疗
蚁巡信息巡查系统7 小时前
政府网站与政务新媒体检查指标抽查通报如何面对
大数据·内容运营
视界先声7 小时前
2025年GEO自动化闭环构建实践:监测工具选型与多平台反馈机制工程分享
大数据·人工智能·自动化
Elasticsearch8 小时前
Elasticsearch:构建一个 AI 驱动的电子邮件钓鱼检测
elasticsearch
百***24378 小时前
GPT5.1 vs Claude-Opus-4.5 全维度对比及快速接入实战
大数据·人工智能·gpt
alan07218 小时前
【Java + Elasticsearch全量 & 增量同步实战】
java·elasticsearch·jenkins