愚者求师之过,智者从师之长。

es索引的时候内存问题

Elasticsearch | 作者 kepmoving | 发布于2017年04月13日 | 阅读数:5118

es创建索引的时候经常把机器的内存打满,es的jvm配置的6g,机器的内存是16g,另外4g被其他应用程序占用了,索引的文档比较大(单文档可能要达到500k到1m左右),bulk的时候是200个文档一次,有大神指点一下吗
已邀请:

leighton_buaa

赞同来自:

首先可以在创建索引mapping的时候将"_all”disable,
"_all": {
"enabled": false
}

 文档的每个字段都需要分词吗?如果不是,将不需要分词的字段的type映射成"type": "keyword",只索引不分词

Jea - 一只猿

赞同来自:

在创建索引时, number_of_replicas设置为0, 减少复制操作, 这个是提交效率的
 
在创建时,我这里的做法是合理的设置mapping里的type(short, long, string[not_analized]), 如下:
 
{
"type":{
"dynamic": false, #//不要设置为true, 默认是true, 那么将会自动的根据增加的字段来更新索引, 这个开销是很大的
"properties": {
"someint": {
"type": "long"
},
"somestring": {
"type": "string",
"index": "not_analyzed"
}
}
}
}

要回复问题请先登录注册