在elasticSearch中为_id字段设置doc_values

时间:2018-11-19 10:28:05

标签: elasticsearch kibana

我想在弹性搜索中为_id字段设置doc_values想要基于_id进行排序

在api下点击以更新映射会给我一个错误

PUT my_index/my_type/_mapping
{
    "properties": {
      "_id": {
        "type": "keyword",
        "doc_values": true
      }
    }  
}

原因:[_id]的映射定义具有不受支持的参数:[doc_value:true]

1 个答案:

答案 0 :(得分:0)

它是“ doc_values”,您使用的参数不正确。 https://www.elastic.co/guide/en/elasticsearch/reference/current/doc-values.html

弹性不鼓励在_id字段上排序。参见this

_id字段的值也可以在聚合或排序中访问,但是不建议这样做,因为它需要在内存中加载大量数据。如果需要对_id字段进行排序或汇总,建议将_id字段的内容复制到另一个启用了doc_values的字段中。

编辑

为名称的索引模式创建一个脚本化字段。类型id和脚本string的{​​{1}}。有关脚本字段的更多信息,请参见this链接。这将创建一个新字段doc['_id'].value,并为索引到与索引模式匹配的索引中的每个文档复制id字段的值。然后,您可以在_id字段上执行排序。