elasticsearch 术语过滤器导致记忆急剧增加
使用的术语过滤器:elasticsearch 术语过滤器导致记忆急剧增加,elasticsearch,memory-leaks,elasticsearch,Memory Leaks,使用的术语过滤器: curl -XGET 'http://localhost:9200/my-index/my-doc-type/_search' -d '{ "filter": { "term": { "void": false } }, "fields": [ [ "user_id1", "user_name", "date", "status", "q1", "q1_un
curl -XGET 'http://localhost:9200/my-index/my-doc-type/_search' -d '{
"filter": {
"term": {
"void": false
}
},
"fields": [
[
"user_id1",
"user_name",
"date",
"status",
"q1",
"q1_unique_code",
"q2",
"q3"
]
],
"size": 50000,
"sort": [
"date_value"
]
}'
void字段是一个布尔字段。
索引存储大小为504mb。
elasticsearch设置仅由单个节点和索引组成
仅由一个碎片和0个副本组成。版本
elasticsearch为0.90.7
上述字段仅为前8个字段。实际的
我们执行的术语过滤器有350个字段。
我们注意到,虽然存储大小只有504mb,但内存却增加了约2-3gb
多次运行查询似乎会不断增加内存
有人能解释为什么会出现这种记忆尖峰吗
这是Elasticsearch的老版本
你一次就归还了50000张唱片
对5万条记录进行排序
你的文档相当大,有350个字段。
您是否可以返回较少数量的记录?然后翻阅一遍?
我可以帮你
不清楚您是否已为单个字段编制了索引-这可能会有所帮助,因为从磁盘读取的源可能会产生内存开销。与筛选器匹配的实际记录只有17000条。这是用于导出功能,因此分页没有帮助。存储大小和我们遇到的峰值之间的关系如何?返回的17k记录是一个很大的数字。有关存储大小和峰值之间的关系,请参见我回答中的第二段。您能否详细说明第二部分?我们还注意到,多次触发上述查询似乎会不断增加内存。