我开始使用 Apache Lucene 8.0。我想知道如何使用 Lucene 将我的 String text
变量转换为小写。我不太确定如何做到这一点,因为我找不到任何例子。我想要的是这样的:
public class DocumentLowercase {
private Analyzer analyzer;
public Analyzer DocAnalysis(Document d) {
analyzer = new StandardAnalyzer();
String text = d.text();
**Here convert String Text into lowercase**
** maybe using Lower Case Tokenizer? but how? **
return analyzer;
}
}
最佳答案
StandardAnalyzer 已将所有内容转换为小写!
在此处查看文档:http://lucene.apache.org/core/8_0_0/core/org/apache/lucene/analysis/standard/StandardAnalyzer.html
他们说:
Filters StandardTokenizer with LowerCaseFilter and StopFilter, using a configurable list of stop words.
您还可以在源代码中查看 StandardAnalyzer 包含哪些组件:
@Override
protected TokenStreamComponents createComponents(final String fieldName) {
final StandardTokenizer src = new StandardTokenizer();
src.setMaxTokenLength(maxTokenLength);
TokenStream tok = new LowerCaseFilter(src);
tok = new StopFilter(tok, stopwords);
return new TokenStreamComponents(r -> {
src.setMaxTokenLength(StandardAnalyzer.this.maxTokenLength);
src.setReader(r);
}, tok);
}
如果您想自定义分析器,您应该查看CustomAnalyzer
。
关于java - 如何使用 Lucene 将 LowerCase 应用于字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55596027/