hibernate根据语言搜索多个字段

时间:2011-03-31 15:49:16

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

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

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

我可以用简单的lucene来做,但我不知道它对当前交易的效果如何。所以使用hibernate搜索和hibernate处理索引会好得多。

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

class Record{
    List<Info> infos;
}

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

我能这样做吗?在Record中创建getter,如下所示:

  

public String getEnghlishTitle(){...}

     

public String getFullInfos(){...}

然后在这些getter上添加索引注释,然后在索引中包含必要的字段?

1 个答案:

答案 0 :(得分:0)

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