【问题标题】:hibernate search multiple fields based on languagehibernate根据语言搜索多个字段
【发布时间】:2011-03-31 15:49:15
【问题描述】:

我有兴趣将 db 全文搜索更改为 lucene。我正在使用休眠,所以我想使用休眠搜索会很聪明。不过我有一个问题。

我们的记录有来自不同语言的信息和标题列表,我需要能够基于单一语言和所有语言进行搜索。

我可能可以在普通的 lucene 中做到这一点,但我不知道它在当前事务中的效果如何。所以使用hibernate search和hibernate来处理索引会好很多。

是否可以在索引中创建这样的字段来按照我描述的方式进行搜索?

class Record{
    List<Info> infos;
}

class Info{
    String title;
    String infoText;
    String langCode;
}

我可以这样做吗?像这样在 Record 中创建 getter:

公共字符串 getEnghlishTitle(){...}

公共字符串 getFullInfos(){...}

然后在这些getter上加上索引注解,然后在索引中有必要的字段?

【问题讨论】:

    标签: lucene full-text-search hibernate-search


    【解决方案1】:

    我会为 infos 属性编写一个自定义的 FieldBridge。然后,您可以完全控制添加到索引中的字段,例如您可以使用文本。作为字段名称。这应该允许动态决定搜索哪种语言。请记住,您也必须考虑分析仪。每个字段的自定义分析器都可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      相关资源
      最近更新 更多