正则表达式不适用于弹性搜索

时间:2018-03-23 11:44:30

标签: elasticsearch

我在我的项目中使用弹性搜索,现在我需要从文档中找出SQL插入查询。 为了实现这一点,我准备了一个正则表达式,并将索引字段作为关键字分析器。 由于弹性搜索有一些保留字符,我正在逃避这些,但它不起作用。

例如:

(INSERT INTO\s+)('*\w+'*)(\s*\(['*\w+'*,?\s*]+\))(\s+VALUES\s+\(['*\w*\d*'*,?]+\))  expression should match following sql insert statement
INSERT INTO 'strea' ('g') VALUES ('1','2','2').

以下是我的curl命令

    curl -u kibana:kibana -XGET 'https://192.168.1.28:9200/fileindex1/file/_search?pretty' -H 'Content-Type: application/json' -d'
{
    "query": {
        "regexp":{
            "regex.content": "\(INSERT INTO\\s\+\)\('\*\\w\+'\*\)\(\\s\*\\(\['\*\\w\+'\*,\?\\s\*\]\+\\)\)\(\\s\+VALUES\\s\+\\(\['\*\\w\*\\d\*'\*,\?\]\+\\)\)"
        }
    }
}' -k

0 个答案:

没有答案