1

我在 couchbase 中为我的分析器使用正则表达式字符过滤器。理想的结果如下

phuong 1 -> phuong_1
phuong  12 -> phuong_12

Couchbase Web 控制台中的配置字符过滤器如下

Regular expression : ([a-z])\s+(\\d)
Replacement: $1_
  • 上述配置的结果是产生 term [phuong,1, 12 ]
  • 理想的结果是 [phuong_1 , phuong_12]
  • 我已经多次对齐此代码但它仍然无法正常工作
  • 你能帮我解决这个问题吗?
4

1 回答 1

3

Couchbase 的全文搜索是用 golang 实现的。这是您的正则表达式如何工作的游乐场插图..

https://play.golang.org/p/Jray7DTYZam

如上图所示,$1x 等价于 ${1x},而不是 ${1}x。因此,您的替换需要更新为${1}_.

现在这就是说,我们有一个限制,即目前不支持变量($1、${2} 等)。我创建了一个内部票据来扩展对此的支持。

于 2020-03-16T23:52:58.393 回答