gpt4 book ai didi

java - 在 hibernate 搜索中使用现有分析器 AnalyzerDiscriminator

转载 作者:行者123 更新时间:2023-12-01 04:31:48 26 4
gpt4 key购买 nike

@Entity
@Indexed
@AnalyzerDefs({
@AnalyzerDef(name = "en",
tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
filters = {
@TokenFilterDef(factory = LowerCaseFilterFactory.class),
@TokenFilterDef(factory = EnglishPorterFilterFactory.class
)
}),
@AnalyzerDef(name = "de",
tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
filters = {
@TokenFilterDef(factory = LowerCaseFilterFactory.class),
@TokenFilterDef(factory = GermanStemFilterFactory.class)
})
})
public class BlogEntry {

@Id
@GeneratedValue
@DocumentId
private Integer id;

@Field
@AnalyzerDiscriminator(impl = LanguageDiscriminator.class)
private String language;

@Field
private String text;

private Set<BlogEntry> references;

// standard getter/setter
// ...
}

public class LanguageDiscriminator implements Discriminator {

public String getAnalyzerDefinitionName(Object value, Object entity, String field) {
if ( value == null || !( entity instanceof Article ) ) {
return null;
}
return (String) value;

}
}

来自 Reference Doc ,
如何使用现有的分析器,如 org.apache.lucene.analysis.cjk.CJKAnalyzer连同 ende我动态定义的那些?我只能在这里返回分析器的名称,当我返回 CJKAnalyzer 时我没有定义分析器。

如何将现有分析器添加到我的分析器定义中?

最佳答案

这是一个很好的问题,我很惊讶以前没有人问过这个问题。

答案是不可能。

我已经在该项目上提出了一个功能请求,以改进这一点:

  • https://hibernate.atlassian.net/browse/HSEARCH-2518
  • 关于java - 在 hibernate 搜索中使用现有分析器 AnalyzerDiscriminator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40928584/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com