深入探索 ElasticSearch 自定义分析插件开发
1. 实现 TokenFilter
在开发 ElasticSearch 插件时,整个分析工作实际上是在 Lucene 层面完成的。我们需要编写 org.apache.lucene.analysis.TokenFilter 的扩展,将其命名为 CustomFilter 。为了实现这一点,我们要初始化父类并重写 incrementToken() 方法。该类负责反转令牌,以下是 CustomFilter 的完整实现:
public class CustomFilter extends TokenFilter {
private final CharTermAttribute termAttr =
addAttribute(CharTermAttribute.class);
protected CustomFilter(TokenStream input) {
super(input);
}
@Override
public boolean incrementToken() throws IOException {
if (input.incrementToken()) {
char[] originalTerm = termAttr.buffer();
if (originalTerm.length > 0) {
StringBuilder builder = new Stri
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



