【问题标题】:HiberateSearch - Multiple Analyzers for a single fieldHiberateSearch - 单个字段的多个分析器
【发布时间】:2013-11-06 00:56:17
【问题描述】:

如何对 Java 类中的单个字段使用多个分析器?

例如,目前我的班级是这样的:

public class User {
   @AnalyzerDef(name = "my_analyzer",
        tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
        filters = {...
   })
   @Analyzer(definition = "my_analyzer")
   private String name;
}

我想在 name 字段上定义另一个分析器。

【问题讨论】:

    标签: java lucene tokenize hibernate-search


    【解决方案1】:

    您需要在属性上使用@Fields,如果@Field 注释指定一个数组。每个@Field 又可以通过分析器属性指定自己的分析器。

    您不能为单个字段指定多个顶级分析器。当然,在 @AnalyzerDef 中,您可以随意组装过滤器,以自定义分析器的行为。

    什么最有意义取决于用例。

    【讨论】:

      猜你喜欢
      • 2015-09-05
      • 1970-01-01
      • 2014-09-03
      • 2022-12-17
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      相关资源
      最近更新 更多