文章:Compass——在你的应用中集成搜索功能

阅读数:132 2007 年 11 月 16 日

话题:Java语言 & 开发架构

本文是开源项目 Compass 项目的作者 Shay Banon 撰写的一篇介绍 Compass 的文章。文章首先介绍了开发与应用 Compass 的动机、在企业开发中的应用场景和使用 Compass 试图去简化和解决开发中遇到的问题。然后,带领读者深入 Compass,给读者介绍了 Compass 的核心 API 和应用 Compass 开发的三种模式,给出了应用 Compass 的具体实践方法。

毫无疑问,在企业应用环境中部署自己的搜索引擎已经是企业开发中不能避免的问题,而 JavaEE 技术是首选技术,Apache Project 中已经给出了一个解决方案——Lucene,但是她不完美也没有针对企业搜索作出优化,毕竟是个底层的 API。当你试图去集成 Lucene 的时候,刚刚把第一个简单的程序跑起来的时候,马上就会遇到一连串的挑战,比如首先遇到的可能就是索引应用数据等。

而 Compass 是在 Lucene 之上,使用了设计很好的搜索引擎的抽象。Compass 扩展了核心 Lucene,增加了事务控制功能和快速更新,也包括在数据库存储索引的功能。当然,它没有去隐藏 Lucene 的特性——所有 Lucene 的功能都能通过 Compass 实现。这也是这篇文章所要表达的重点。本文给出了不少代码的示例,读者可以根据自己的判断选择一个开发模式来实现自己的应用。

阅读全文:Compass: 在你的应用中集成搜索功能