1.引入包搭建开发环境
Common-logging.jar, Compass-2.2.0.jar
Lucene-analyzers.jar, Lucene-core.jar
Lucene-highlighter.jar, Lucene-queries.jar
Lucene-snowball.jar, Lucene-spellchecker.jar
Je-analysis-1.5.3.jar //用于解决compass2.2不支持IKAnalyzer3.0分词器的问题
分词器analyzer说明
由于前面引入的compass2.2.jar 只支持到Lucene2.4版本,而IKAnalyzer当前最新版本只支持Lucene3.0不支持Lucene2.4,所以这里只能使用另一款分词器JE分词器.
Compassutils.java工具类代码:
import org.compass.core.Compass;
import org.compass.core.config.CompassConfiguration;
import cn.itcast.lucene.domain.Article;
/**
*单态模式创建compass工厂类
*/
public class CompassUtils {
static Compass compass = null;
static {
CompassConfiguration cfg = new CompassConfiguration();
cfg.setConnection("./indexDir");//设置索引库位置
cfg.addClass(Article.class);//要映射的对象信息
compass=cfg.buildCompass();//创建compass工厂实例
}
//返回compass工厂类实例对象
public static Compass getCompass(){
return compass;
}
}
说明: 从上面代码可以看出,compass采用了与hibernate类似的对象映射机制,前者是orm对象关系映射,后者是osem对象搜索引挚映射.
要映射的Article类核心代码(完成映射下面的注解必不可少)
@Searchable //代表可搜索的对象
public class Article {
@SearchableId //对象的唯一标识符
private Long id;
@SearchableProperty(store=Store.YES,index=Index.ANALYZED)//普通属性
private String title;
@SearchableProperty(store=Store.YES,index=Index.ANALYZED) //普通属性
private String content;
@SearchableProperty(store=Store.YES,index=Index.NOT_ANALYZED)
private Date postTime;//对DateTools工具类进行试验
@SearchableBoostProperty
private Float boostValue;//后续属性: 设置相关度排序属性可改变默认的按相关度查询的索引结果顺序
@SearchableProperty(store=Store.YES,index=Index.NOT_ANALYZED)
private Long viewCount;//后续属性: 访问次数
//getter/setter方法…………………………..
//说明: Store.YES 表示存储到索引库中, Index.ANALYZED/NOT_ANALYZED 表示进行/不进行分词
分享到:
相关推荐
在本篇讨论中,我们将深入探讨如何利用Compass技术,结合Eclipse开发环境和MySQL数据库,来创建一个类似Google的搜索功能。 1. **Compass基础** Compass的核心是Lucene,一个高性能、全文检索库。Compass在其之上...
**Compass:Lucene的高级封装工具** Compass是一款基于Apache Lucene的全文搜索引擎库,它为Java开发者提供了一个高级的、易于使用的搜索框架。在Java应用中集成搜索引擎功能时,Compass提供了一种简化的方式来管理...
首先,Spring框架是企业级Java应用开发的基石,它提供了依赖注入(DI)、面向切面编程(AOP)以及一系列工具支持,包括数据访问、事务管理、远程服务等。在本项目中,Spring将作为整个系统的基础架构,负责管理组件(如...
Compass全文检索系列之一:Compass入门 在IT领域,全文检索已经成为数据分析和信息检索的重要技术,尤其是在大数据时代。本文将介绍Compass,一个基于Lucene的全文搜索引擎库,为Java开发者提供了一种简单易用的...
Compass 是一个强大的开源搜索引擎框架,它建立在 Lucene 的基础之上,为 Java 开发者提供了更为简洁的搜索引擎 API。Compass 的设计目标是简化搜索引擎的集成,使其能够无缝地与现有的应用程序,如 Hibernate 和 ...
这个名为"Compass.rar"的压缩包包含了用于在Eclipse开发环境中测试Compass的应用程序。Eclipse是一款广泛使用的开源集成开发环境(IDE),特别适合Java开发者。接下来,我们将深入探讨Compass和Eclipse中的测试应用...
具体来说,COMPASS提供了CompassTemplate工具类来简化对Session、Transaction以及异常处理等操作。例如: ```java CompassTemplate ct = (CompassTemplate) context.getBean("compassTemplate"); Article article =...
Compass 作为一种强大的工具,不仅简化了 Lucene 的使用,还提高了开发效率。通过上述步骤,开发者可以轻松地将 Java 实体映射到 Lucene 索引中,实现高效的数据检索功能。对于需要处理大量结构化数据的应用来说,...
至于“工具”标签,Compass提供了丰富的工具类和API,包括查询构造器、排序和高亮显示等,帮助开发者轻松实现搜索功能。例如,`CompassSession`和`CompassTransaction`接口提供了对索引的CRUD操作,而`CompassQuery`...
9. **msvcp140.dll**:Microsoft Visual C++ 运行时库,为基于Visual Studio 2015编译的应用程序提供必要的函数和类。 10. **vcruntime140.dll**:同样的,这是另一个Visual C++运行时库,为MongoDB Compass提供运行...
在Java开发领域,SSH(Spring、Struts、Hibernate)是一个常用的三大框架组合,用于构建企业级Web应用程序。而Compass是一个强大的搜索引擎库,它能够将数据与Lucene搜索引擎紧密结合,提供对应用程序数据的实时搜索...
在本实例中,我们有一个可直接运行的Compass全文检索系统,已经集成了SSH(Struts、Spring、Hibernate)框架,这是一个常见的企业级应用开发组合。 首先,让我们深入了解一下Compass。Compass是一个开源项目,它的...
标题 "整合compass2.0 spring hibernate示例源程序" 提供了我们即将...它不仅有助于理解这三个框架的基本用法,还提供了实践这些技术的起点,对于学习和应用Java开发的初学者或者经验丰富的开发者来说都是宝贵的资源。
2. **Spring**:这是一个全面的企业级应用开发框架,包括依赖注入(DI)、面向切面编程(AOP)、事务管理等功能。Spring使得应用的各个部分可以松耦合,并提供了一种统一的管理方式。 3. **Hibernate**:这是一个...
这种组合常见于Java Web开发中,用于构建复杂、高性能的企业级应用。 Struts2是MVC(模型-视图-控制器)设计模式的一个实现,它提供了处理HTTP请求、展现逻辑和业务逻辑分离的能力。Spring框架则是一个全面的后端...
EXTJS的开发工具通常包括Sencha Cmd、Ruby、JavaFX Packager Installer(JXPI)和集成开发环境(IDE)。 1. **Sencha Cmd**: - Sencha Cmd是EXTJS的主要命令行工具,用于自动化EXTJS项目构建过程,包括创建应用、...
Compass是基于Java的一个全文搜索引擎库,它为Java应用程序提供了与Lucene搜索引擎库的无缝集成。在SSH(Spring、Struts和Hibernate)框架中集成Compass插件,可以帮助开发者轻松实现数据的全文检索功能,提高应用的...