Hibernate搜索土耳其Charachter

时间:2016-12-22 15:23:06

标签: hibernate-search

我正在寻找一个充满土耳其语字符的字段。 例如:Müdürlük。 但是,当我尝试查询此字段时无法获得结果。我是hibernate搜索的新手。我该怎么办 ? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

可能还有其他问题(没有代码我无法分辨),但您可能想要的一件事是使用特定语言的分析器,以便“mudurluk”匹配“Müdürlük”,或者所以“伊斯坦布尔”将匹配“İstanbul”(首都点缀“i”)。

要使用注释对Hibernate Search执行此操作,请填写analyzer注释的@Field属性:

@Field(analyzer = @Analyzer(impl = org.apache.lucene.analysis.tr.TurkishAnalyzer.class))
String myProperty;

如果使用程序化API映射实体,则该过程应该非常相似。

有关Hibernate Search中分析器的更多详细信息,请参阅官方文档:https://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#_analyzer

编辑:更改分析仪后,不要忘记重新索引数据。