测试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
相关推荐
zxsz_com_cn26 分钟前
设备预测性维护的意义 工业设备预测性维护是什么
大数据
samLi06201 小时前
【数据集】中国杰出青年名单数据集(1994-2024年)
大数据
成长之路5142 小时前
【数据集】分地市旅游收入数据集(2000-2024年)
大数据·旅游
Elasticsearch2 小时前
使用 Elastic Agent 混合摄取加速 Otel 采用
elasticsearch
大厂技术总监下海2 小时前
用户行为分析怎么做?ClickHouse + 嵌套数据结构,轻松处理复杂事件
大数据·数据结构·数据库
大厂技术总监下海2 小时前
大数据生态的“主动脉”:RocketMQ 如何无缝桥接 Flink、Spark 与业务系统?
大数据·开源·rocketmq
2501_933670792 小时前
2026年中专大数据专业可考取的证书
大数据
W***r263 小时前
SpringBoot整合easy-es
spring boot·后端·elasticsearch
oMcLin3 小时前
如何在Ubuntu 22.04 LTS上优化PostgreSQL 14集群,提升大数据查询的响应速度与稳定性?
大数据·ubuntu·postgresql
信创天地3 小时前
核心系统去 “O” 攻坚:信创数据库迁移的双轨运行与数据一致性保障方案
java·大数据·数据库·金融·架构·政务