`
yuhaibo6646737
  • 浏览: 16399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Compass应用学习之搭建开发环境及书写compass工具类

阅读更多
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搜索引擎技术

    在本篇讨论中,我们将深入探讨如何利用Compass技术,结合Eclipse开发环境和MySQL数据库,来创建一个类似Google的搜索功能。 1. **Compass基础** Compass的核心是Lucene,一个高性能、全文检索库。Compass在其之上...

    Compass 的java代码

    **Compass:Lucene的高级封装工具** Compass是一款基于Apache Lucene的全文搜索引擎库,它为Java开发者提供了一个高级的、易于使用的搜索框架。在Java应用中集成搜索引擎功能时,Compass提供了一种简化的方式来管理...

    Spring ,JPA,Compass使用注解开发的博客站内搜索

    首先,Spring框架是企业级Java应用开发的基石,它提供了依赖注入(DI)、面向切面编程(AOP)以及一系列工具支持,包括数据访问、事务管理、远程服务等。在本项目中,Spring将作为整个系统的基础架构,负责管理组件(如...

    Compass全文检索系列之一:Compass入门

    Compass全文检索系列之一:Compass入门 在IT领域,全文检索已经成为数据分析和信息检索的重要技术,尤其是在大数据时代。本文将介绍Compass,一个基于Lucene的全文搜索引擎库,为Java开发者提供了一种简单易用的...

    Compass学习文档1

    Compass 是一个强大的开源搜索引擎框架,它建立在 Lucene 的基础之上,为 Java 开发者提供了更为简洁的搜索引擎 API。Compass 的设计目标是简化搜索引擎的集成,使其能够无缝地与现有的应用程序,如 Hibernate 和 ...

    Compass.rar

    这个名为"Compass.rar"的压缩包包含了用于在Eclipse开发环境中测试Compass的应用程序。Eclipse是一款广泛使用的开源集成开发环境(IDE),特别适合Java开发者。接下来,我们将深入探讨Compass和Eclipse中的测试应用...

    COMPASS介绍

    具体来说,COMPASS提供了CompassTemplate工具类来简化对Session、Transaction以及异常处理等操作。例如: ```java CompassTemplate ct = (CompassTemplate) context.getBean("compassTemplate"); Article article =...

    compass_使用详解.pdf compass_教程 compass_试用案例

    Compass 作为一种强大的工具,不仅简化了 Lucene 的使用,还提高了开发效率。通过上述步骤,开发者可以轻松地将 Java 实体映射到 Lucene 索引中,实现高效的数据检索功能。对于需要处理大量结构化数据的应用来说,...

    Compass+ lucene 通用代码(脱离数据库)

    至于“工具”标签,Compass提供了丰富的工具类和API,包括查询构造器、排序和高亮显示等,帮助开发者轻松实现搜索功能。例如,`CompassSession`和`CompassTransaction`接口提供了对索引的CRUD操作,而`CompassQuery`...

    mongodb-compass-community-1.16.4-win32-x64.zip

    9. **msvcp140.dll**:Microsoft Visual C++ 运行时库,为基于Visual Studio 2015编译的应用程序提供必要的函数和类。 10. **vcruntime140.dll**:同样的,这是另一个Visual C++运行时库,为MongoDB Compass提供运行...

    Compass与ssh框架整合

    在Java开发领域,SSH(Spring、Struts、Hibernate)是一个常用的三大框架组合,用于构建企业级Web应用程序。而Compass是一个强大的搜索引擎库,它能够将数据与Lucene搜索引擎紧密结合,提供对应用程序数据的实时搜索...

    Compass全文检索完整实例,可运行

    在本实例中,我们有一个可直接运行的Compass全文检索系统,已经集成了SSH(Struts、Spring、Hibernate)框架,这是一个常见的企业级应用开发组合。 首先,让我们深入了解一下Compass。Compass是一个开源项目,它的...

    整合compass2.0 spring hibernate示例源程序

    标题 "整合compass2.0 spring hibernate示例源程序" 提供了我们即将...它不仅有助于理解这三个框架的基本用法,还提供了实践这些技术的起点,对于学习和应用Java开发的初学者或者经验丰富的开发者来说都是宝贵的资源。

    ssh+compass实现站内搜索分页.rar

    2. **Spring**:这是一个全面的企业级应用开发框架,包括依赖注入(DI)、面向切面编程(AOP)、事务管理等功能。Spring使得应用的各个部分可以松耦合,并提供了一种统一的管理方式。 3. **Hibernate**:这是一个...

    S2SH+compass (实现站内全文检索)

    这种组合常见于Java Web开发中,用于构建复杂、高性能的企业级应用。 Struts2是MVC(模型-视图-控制器)设计模式的一个实现,它提供了处理HTTP请求、展现逻辑和业务逻辑分离的能力。Spring框架则是一个全面的后端...

    extjs 开发工具

    EXTJS的开发工具通常包括Sencha Cmd、Ruby、JavaFX Packager Installer(JXPI)和集成开发环境(IDE)。 1. **Sencha Cmd**: - Sencha Cmd是EXTJS的主要命令行工具,用于自动化EXTJS项目构建过程,包括创建应用、...

    compass索引插件demo

    Compass是基于Java的一个全文搜索引擎库,它为Java应用程序提供了与Lucene搜索引擎库的无缝集成。在SSH(Spring、Struts和Hibernate)框架中集成Compass插件,可以帮助开发者轻松实现数据的全文检索功能,提高应用的...

Global site tag (gtag.js) - Google Analytics