天天看点

ES索引瘦身 禁用_source后需要设置field store才能获取数据 否则无法显示搜索结果

在默认情况下,开启_all和_source

这样索引下来,占用空间很大.

根据我们单位的情况,我觉得可以将需要的字段保存在_all中,然后使用IK分词以备查询,其余的字段,则不存储.

并且禁用_source字段.(也可以通过_source includes或者excludes 指定或者排除字段)

<a></a>

这里采用了动态映射的功能(dynamic_templates),符合条件的字段,直接采用动态映射中预先的配置.

这里动态映射匹配所有字段,将_all禁用。

然后有需要的字段,再逐个开启.

索引之后,效果非常明显.磁盘占用减少了一半还多.

动态映射 {name}表示文档中原始的字段名称,{dynamic_type}表示原始文档的类型

动态映射在实际使用中,除了匹配字段名称,还可以匹配类型。

"match_mapping_type": "string"

动态映射如果设置在 "_default_" 则表示规则应用在所有类型的索引上.

虽然禁用_source,指定加入_all的字段,可以大幅减少磁盘空间占用,

但是查询会麻烦一些。原来可以直观看到的数据没有了.

而且默认情况下,没有足够的信息显示.

所以查询显得麻烦一些,使用如下的方式:

转自:http://m.blog.itpub.net/29254281/viewspace-2103996/

本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6432496.html,如需转载请自行联系原作者

继续阅读