java - 如何使用 Lucene 将 LowerCase 应用于字符串

标签 java lucene tokenize lowercase

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

相关文章:

lucene - 是否可以对Kibana/Lucene查询进行简单的演算?

c++ - C++ 中的标记及其使用方式

regex - 将字符串拆分为辅音-元音序列

java - 无法在 Eclipse 中创建 .dslr

java - Oracle Java 存储过程

java - 尝试检索特定路径下的文件夹/文件的 CMIS 查询不返回任何文档

Java 字符串删除标记包含数字

java - Eclipse (Java) 中的文件路径

java - JFoenix 是否有等效的 CheckBoxListCell,以便我们可以使用 JFXCheckBox 而不是传统的?

database - 是否有任何 nosql 数据库可以在 map/reduce 上进行搜索(例如 lucene)