栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

ElasticSearch-定义自定义字母顺序进行排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ElasticSearch-定义自定义字母顺序进行排序

我从未使用过它,但是有一个可以满足您需求的插件: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")
)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406304.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号