我们使用ElasticSearch Suggesters实现了自动完成功能,我们面临着很常见的短语崩溃,例如“最佳”,“该”,甚至“iphone”。
我读到它的内存很饿,并迅速从堆空间中走出来。我们正在研究如何设置集群或索引文档。
"mappings": {
"type": {
"properties": {
"keyword": {
"type": "text",
"fields": {
"nomalized": {
"type": "keyword",
"normalizer": "my_normalizer",
"ignore_above": 256
},
"completion": {
"type": "completion"
}
}
}
我们有13亿个文档,每个文档包含一个搜索keyword
和3个数字指标。我们正在keyword
部分执行自动填充功能。
我们有9个分片,每个分片大约有12GB的内容。我们的堆大小是32GB。 有时建议者可以工作,但有时不会使用常用词,而问题是它会使我们的节点崩溃。我们有什么选择?
更新1
135G data/nodes/0/indices/SJNHwqTQQquqj4CpfEsPkw
50G data/nodes/0/indices/odTgqzEjRtCtTWyGkHb9kQ
56K data/nodes/0/indices/JaEuh3z5SZmpg2-WBJrI8g
65G data/nodes/0/indices/2BVVlEM5QxWk1aZK3Sud2A
249G data/nodes/0/indices
更新2
群集已调整大小,将每个节点升级到39GB内存,20GB设置为堆大小,重新调整统计数据后此处https://pastebin.com/EPhtEaY5