elasticsearch 术语过滤器导致记忆急剧增加,elasticsearch,memory-leaks,elasticsearch,Memory Leaks" /> elasticsearch 术语过滤器导致记忆急剧增加,elasticsearch,memory-leaks,elasticsearch,Memory Leaks" />

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记录是一个很大的数字。有关存储大小和峰值之间的关系,请参见我回答中的第二段。您能否详细说明第二部分?我们还注意到,多次触发上述查询似乎会不断增加内存。