gpt4 book ai didi

java - 从 Lucene 标准分析器中删除空格字符

转载 作者:行者123 更新时间:2023-11-30 03:45:43 25 4
gpt4 key购买 nike

StandardAnalyzer 将空格字符视为 token ,我希望 StandardAnalyzer 不要使用空格字符作为 token 来创建 token 。那么我如何重写StandardAnalyzer的标记器。如果不是,请建议任何其他Analyzer以及不使用空格字符作为 token 的示例。

最佳答案

此代码可以帮助您:

Analyzer ana = new StandardAnalyzer(LUCENE_30, Collections.emptySet());

请注意,答案取决于版本。对于 Lucene 4.0,请使用:

Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_40, CharArraySet.EMPTY_SET);

编辑:

构造一个由 StandardFilter、org.apache.lucene.analysis.LowerCaseFilter 和 org.apache.lucene.analysis.StopFilter 过滤的 StandardTokenizer。

@Override
public TokenStream tokenStream(String fieldName, Reader reader) {
StandardTokenizer tokenStream = new StandardTokenizer(matchVersion, reader);
tokenStream.setMaxTokenLength(maxTokenLength);
TokenStream result = new StandardFilter(tokenStream);
result = new LowerCaseFilter(result);
result = new StopFilter(enableStopPositionIncrements, result, stopSet);
return result;
}

private static final class SavedStreams {
StandardTokenizer tokenStream;
TokenStream filteredTokenStream;
}

关于java - 从 Lucene 标准分析器中删除空格字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25759985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com