在mysql
我可以使用sql
SELECT LEFT(field,4) from table
搜索字段的4个字节。
Elasticsearch
有类似的语法吗?
答案 0 :(得分:7)
使用ES,您可以使用script_fields
来对现有字段执行任何脚本计算。
在您的情况下,这将转化为像这样进行查询:
{
"query" : {
"match_all": {}
},
"script_fields" : {
"left_field" : {
"script" : {
"inline": "doc.field.value.substring(0, length)"
"params": {
"length": 4
}
}
}
}
}
然后在您的回复中,您将获得一个名为left_field
的字段,该字段将包含field
值的最左侧4个字符。
还要确保enable dynamic scripting才能生效。