首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSearch如何获得包含10个或10个以上字段的文档?

ElasticSearch如何获得包含10个或10个以上字段的文档?
EN

Stack Overflow用户
提问于 2018-04-19 23:09:06
回答 2查看 40关注 0票数 0

我想得到所有有10个或10个以上字段的文档。我猜是这样的:

代码语言:javascript
复制
{
  "query": {
    "range": {
      "fields": {
        "gt": 1000
      }
    }
  }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-20 03:21:24

您能做的就是像这样运行一个脚本查询

代码语言:javascript
复制
{
  "query": {
    "script": {
      "script": {
        "source": "params._source.size() >= 10"
      }
    }
  }
}

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

更好的方法是添加另一个整数字段,该字段包含文档包含的字段数,因此您可以简单地对其运行一个range查询,就像在您的问题中一样。

票数 1
EN

Stack Overflow用户

发布于 2018-04-19 23:13:50

根据_source字段的文档,您可以这样做,或者不能根据字段计数获得结果。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49931559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档