2013-08-16 39 views
0

我使用POJO(Plain Old Java Object)類來映射關係數據庫並使用Apache Solr來索引數據庫。重複使用單個POJO類用於不同數據庫的問題

我不知道我是否可以爲Apache Solr重新使用pojo類。

由於映射類過於具體,並且考慮到外鍵關係而設計,因此使用Solr(單個模式搜索服務器)很難使用這些類,但爲Apache Solr創建新的POJO類也很困難。

所以我想知道哪個是更好的重用設計方法。

另外我想知道重複使用相同的POJO類的缺陷。

回答

1

SOLR與關係數據庫有很大不同......基本上它就像一個大表(有多個不同點,像多值列)。

現在,我看到你的問題的具體落實(POJO)落後一步...

首先,你必須去規範化表(S)......這就是你需要真正的硬物在使用SOLR時做。我的意思是從你的ER傳遞到SOLR模式。一旦這樣做,你可以使用Solrj來將實體與pojo進行映射,但這只是故事的最後部分。

還有關於非規範化:對於映射到關係數據庫之上的一組POJO的原始轉換沒有意義。關係數據庫是通用的:他們的設計方法是以數據爲中心的。我的意思是,首先決定如何存儲數據,然後SQL客戶端將能夠獲得他們所需的數據。

SOLR以一種不同的方式工作:爲了確定你的模式更精確,你應該知道你的搜索要求(即查詢)。該架構不是通用的(如數據庫),而是在搜索要求的基礎上進行分層。這就是爲什麼你可以索引一個屬性,決定什麼樣的分析需要一個特定的領域,多值化,單值化,詞幹等等等等等

所以基本上,這都是關於非規範化和查詢需求。

相關問題