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