ElasticSearch:根据字段长度过滤文档?

Hen*_*hiu 10 lucene elasticsearch

有没有办法根据特定字段的长度过滤ElasticSearch文档?

例如,我有一堆带有"body"字段的文档,我只想返回正文中字符数> 1000的结果.有没有办法在ES中执行此操作而无需添加额外的列与索引的长度?

Phi*_*hil 7

使用脚本过滤器,如下所示:

"filtered" : {
    "query" : {
        ...
    }, 
    "filter" : {
        "script" : {
            "script" : "doc['body'].length > 1000"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑 抱歉,打算在脚本过滤器上引用查询DSL指南