Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.Compass包括:
* 搜索引擎抽象层(使用Lucene搜索引荐),
* OSEM (Object/Search Engine Mapping) 支持,
* 事务管理,
* 类似于Google的简单关键字查询语言,
* 可扩展与模块化的框架,
* 简单的API.
如果你需要做站内搜索引擎,而且项目里用到了hibernate,那用compass是你的最佳选择。
本文用到compass2.14和IK中文分词包,另外将会使用注解来实现
废话不说,先给出关键的实现代码
假如现在有个需求,需要根据关键字搜索出文章,
Java代码 收藏代码
@Searchable(alias="article")
public class Article {
private Long ID; // 标识ID
private String content; // 正文
private String title; // 文章标题
private Date createTime; // 创建时间
@SearchableId
public Long getID() {
return ID;
}
public void setID(Long id) {
ID = id;
}
@SearchableProperty(index = Index.TOKENIZED, store = Store.YES)
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@SearchableProperty(index = Index.TOKENIZED, store = Store.YES)
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@SearchableProperty(index = Index.TOKENIZED, store = Store.YES)
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
简单解释一下:
@Searchable(alias="article")表示这个是可以搜索实体,别人为article.
@SearchableId 这个是实体搜索的标识ID,和hibernate里的概念差不多,用来区分索引文件里的实体索引。
@SearchableProperty(index = Index.TOKENIZED, store = Store.YES) 表示这个属性存入索引文件,而且是在分词后在存入.
分享到:
相关推荐
标题中的"S2SH+compass"指的是一个基于Struts2(S),Spring(S)和Hibernate(H)这三种开源框架的Java Web应用,再加上Compass搜索引擎来实现站内全文检索的功能。这种组合常用于构建复杂的企业级应用,因为它提供...
通过以上步骤,你可以在SSH框架下成功集成Compass实现站内搜索分页。这一过程涉及到Java Web开发的多个层面,包括MVC架构、数据库操作、全文检索以及用户体验设计。熟练掌握这些技能将有助于构建高效且功能丰富的Web...
本文将介绍Compass,一个基于Lucene的全文搜索引擎库,为Java开发者提供了一种简单易用的方式来集成全文检索功能。Compass不仅提供了与ORM框架(如Hibernate、JPA等)的无缝集成,还支持动态索引更新,使得实时数据...
本文将详细介绍如何使用 Compass 和 Lucene 实现一个简单的全文检索功能。 首先,Lucene 是一个高性能、全功能的文本分析库,主要用于信息检索。它提供了索引和搜索大量文本数据的能力,包括分词、分析、存储和搜索...
接下来,为了实现搜索功能,我们需要创建一个Service层的接口和实现类,这个类会调用Compass的API来执行搜索查询。搜索方法可能接受关键词参数,然后使用Compass的QueryBuilder或直接写入Lucene的Query语法来构建...
为了实现搜索功能,你需要创建一个搜索Action,该Action可以调用由Spring管理的Service,Service再通过CompassTemplate执行查询。你可以使用Compass提供的Gps接口或者自定义查询语句来实现对索引的检索。检索结果...
Compass搜索引擎技术是一种基于Lucene的全文检索框架,它提供了更高级别的API和集成机制,使得在Java应用程序中实现搜索引擎功能变得更加便捷。Compass的主要目标是将全文索引能力无缝地融入到现有的业务应用程序中...
在题目中提供的部分Java代码中,展示了一个名为`ProductInfo`的实体类,该类通过使用Compass注解实现了全文检索功能。 1. **实体类定义** ```java @Entity @Searchable public class ProductInfo implements ...
【compass完整可用项目】是一个基于特定技术栈的软件开发项目,该项目的核心是Compass库,一个与Lucene紧密集成的全文搜索引擎工具。Compass提供了一种简单的方式来在Java应用程序中集成全文搜索功能,使得开发者...
Compass 是一个全文搜索引擎库,它是对 Lucene 的封装,为 Java 应用提供了一种简单易用的接口。在 Compass 中,Annotation 是一种元数据注解方式,它允许开发者在对象模型上直接定义搜索映射,使得对象与索引之间的...
Compass对象搜索引擎是一款基于Lucene的全文搜索引擎框架,它为Java开发者提供了高级的搜索功能,使得在应用程序中集成全文检索变得更加便捷。Compass的核心理念是将数据库中的对象与Lucene索引之间建立映射...
5. **实时搜索**:与ORM框架集成后,数据库的变更会立即反映到索引中,实现搜索结果的实时更新。 **三、Compass工作流程** 1. **初始化**:创建并配置Compass实例,指定数据源和存储路径。 2. **对象映射**:定义...
**Compass** 是一个基于Apache Lucene的全文搜索引擎库,它提供了一种简单的方式将全文搜索集成到Java应用中。Compass的核心目标是简化与数据库交互时的搜索功能,通过透明地创建、管理和优化索引来实现。它的主要...
Compass是一款基于Apache Lucene的全文搜索引擎库,它为Java开发者提供了一个高级的、易于使用的搜索框架。在Java应用中集成搜索引擎功能时,Compass提供了一种简化的方式来管理和操作Lucene索引。通过Compass,你...
Compass 2.2.0 是一个开源的...在实际项目中,我们可以根据需求选择合适的Compass配置,结合其提供的工具和API,实现高效的全文搜索、数据分析以及数据同步。对于初学者,可以通过阅读官方文档和示例代码来快速上手。