如何在elasticsearch中搜索具有冒号(:)值的字段

时间:2017-02-21 11:54:15

标签: regex elasticsearch wildcard querydsl mac-address

我有一个字段"macaddress": "ff:ff:00:57:29:05"

我如何逃避冒号(:)将其视为正则表达式通配符。尝试使用斜杠(\)转义转义字符串,但查询失败

{
"query": {
    "wildcard": {
        "macaddress": "57:"
    }
 }
}

我想搜索57:25 *之类的东西,我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:0)

而不是使用通配符代替match_phase wildcard是*匹配任何字符序列(包括空字符序列)和?,它匹配任何单个字符。

{
    "query": {
        "match_phrase":{
            "macaddress":"57:29"
        }
    }
}