我想得到所有有10个或10个以上字段的文档。我猜是这样的:
{
"query": {
"range": {
"fields": {
"gt": 1000
}
}
}
}发布于 2018-04-20 03:21:24
您能做的就是像这样运行一个脚本查询
{
"query": {
"script": {
"script": {
"source": "params._source.size() >= 10"
}
}
}
}但是,请注意,这可能会对群集的性能产生负面影响,这取决于您拥有的文档数量和支持群集的硬件。
更好的方法是添加另一个整数字段,该字段包含文档包含的字段数,因此您可以简单地对其运行一个range查询,就像在您的问题中一样。
发布于 2018-04-19 23:13:50
根据_source字段的文档,您可以这样做,或者不能根据字段计数获得结果。
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html
https://stackoverflow.com/questions/49931559
复制相似问题