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

如何使用Hibernate Lucene Search进行不区分大小写的挪威字符(Æ,Ø和Å)排序?

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

如何使用Hibernate Lucene Search进行不区分大小写的挪威字符(Æ,Ø和Å)排序?

您可以

org.apache.lucene.collation.CollationKeyFilter
在Hibernate
Search版本4.3.0.Final中使用类。创建自己的归类过滤器工厂:

import org.apache.lucene.analysis.TokenStream;import org.apache.lucene.collation.CollationKeyFilter;import org.apache.solr.analysis.baseTokenFilterFactory;import java.text.Collator;import java.util.Locale;public final class NorwegianCollationFactory extends baseTokenFilterFactory {    @Override    public TokenStream create(TokenStream input) {        Collator norwegianCollator = Collator.getInstance(new Locale("no", "NO"));        return new CollationKeyFilter(input, norwegianCollator);    }}

并在AnalyzerDef中使用以下整理工厂:

@AnalyzerDef(name = "myOwnAnalyzer",tokenizer = @TokenizerDef(factory = KeywordTokenizerFactory.class),filters = {    @TokenFilterDef(factory = ASCIIFoldingFilterFactory.class),    @TokenFilterDef(factory = LowerCaseFilterFactory.class),    @TokenFilterDef(factory = PatternReplaceFilterFactory.class, params = {        @Parameter(name = "pattern", value = "('-&\.,\(\))"),        @Parameter(name = "replacement", value = " "),        @Parameter(name = "replace", value = "all")    }),    @TokenFilterDef(factory = PatternReplaceFilterFactory.class, params = {        @Parameter(name = "pattern", value = "([^0-9\p{L} ])"),        @Parameter(name = "replacement", value = ""),        @Parameter(name = "replace", value = "all")    }),    @TokenFilterDef(factory = TrimFilterFactory.class),    @TokenFilterDef(factory = NorwegianCollationFactory .class)})public class KikaPaya implements Serializable {


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

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

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