2011-03-31 49 views
0

我有興趣將db全文搜索更改爲lucene。我正在使用休眠,所以我想使用hibernate搜索會很聰明。我有一個問題,但。hibernate根據語言搜索多個字段

我們的記錄有一系列不同語言的信息和標題,我需要能夠基於單一語言和所有語言進行搜索。

我大概可以在純lucene中做到這一點,但我不知道它會如何處理當前的事務。所以使用hibernate搜索和hibernate來處理索引會好很多。

是否可以在索引中創建這樣的字段來搜索我描述的方式?

class Record{ 
    List<Info> infos; 
} 

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

我可以這樣做。像這樣創建記錄干將:

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

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

然後把指標註解這些獲得者,然後在索引中有必要的字段?

回答

0

我會爲infos屬性編寫一個自定義FieldBridge。然後,您可以完全控制添加到索引的哪些字段,例如,您可以使用文本。作爲字段名稱。這應該允許動態地決定要搜索哪種語言。記住你也必須考慮分析儀。自定義每場分析器將工作。