elasticsearch Elasticsearch fielddata的内存使用
在本文之后,我使用ElasticSearch创建了一个简单的自动完成 下面是一个简单的例子。 起初,我没有将elasticsearch Elasticsearch fielddata的内存使用,elasticsearch,autocomplete,elasticsearch,Autocomplete,在本文之后,我使用ElasticSearch创建了一个简单的自动完成 下面是一个简单的例子。 起初,我没有将“fielddata”:true设置为autocomplete属性。 然后,ES返回了一个错误 { "error": { "root_cause": [ { "type": "illegal_argument_exception", "reason": "Fielddata is disabled on text fields by
“fielddata”:true设置为autocomplete属性。
然后,ES返回了一个错误
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Fielddata is disabled on text fields by default. Set fielddata=true on [autocomplete] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory."
}
}
因此,我在autocomplete的属性中添加了“fielddata”:true
,效果很好
但文档增加后,[fielddata]数据太大,[autocomplete]的数据将超过[249416908/237.8mb]的限制。
发生错误
以下是我的问题
这是实现“自动完成”的正确方法吗?
我认为这是搜索引擎的一个常见功能,但在ES中没有建议。我说得对吗
此功能是否需要“fielddata”?
我认为即使它不是功能所必需的,我也需要它在短时间内做出响应
如何减少字段数据大小?还是增加fielddata限制大小?
我将尝试减小最大瓦大小。如果还有什么好办法,请告诉我
ES的实际内存使用情况是什么
我想根据文档大小计算内存消耗,但是GET\u nodes/stats
的结果包含一些奇怪的东西
{
"os": {
"mem": {
"total_in_bytes": 128922271744,
"free_in_bytes": 2966560768,
"used_in_bytes": 125955710976,
"free_percent": 2,
"used_percent": 98
}
}
}
我只是打开ES,没有索引,但它显示几乎所有的记忆都在使用中
非常感谢您阅读本文