【发布时间】:2019-09-21 11:18:37
【问题描述】:
我正在为 Elastic Search 中的重要术语聚合编写排除过滤器。我想从结果中排除与模式匹配的任何术语(任意 2 个字母)(任意 6 个数字),即 AB123456
我试过了:
[a-zA-Z]{2}&<0-9>{6}
但是当我尝试更新我的可视化时 Kibana 给出了一个错误
[x_content_parse_exception] [1:72] [significant_terms] exclude doesn't support values of type: START_OBJECT
这个 JavaScript 似乎做了我想做的事:
([a-zA-Z]{2}\d{6})
但我正在努力将其翻译成 Lucene
【问题讨论】:
-
为什么不直接使用
[a-zA-Z]{2}\d{6}? -
[a-zA-Z]{2}[0-9]{6}应该可以工作。 -
检查 docs 似乎 Lucene 不支持像
\d这样的简写。请改用[0-9]。 -
[a-zA-Z]{2}[0-9]{6}给出同样的错误 -
那么你的问题不是正则表达式。
标签: regex elasticsearch lucene