0

我正在尝试编写一个 Lucene 过滤器,它将“what's”替换为“what is”,“can't”替换为“cannot”等。

如果incrementToken()该术语是我要替换的字符串之一,我会计算一个替换字符串(例如什么 -> 什么)并将其推送到 CharTermAttribute:

termAttr.copyBuffer(replacement.toCharArray, 0, replacement.length)

但这似乎不起作用,当我搜索'what's'时,我仍然得到包含'what's'的结果,而不是将字符串视为'what's'。

实现这一目标的正确方法是什么?我需要创建分词器吗?(理想情况下,我想保留 StandardTokenizer 并添加到它而不是替换它)

4

1 回答 1

0

这可以使用标记器而不是过滤器来解决。

于 2020-07-10T08:44:18.767 回答