集群中有一个索引每天产生2+TB的数据,大约占用掉10G的内存,其中terms_memory占了9G+。mapping中所有string类型的字段使用keyword类型,有一个msg字段较长,将该字段的index设为false之后,内存降到6G+但仍然较高。
我认为的terms_memory是使用倒排索引占用的内存,倒排是在分词之后产生的,keyword类型的不需要分词为什么也会占用terms_memory?是不是因为keyword字段中,整个字段中的内容就是一个term?
在关闭index之后还剩下6G+的terms_memory是哪些功能占用的?
我认为的terms_memory是使用倒排索引占用的内存,倒排是在分词之后产生的,keyword类型的不需要分词为什么也会占用terms_memory?是不是因为keyword字段中,整个字段中的内容就是一个term?
在关闭index之后还剩下6G+的terms_memory是哪些功能占用的?
3 个回复
kennywu76 - Wood
赞同来自: cccthought
你在关闭msg的index之后,看到的6G+ terms memory,是其他keyword字段的消耗。
rockybean - Elastic Certified Engineer, ElasticStack Fans,公众号:ElasticTalk
赞同来自:
如果仅过滤和聚合分析还可以把 norms 设为 false,如果不做聚合分析和排序,那么嗨可以把 doc_value 设为 false
还有一个设置是 enabled 设置为 false 的话,就只做存储,其他啥都做不了了
zqc0512 - andy zhou
赞同来自: