【问题标题】:Hibernate Search Turkish Character休眠搜索土耳其字符
【发布时间】:2016-12-22 15:23:06
【问题描述】:

我正在尝试搜索一个充满土耳其语字符的字段。 例如:Müdürlük。 但是当我尝试查询该字段时无法得到结果。我是休眠搜索的新手。我该怎么办?

【问题讨论】:

    标签: hibernate-search


    【解决方案1】:

    可能还有其他问题(如果没有代码,我无法判断),但您可能想要使用特定于语言的分析器,例如“mudurluk”将匹配“Müdürlük”,或者这样“istanbul”将匹配“İstanbul”(大写点“i”)。

    要使用注释使用 Hibernate Search 来做到这一点,请填写 @Field 注释的 analyzer 属性:

    @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

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

    【讨论】:

      猜你喜欢
      • 2014-08-09
      • 2020-12-13
      • 2018-04-18
      • 2012-05-13
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      • 2016-10-09
      相关资源
      最近更新 更多