Elasticsearch:获取文档字段值的子字符串?

Dev*_*hou 2 elasticsearch

mysql我可以sql SELECT LEFT(field,4) from table用来搜索一个字段的4个字节.

Elasticsearch 有类似的语法?

Val*_*Val 7

使用ES,您可以使用script_fields以便在现有字段上执行任何脚本计算.

在您的情况下,这将转化为像这样的查询:

{
    "query" : {
        "match_all": {}
    },
    "script_fields" : {
        "left_field" : {
            "script" : {
                "inline": "doc.field.value.substring(0, length)"
                "params": {
                    "length": 4
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在您的回复中,您将获得一个名为的字段left_field,该字段将包含该field值的最左侧4个字符.

还要确保启用动态脚本以使其正常工作.