IBM Cloudant開源其集成Lucene的搜索系統(tǒng)
IBM Cloudant 開源了 Cloudant Search 背后的代碼庫:Clouseau 和 Dreyfus,這些代碼撐起了 Cloudant 的全文搜索系統(tǒng),結(jié)合了 Cloudant 基于 Apache CouchDB™ 的服務(wù),集成了 Apache Lucene™ 文本搜索引擎庫。
在之前的博客中介紹了***的 2.0 搜索,是基于現(xiàn)有搜索系統(tǒng)的優(yōu)化和增強,這也就是 IBM Cloudant 現(xiàn)在開源的這些代碼。
IBM Cloudant 計劃貢獻 Clouseau 和 Dreyfus 給 Apache CouchDB 項目,正在等待他們的批準,但是已經(jīng)公開了代碼。
Cloudant Search 包含兩個互補的項目:
-
Clouseau 是 Scala 代碼編寫的,提供訪問 Lucene 庫的功能,可以使用 Lucene 運行搜索查詢。
-
Dreyfus 是使用 Erlang 編寫的,主要是為了插入現(xiàn)有的 CouchDB/Cloudant 集群技術(shù),可以管理 Clouseau 節(jié)點來傳遞全文搜索特性。
這兩個系統(tǒng)通訊是使用 Erlang 的外部術(shù)語格式(在 Clouseau 端使用 Scalang )。
除了提供一些有趣的 Scala 和 Erlang 來學習之外,還希望這些代碼能確認對于其他構(gòu)建系統(tǒng)的 Lucene 接口也是有用的。
去年,當 IBM Cloudant 捐獻 Mango ( 源自 MongoDB 的查詢語言接口) 給 CouchDB 項目時也包含了 Cloudant Search,允許聲明式查詢。IBM Cloudant 將會繼續(xù)為 Apache CouchDB 開發(fā)社區(qū)做貢獻,使得選擇部署開源 Cloudant Search 特性的用戶能很好的集成。
Mango 最初發(fā)布的時候受到了大家一致的肯定:
另一個消息是 @Cloudant 剛剛開源了源自 MongoDB 的查詢接口,準備捐獻給 CouchDB! https://t.co/qMJaUwScVG
— Apache CouchDB (@CouchDB) November 17, 2014
Mango 的好處是用戶不再需要了解不同 JSON 文檔的格式,就可以進行一個查詢操作。這篇文章有介紹 Mango 的這個特性“Cloudant Query Grows Up to Handle Ad Hoc Queries”,作者是 Glynn Bird。
Cloudant Search 代碼庫自從 2011 年以來就有兩個主要的版本,已經(jīng)有了 4 年的生產(chǎn)使用經(jīng)驗。 更多相關(guān)信息請看 2.0 發(fā)行說明,來自 Benjamin Young 的演講介紹 和 來自 Alan Hoffman 的搜索教程.
IBM Cloudant 鼓勵大家 fork 和修改代碼,歡迎任意的代碼或者文檔 pull requests,但是只接受功能增強和 bug 修復,不接受新 bugs。。。