Compass:基础

Compass是一个基于Lucene构建的开源项目,旨在简化搜索,可以集成到任何Java应用程序中。

官方文档地址 http://www.compass-project.org/docs/2.2.0/reference/html/introduction.html#overview

compass有三个组件:

  • compass core 核心组件
  • compass gps 用于和不同的数据源进行集成
  • compass spring 和spring框架进行集成

compass的使用方法如下:首先在需要建立索引的Model上面加上注解,或者配置,然后将Model中的内容变成索引库中的Document并存储。查询时从索引库中进行查询。

查看一个集成了compass的项目,这个项目用了Hibernate。下面是其部分配置信息:

Hibernate Gps Device通过使用Hibernate ORM映射为数据库索引提供支持。

Hibernate Gps Device利用Compass :: Core OSEM功能(Object to Search Engine Mappings)和Hibernate ORM功能(Object to Relational Mappings)来提供简单的数据库索引。以及基于Hibernate 3的新事件系统,通过Hibernate提供数据变更的实时镜像。通过系统传递的路径数据是: Database -- Hibernate -- Objects -- Compass::Gps -- Compass::Core (Search Engine)。

上面图片的中配置文件中HibernateGpsDevice的属性sessionFactory是Spring框架中的org.springframework.orm.hibernate3.LocalSessionFactoryBean,做了如上配置后,当通过sessionFacotry对数据库进行操作后,也会同步修改到索引库中。

原文地址:https://www.cnblogs.com/colin220/p/10649316.html