《compass-reference》翻譯計劃之:1.1概述和1.2所涉及技術(續)
1.2.2. 領域模型
Compass的一個主要特性就是OSEM(物件/搜尋引擎對映)。可以採用annotation或者xml定義(或聯合使用),把豐富的領域模型對映到搜尋引擎中。想了解更多的內容,請閱讀第6章:OSEM-物件/搜尋引擎對映。
1.2.3. ... Xml 模型
Compass的另一個主要特性就是XSEM(XML/搜尋引擎對映)。如果你的應用是構建在XML資料的基礎上,你就可以採用基於xpath表示式上的xml對映定義,直接把它對映到搜尋引擎中。想要了解更多的內容,請閱讀第7章:XSEM-XML對映到搜尋引擎中。
1.2.4. 無模型
如果應用中沒有指定的領域模型(例如一個基於properties的訊息系統),可以採用RSEM(資源/搜尋引擎對映)。一個Resource可以當作是一個雜湊表,允許把它當作完全開放的資料儲存在Compass中。一個資源對映定義必須要有資源的型別(types),同時至少定義一個資源id(當作其身份的識別)。另外可以增加資源的屬性對映。想了解更多的內容,請閱讀第18章:RESM-資源/搜尋引擎對映。
1.2.5. ... ORM 框架
構建於Compass核心之上,Compass Gps能跟大部分的流行
索引操作
通過ORM框架,使用Compss(OSEM方式)把資料庫中的資料,自動索引到搜尋引擎中。在OSEM和ORM中定義的物件能被直接索引,而且可以新增自定義的過濾器。
映象操作
在ORM框架中,必須支援事件註冊機制,而Compass能自動註冊,這是利用其自身的事件監聽器,通過ORM的API把資料庫中的改變反射到搜尋引擎中。
想了解更多的內容,請閱讀第14章:介紹。ORM框架支援在第16章:嵌入Hibernate,第18章JPA(Java持久化API),第19章:嵌入OpenJPA
1.2.6. Spring 框架
Compass的目標:無縫整合Spring框架(開發者用它就感覺在用Spring一樣)。
首先要整合的跟Spring整合ORM類似,在Spring context中使用LocalCompassBean和CompassDaoSupport來配置Compass的持久化。想了解更多內容,請閱讀第25章:介紹和第26章:DAO 支援。
其次是Spring AOP的整合,通過Spring的原子應用,提供關於促進映象資料變動的簡單參考說明。對於應用中有一個數據源或者沒有Gps設計的情況(或者沒有映象能力,如:iBatis),這個映象參考說明能使資料來源和Compass索引同步變動。想了解更多內容,請閱讀的第31章:Spring AOP。
再次是Spring的PlatformTransactionManager的抽象整合,Compass使用SpringSyncTransactionFactory來跟Spring的事務同步運作。這就允許Compass工作在Spring指定的事務管理環境下,就像HibernateTransactionManager一樣。想了解更多內容,請閱讀的第27章:Spring 事務。
還有,在web應用中使用Spring MVC,Compass提供了一個搜尋和索引控制器。索引控制器能在一個CompassGps中自動完成索引操作,只有初始化檢視和結果檢視需要手工來操作。搜尋控制器能自動完成搜尋操作(採用分頁),只有初始化搜尋和搜尋結果檢視(通常是同一個)需要手工來操作。想了解更多內容,請閱讀第32章:Spring MVC支援。
最後,LocalCompassBean配置時可以使用基於Spring2的新schema格式。
------------------------------------------------------------------------------------------------