IBM Cloudant 开源其集成 Lucene 的搜索系统

jopen 9年前

IBM Cloudant 开源了 Cloudant Search 背后的代码库:Clouseau 和 Dreyfus,这些代码撑起了 Cloudant 的全文搜索系统,结合了 Cloudant 基于 Apache CouchDB™ 的服务,集成了 Apache Lucene™ 文本搜索引擎库。

IBM Cloudant 开源其集成 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, 2014

Mango 的好处是用户不再需要了解不同 JSON 文档的格式,就可以进行一个查询操作。这篇文章有介绍 Mango 的这个特性“Cloudant Query Grows Up to Handle Ad Hoc Queries”,作者是 Glynn Bird。

Cloudant Search 代码库自从 2011 年以来就有两个主要的版本,已经有了 4 年的生产使用经验。 更多相关信息请看 2.0 发行说明来自 Benjamin Young 的演讲介绍来自 Alan Hoffman 的搜索教程.

两个开放的代码库都托管到 GitHub:

IBM Cloudant 鼓励大家 fork 和修改代码,欢迎任意的代码或者文档 pull requests,但是只接受功能增强和 bug 修复,不接受新 bugs。。。

via cloudant.com