ElasticSearch如何获取包含10个或更多字段的文档?

时间:2018-04-19 23:09:07

标签: elasticsearch cypher

我希望获得所有包含10个或更多字段的文档。我猜这样的事情:

{
  "query": {
    "range": {
      "fields": {
        "gt": 1000
      }
    }
  }
}

2 个答案:

答案 0 :(得分:1)

您可以做的就是运行像这样的脚本查询

{
  "query": {
    "script": {
      "script": {
        "source": "params._source.size() >= 10"
      }
    }
  }
}

但是,请注意,根据您拥有的文档数量和支持群集的硬件,这可能会对群集的性能产生负面影响。

更好的想法是添加另一个包含文档所包含字段数的整数字段,这样您就可以在其上运行range查询,就像您的问题一样。

答案 1 :(得分:0)

根据_source字段的每个文档,你可以这样做,或者根据字段数不能得到结果。

  

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html