(转载)网站加上站内搜索基于Compass(基于Lucene)实现

引用
转载来自http://www.cnblogs.com/syxchina/archive/2011/12/29/2306764.html

原作作者:syxChina

做个记录

1序言

这些天一直在学点新的东西,想给毕业设计添加点含量,长时间的SSH项目也想尝试下新的东西和完善以前的技术,搜索毋容置疑是很重要的。作为javaer,作为apache的顶级开源项目lucene应该有所耳闻吧,刚学完lucene,知道了基本使用,学的程度应该到可以使用的地步,但不的不说lucene官方给的文档例子不是很给力的,还好互联网上资料比较丰富!在搜索lucene的过程中,知道了基于lucene的compass和lucene-nutch。lucene可以对给定内容加上索引搜索,但比如搜索本地数据库和web网页,你需要把数据给拿出来索引再搜索,所以你就想可不可以直接搜索数据库,以数据库内容作为索引,并且伴随着数据库的CRUD,索引也会更新,compass出现了,compass作为站内搜索那是相当的方便的,并且官方提供了spring和hibernate的支持,更是方便了。Lucene-nutch是基于lucene搜索web页面的,如果有必要我在分享下lucene、lecene-nutch的学习经验,快速入门,其他的可以交给文档和谷歌了。

不得不提下,compass09年貌似就不更新了,网上说只支持lucene3.0以下版本,蛮好的项目不知道为什么不更新了,试了下3.0以后的分词器是不能使用了,我中文使用JE-Analyzer.jar。我使用的环境:

Spring3.1.0+Hibernate3.6.6+Compass2.2.0。

2Compass介绍

Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/searchenginemapping)与一个Java持久层框架.Compass包括:

*搜索引擎抽象层(使用Lucene搜索引荐),

*OSEM(Object/SearchEngineMapping)支持,

*事务管理,

*类似于Google的简单关键字查询语言,

*可扩展与模块化的框架,

*简单的API.

官方网站:谷歌

详细查看http://www.cnblogs.com/syxchina/archive/2011/12/29/2306764.html

相关推荐