ES集群多向量字段检索及混合检索方法

Elasticsearch(ES)集群可以存储多个向量字段,例如 titleVector 和 contentVector,并支持同时对它们进行检索。以下是具体实现方法及注意事项:

1. 定义索引映射

确保在索引映射中正确声明两个 dense_vector 字段,假设每个字段的维度为768:

PUT /my_index
{
  "mappings": {
    "properties": {
      "titleVector": {
        "type": "dense_vector",
        "dims": 768
      },
      "contentVector": {
        "type": "dense_vector",
        "dims": 768
      }
    }
  }
}

2. 同时检索两个向量字段

使用 script_score 查询结合两个向量的相似度计算。例如,将余弦相似度得分加权求和:

GET /my_index/_search
{
  "query": {
    "script_score": {
      "query": {"match_all": {}},
      "script": {
        "source": """
          (cosineSimilarity(params.queryTitleVector, 'titleVector') * params.t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李飞刀李寻欢

您的欣赏将是我奋斗路上的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值