我有兴趣将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上添加索引注释,然后在索引中包含必要的字段?
答案 0 :(得分:0)
我会为infos属性编写一个自定义FieldBridge。然后,您可以完全控制添加到索引中的哪些字段,例如,您可以使用文本。作为字段名称。这应该允许动态决定要搜索的语言。记住你也必须考虑分析仪。每个字段的自定义分析器都可以工作。