如何在Elasticsearch 6.3中找到哪个碎片超过30Gb

时间:2019-01-14 21:16:37

标签: elasticsearch querydsl

我想知道是否可以运行DSL查询以获取超过一定大小的碎片列表?

_cat /分片列出了所有分片,但是我们有成千上万个分片,甚至将它们全部导出到Excel并试图按值进行筛选也很困难。

我们可以指定一个查询来提取大于30Gb的碎片吗?

1 个答案:

答案 0 :(得分:3)

您可以显示所有碎片并按大小对其进行排序。根据{{​​3}}:

  

每个命令都接受一个查询字符串参数s,该参数按指定为参数值的列对表进行排序。列可以通过名称或别名来指定,并以逗号分隔的字符串形式提供。默认情况下,排序以升序方式进行。将:desc附加到一列将反转该列的顺序。 :asc也可以接受,但表现出与默认排序顺序相同的行为。

因此,您可以按以下顺序以降序列出所有碎片:

GET _cat/shards?v&s=store:desc

v用于documentations用于verbose commandstore是包含分片大小的列的名称,而:desc是按降序排序的。

所有大于30Gb的碎片将首先出现。