我正在使用 Kibana 控制台执行此类查询(它们是分开的:一个用于主题标签,一个用于提及)。文档集合是带有 textContent 字段的博客条目,其中可能包含 @theUserName @AnotherOne 之类的用户提及或 #helloWorld 和 #hello2 之类的主题标签。查询如下所示:
GET /xblog/_search
{
"source": [
"id",
"textContent"
],
"query": {
"regexp": {
"textContent": {
"value": "@([^-A-Za-z0-9])",
"flags": "ALL"
}
}
}
}
但问题是它还返回不包含@userMention 的文档。我认为正则表达式中的 @ 被视为特殊符号,但阅读文档我找不到如何逃避它。
在文档 1 中,作者说你可以用双引号转义任何符号,所以我测试了:
""@"" 但我什么也没得到。
我还测试了我习惯的表达式,例如:/\s([@#][\w_-]+)/g
但这会在 Kibana 中产生多个错误。我尝试根据文档更换一些部件,但它仍然无法正常工作。
你能为我指出正确的方向吗?提前致谢,