【问题标题】:How do I get the count/size of an array in elasticsearch如何在 elasticsearch 中获取数组的计数/大小
【发布时间】:2013-03-15 17:19:53
【问题描述】:

我想在我的一个数组上做一个统计方面。我希望像

"script" : "doc['myField'].doubleValue

"script" : "doc['myField'].count

会起作用的。我还没有在 mvel 中找到任何数组计数方法,我什至不知道在脚本中访问数组字段是否真的给了我数组。

【问题讨论】:

标签: elasticsearch mvel


【解决方案1】:

我可能有。看来我需要计算数组中的一个字段而不是数组本身。这可能只是因为我只有对象数组。

"script" : "doc['arrayField.objectField'].values.length"

【讨论】:

  • 哈,我这样做了,它完全杀死了我的集群。也许有一种方法可以提高性能。
  • 它杀死了你的集群,因为它将这个字段的所有值加载到内存中,并且在 0.90 版本之前,elasticsearch 使用非常低效的结构来将多值字段的值保存在内存中。因此,您有几个选择:升级到 0.90.0.Beta1,如果存储此字段,则使用 _fields 而不是 doc,或者将数组的长度索引为另一个字段。我认为最后一个解决方案是最好的。
猜你喜欢
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
  • 2017-12-03
  • 1970-01-01
  • 1970-01-01
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多