测试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
相关推荐
人大博士的交易之路1 分钟前
今日行情明日机会——20251104
大数据·数据挖掘·数据分析·缠论·涨停回马枪·道琼斯结构
John Song19 分钟前
用zookpeer搭建Hadoop的HA集群,组件启动的启动顺序是什么?
大数据·hadoop·debian
Hello.Reader30 分钟前
Flink Table API & SQL 概念、常用 API 与工程落地
大数据·sql·flink
SEO_juper1 小时前
AI SEO实战:利用人工智能提升网站排名与流量的完整策略
人工智能·搜索引擎·百度·ai·seo·数字营销
Empty_7773 小时前
Elasticsearch+Logstash+Filebeat+Kibana部署
大数据·elasticsearch·搜索引擎
武子康3 小时前
大数据-144 Apache Kudu:实时写 + OLAP 的架构、性能与集成
大数据·后端·nosql
敲上瘾5 小时前
Elasticsearch从入门到实践:核心概念到Kibana测试与C++客户端封装
大数据·linux·c++·elasticsearch·搜索引擎·全文检索
api_180079054605 小时前
请求、认证与响应数据解析:1688 商品 API 接口深度探秘
java·大数据·开发语言·mysql·数据挖掘
0和1的舞者8 小时前
网络通信的奥秘:网络层ip与路由详解(四)
大数据·网络·计算机网络·计算机·智能路由器·计算机科学与技术
WLJT1231231239 小时前
九寨:在山水间触摸生活的诗意
大数据·生活