Elasticsearch查询以获取数组大小

时间:2020-08-13 01:48:13

标签: elasticsearch elasticsearch-query

我的Elasticsearch文档如下:

Doc 1:
{
  "name" : "Tom",
  "values" : [
    { "value" : "value 1" },
    { "value" : "value 2" },
    { "value" : "value 3" }
  ]
}

Doc 2:
{
  "name" : "Bob",
  "values" : [
    { "value" : "value 1" },
    { "value" : "value 2" }
  ]
}

如何通过文档查询values数组大小大于2的文档?

1 个答案:

答案 0 :(得分:0)

您需要将此添加到bool查询中。

paper.scale(scaleValue);
...
setTimeout(function(){
  paper.translate(paper.translate().tx + 1, paper.translate().ty + 1);
}, 1);

"filter" : { "script" : { "script" : "doc['values'].values.size() > 2" } } 筛选出符合条件的文档。

filter返回数组的大小。

size()查找doc['values']字段。