0

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

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

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

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

class Record{
    List<Info> infos;
}

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

我可以这样吗。在 Record 中创建 getter,如下所示:

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

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

然后将索引注释放在这些getter上,然后在索引中有必要的字段?

4

1 回答 1

1

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

于 2011-04-02T06:11:44.040 回答