cch123/elasticsql

能否支持escape?

xujj25 opened this issue · 3 comments

原始sql

SELECT
    `familyCode`
FROM
    `myTable`
WHERE
    (`admin` LIKE '%v!_xxx%' ESCAPE '!')
ORDER BY
    `updateTime` DESC
LIMIT
    10

其中要对admin字段双侧LIKE字符串v_xxx
输出的结果:

{
    "query": {
        "bool": {
            "must": [
                {
                    "match_phrase": {
                        "admin": {
                            "query": "v!_xxx"
                        }
                    }
                }
            ]
        }
    },
    "from": 0,
    "size": 10,
    "sort": [
        {
            "updateTime": "desc"
        }
    ]
}

其中query.bool.must[0].match_phrase.admin.query字段的值中,! 没有去掉。

我看了一下,这个 escape 在解析出来的 ast 里,不过我得先学习一下用法,应该不太难
擦,有点没看懂这个,是理论上我把 escape 用到的字符去掉就可以了么。。

可能需要完整支持escape功能才行,不能仅去掉字符