我希望获得所有包含10个或更多字段的文档。我猜这样的事情:
{
"query": {
"range": {
"fields": {
"gt": 1000
}
}
}
}
答案 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