如何对 Java 类中的单个字段使用多个分析器?
例如,目前我的类(class)如下所示:
public class User {
@AnalyzerDef(name = "my_analyzer",
tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
filters = {...
})
@Analyzer(definition = "my_analyzer")
private String name;
}
我想在 name
字段上定义另一个分析器。
最佳答案
您需要在属性上使用@Fields,如果@Field注释指定一个数组。每个@Field 又可以通过analyzer 属性指定自己的分析器。
您不能为单个字段指定多个顶级分析器。当然,在 @AnalyzerDef 中,您可以根据需要自由组装过滤器来自定义分析器行为。
什么最有意义取决于用例。
关于java - HiberateSearch - 单个字段的多个分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19802079/