我有regexp_filter
在我的文档e..g
regexp_filter=Bob Smith=>Robert Smith
但是我发现当模式文本在括号内时这不起作用,例如..
he and my boss (Bob Smith) were due to..
我尝试了一些东西来摆脱(
(
但是当它们在括号内时,不管模式是否匹配。
无论如何都能正确地做到这一点吗?
更新与连字符完全相同。即使我在Stopwords
或Charset
中明确删除它们,或者甚至使用regexp删除它们
regexp_filter=-=>
它们被索引并打破任何正则表达式,尤其是字边界。
所以:
regepx_filter=\bBob\b=>Robert
文字失败,如'收件人:Bob-Mark-John`
`
答案 0 :(得分:0)
如果你将括号添加到charset_table(意味着它是一个有效的字符,就像'a'),意味着(Bob Smith)成为(Robert Smith)。
“Robert Smith
”与“(Robert Smith)
”不匹配。只有启用了中缀并进行通配符搜索(例如“*Robert Smith*
”),才能进行此匹配。
只有在您确定需要将其作为用于构造单词的有效字符时,才应向chartset_table添加特殊字符。