原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/sparse-vector.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/sparse-vector.html

sparse_vector(稀疏向量)数据类型

于7.6版本废弃。

sparse_vector类型已废弃,将在8.0中移除。

sparse_vector类型的字段存储浮点值的稀疏向量。 向量中的最大维数不应超过1024。 不同文档的维度的数量可以不同。 sparse_vector字段是单值字段。

这些向量可用于文档评分。 例如,文档的得分可以表示给定查询向量和索引文档向量之间的距离。

将稀疏向量表示为对象,其中对象字段是维度,字段值是这些维度的值。 维度是以字符串编码的从065535的整数值。 维度不需要按顺序排列。

PUT my_index
{
  "mappings": {
    "properties": {
      "my_vector": {
        "type": "sparse_vector"
      },
      "my_text" : {
        "type" : "keyword"
      }
    }
  }
}
PUT my_index/_doc/1
{
  "my_text" : "text1",
  "my_vector" : {"1": 0.5, "5": -0.5,  "100": 1}
}

PUT my_index/_doc/2
{
  "my_text" : "text2",
  "my_vector" : {"103": 0.5, "4": -0.5,  "5": 1, "11" : 1.2}
}

在内部,每个文档的稀疏向量被编码为二进制文档值。 大小等于6 * NUMBER_OF_DIMENSIONS + 4个字节,其中NUMBER_OF_DIMENSIONS是向量维度的数值。