我从未使用过它,但是有一个可以满足您需求的插件:ICU整理插件。
您将必须使用
icu_collation令牌过滤器,该过滤器会将令牌转换为排序键。因此,您需要在Hibernate
Search中使用单独的
@Field(例如
myField_sort)。
您可以使用来为您的字段分配特定的分析器
@Field(name = "myField_sort", analyzer =@Analyzer(definition = "myCollationAnalyzer")),并使用其中一个实体上的类似内容来定义此分析器(类型,参数):
@Entity@Indexed@AnalyzerDef( name = "myCollationAnalyzer", filters = { @TokenFilterDef( name = "polish_collation", factory = ElasticsearchTokenFilterFactory.class, params = { @Parameter(name = "type", value = "'icu_collation'"), @Parameter(name = "language", value = "'pl'") } ) })public class MyEntity {请参阅文档以获取更多信息:https :
//docs.jboss.org/hibernate/stable/search/reference/zh-
CN/html_single/#_custom_analyzers
现在肯定有点笨拙,但是在具有规范化器和分析器定义提供程序的下一个Hibernate Search版本中,分析器配置将变得更加整洁。
注意:与往常一样,您的字段需要声明为可排序(
@SortableField(forField = "myField_sort"))。



