如何使用Lucene将LowerCase应用于String

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Lucene将LowerCase应用于String相关的知识,希望对你有一定的参考价值。

我开始使用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

他们说:

使用可配置的停用词列表,使用LowerCaseFilter和StopFilter过滤StandardTokenizer。

您还可以在源代码中看到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

以上是关于如何使用Lucene将LowerCase应用于String的主要内容,如果未能解决你的问题,请参考以下文章

如何将 lucene 的 ByteBuffersDirectory 写入/序列化到磁盘?

使用Java中的Lucene查询搜索文本字符串

Lucene QuickStart

Solr搜索引擎入门知识汇总

如何覆盖全局样式(没有 x:Key),或者将命名样式应用于所有以类型为目标的控件?

lucene搜索引擎的使用及原理分析