稀疏向量字段类型编辑

一个 sparse_vector 字段可以索引特征和权重,以便它们可以随后用于在使用 text_expansion 查询的查询中查询文档。

sparse_vector 是应该与 ELSER 映射 一起使用的字段类型。

response = client.indices.create(
  index: 'my-index',
  body: {
    mappings: {
      properties: {
        'text.tokens' => {
          type: 'sparse_vector'
        }
      }
    }
  }
)
puts response
PUT my-index
{
  "mappings": {
    "properties": {
      "text.tokens": {
        "type": "sparse_vector"
      }
    }
  }
}

有关使用 ELSER 将文档添加到 sparse_vector 映射字段的完整示例,请参阅 使用 ELSER 进行语义搜索

sparse_vector 字段不能包含在 Elasticsearch 版本 8.0 到 8.10 之间 创建 的索引中。

sparse_vector 字段仅支持单值字段和严格正值。多值字段和负值将被拒绝。

sparse_vector 字段不支持查询、排序或聚合。它们只能在 text_expansion 查询中使用。

sparse_vector 字段仅保留 9 位有效位用于精度,这转化为大约 0.4% 的相对误差。