elasticsearch 是否应该Map不会在任何查询中使用的属性?

hgncfbus  于 2023-06-21  发布在  ElasticSearch
关注(0)|答案(1)|浏览(116)

例如,我在_source响应中需要一些字段,但我永远不会在任何过滤器或聚合中使用它们。从Map中删除它们以保存内存是否有意义?考虑到我正在使用动态:false,当我重新索引它们时,它们不会被Map,但它们仍然存在于_source中。
对我来说,这是有道理的,但我不知道这是否可以被认为是坏的做法。

ocebsuys

ocebsuys1#

如果您需要在_source中使用这些字段,但您没有在查询或聚合中使用它们,则可以在Map中添加index: false

{
    "mappings": {
        "properties": {
            "field": {
               "type": "keyword",
               "index": false
            }
        }
    }
}

对于object字段,可以改为添加"enabled": false

{
    "mappings": {
        "properties": {
            "session": {
               "type": "object",
               "enabled": false
            }
        }
    }
}

相关问题