IBM Cloudant 开源了 Cloudant Search 背后的代码库:Clouseau 和Dreyfus,这些代码撑起了 Cloudant 的全文搜索系统,结合了 Cloudant 基于Apache CouchDB™ 的服务,集成了Apache Lucene™ 文本搜索引擎库。
在之前的 博客 中介绍了最新的 2.0 搜索,是基于现有搜索系统的优化和增强,这也就是 IBM Cloudant 现在开源的这些代码。
IBM Cloudant 计划贡献 Clouseau 和 Dreyfus 给 Apache CouchDB 项目,正在等待他们的批准,但是已经公开了代码。
Cloudant Search 包含两个互补的项目:
Clouseau是 Scala 代码编写的,提供访问 Lucene 库的功能,可以使用 Lucene 运行搜索查询。
Dreyfus是使用 Erlang 编写的,主要是为了插入现有的 CouchDB/Cloudant 集群技术,可以管理 Clouseau 节点来传递全文搜索特性。
这两个系统通讯是使用 Erlang 的外部术语格式(在 Clouseau 端使用 Scalang )。
除了提供一些有趣的 Scala 和 Erlang 来学习之外,还希望这些代码能确认对于其他构建系统的 Lucene 接口也是有用的
去年。当 IBM Cloudant 捐献Mango ( 源自MongoDB 的查询语言接口) 给 CouchDB 项目时也包含了 Cloudant Search,允许声明式查询。IBM Cloudant 将会继续为 Apache CouchDB 开发社区做贡献,使得选择部署开源 Cloudant Search 特性的用户能很好的集成。
Mango 最初发布的时候受到了大家一致的肯定:
另一个消息是 @Cloudant 刚刚开源了源自 MongoDB 的查询接口,准备捐献给 CouchDB! https://t.co/qMJaUwScVG
— Apache CouchDB (@CouchDB) November 17, 2014Mango 的好处是用户不再需要了解不同 JSON 文档的格式,就可以进行一个查询操作。这篇文章有介绍 Mango 的这个特性“ Cloudant Query Grows Up to Handle Ad Hoc Queries ”,作者是 Glynn Bird。
Cloudant Search 代码库自从 2011 年以来就有两个主要的版本,已经有了 4 年的生产使用经验。 更多相关信息请看 2.0 发行说明 , 来自 Benjamin Young 的演讲介绍 和 来自 Alan Hoffman 的搜索教程 .
两个开放的代码库都托管到 GitHub:
https://github.com/cloudant-labs/clouseau
https://github.com/cloudant-labs/dreyfus
IBM Cloudant 鼓励大家 fork 和修改代码,欢迎任意的代码或者文档 pull requests,但是只接受功能增强和 bug 修复,不接受新 bugs。。。
via cloudant.com