我有一个基于自由文本搜索或代码的请求列表。 我想消除类似代码的请求,而只保留自然语言的请求。 因此,我需要一个可以将这些术语分开的查询。
下面是我已经尝试过的query-json
{
"query": {
"regexp": {
"q": "[^\d\W]"}
}
}
}
我收到的错误是以下行“ q”的“ Bad String”:“ [^ \ d \ W]”} 期望将改进正则表达式以便能够保留相关数据
答案 0 :(得分:1)
您可以使用
"regexp": {
"q": "[^0-9]+"}
}
在Kibana中使用的Lucene regex引擎默认情况下会锚定所有模式,因此[^0-9]+
将匹配任何字符串,从头到尾只有数字以外的其他字符。
此外,也不支持\d
和\W
以及其他速记字符类。