`

Compass学习

阅读更多

Compass学习

本项目使用luence完成商品搜索功能但不直接使用 LuceneAPI而是使用了CompassAPI.   CompassLuceneAPI进行了封装.

 

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

comapss把实体类与文档(object)映射起来,
 * 搜索引擎抽象层(使用Lucene搜索引荐),
 * OSEM (Object/Search Engine Mapping) 支持,
 * 事务管理,
 * 类似于Google的简单关键字查询语言
 * 可扩展与模块化的框架,
 * 简单的API. 

 

记住OSEM这个词就像你理解ORM一样,从今天开始OSEM开始走入你的视野,

OSEM就是类似于Compass采用面向对象方式操作搜索引擎的一种产品.

 

对于Compass的学习,如果你会使用hibernate那么你按照使用hibernate的思路来学习Compass只需要半小时就能学会.

compass api

Compass的使用可类比hibernate的使用

使用hibernate的步骤:

1.设计实体,并且完成实体的映射元数据(有两方式一是使用hbm.xml文件,二是使用注解)

2.使用hibernateAPI完成对实体的增删改查操作.

 

使用Compass的步骤与hibernate极其类似:

1.设计实体,关且完成实体的映射元数据

  hibernate使用注解@Entity,指定实体跟数据库表进行映射.

  而Compass使用@Searchale指明实体跟索引的document进行映射

 

@Searchable  

public class Flight implements Serializable{

private Long id;

//定义该属性为搜索实体的标识属性,默认映射到document中的id字段

@SearchableId

public Long getId() { return id ;}

}

2.使用CompassAPI完成对实体的增删改查操作.

Compass中的实体是与document进行映射,hibernate中的实体是与数据库表进行映射

使用CompassAPI可以使用面向对象的方式操作搜索引擎

使用hibernateAPI可以采用面向对象的试操作数据库表

 

 

 

Compass操作实体的API中常用的类:

1. Compass类相当于hibernate中的SessionFactory用于创建CompassSession,Compass只需要实例化一次,它不是轻量级的.

2. CompassSession相当于hibernate中的session,用于建立会话

3. CompassTransaction相当于hibernate中的Transaction,用于事务操作

 

hibernate可以不使用hibernate.cfg.xml配制文件而使用可编程配制方式.

对于Compass而言也可以不使用compass.cfg.xml配制文件,而使用可编程的配制方式.

 

在使用hibernate时如果使用基于注解的方式,在创建sessionFactory时使用的是AnnotationConfiguration这个类而不是Configuration

对于Compass使用基于注解的方式映射实体,在创建Compass时也要使用相应的CompassAnnotationConfiguration而不是CompassConfiguration

 

 

学习Compass的主要学习的就是实体映射时的注解,操作实体时的API.

<!--EndFragment-->
分享到:
评论

相关推荐

    Compass原理深入学习笔记

    【Compass原理深入学习笔记】 Compass是一款基于Apache Lucene的全文搜索引擎框架,它为开发者提供了更高级别的抽象层,简化了搜索引擎的集成工作。在理解Compass之前,我们需要先了解全文检索的基本概念和原理。 ...

    Lucene+compass学习资料

    《深入探索Lucene+Compass技术与Ajax应用》 在当今的互联网开发中,数据检索和实时交互性已经成为不可或缺的功能。Lucene作为一个强大的全文搜索引擎库,为开发者提供了高效的文本搜索能力;Compass作为Lucene的一...

    compass学习笔记

    《Compass学习笔记》 Compass,全称Sass Compass,是一个基于Sass的CSS框架,它为Web开发者提供了强大的工具和方法,简化了CSS的编写,使得样式表的组织更加有序,可维护性大大增强。Sass是CSS的预处理器,而...

    Compass学习文档1

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

    完整compass工程+建库sql+学习资料

    `compass学习笔记.doc`是一份关于Compass的学习文档,可能包含了使用Compass的基本步骤,常见问题解答,以及一些最佳实践。这份文档对于理解Compass的工作原理和实际应用是非常有价值的。 `lucene总结.chm`和`...

    Compass简单学习

    【标题】"Compass简单学习"所涉及的知识点主要集中在两个方面:一是对Compass工具的理解,二是如何使用Compass进行源码分析和开发辅助。Compass是一个强大的样式表(CSS)编译器,它基于Sass语言,帮助开发者更高效...

    compass完整可用项目

    此项目对于理解Compass和Lucene在实际应用中的使用,以及如何结合SSH框架开发Java Web应用具有很高的学习价值。通过分析和研究这个项目,开发者可以深入掌握Java全文搜索引擎的实现,以及如何在SSH框架下组织和管理...

    mongodb安装包和compass

    在Node.js学习过程中,MongoDB和Compass的结合使用可以帮助你更好地理解和操作数据库。通过Node.js的MongoDB驱动,你可以编写JavaScript代码来与MongoDB交互,创建和查询集合,执行CRUD(创建、读取、更新、删除)...

    compass包及相关学习资料

    Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.内容包括compass的jar包及从网上搜集的相关学习资料. 附两个不错的资料地址: ...

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

    通过学习和实践Compass,开发者可以轻松地为Java应用程序添加强大的全文检索功能,提高用户体验,提升数据的可发现性。同时,Compass的灵活性和扩展性使其在各种场景下都能发挥重要作用,无论是小型项目还是大型企业...

    compass的几个入门网页

    2. 学习Compass的核心概念,如网格系统、样式库和混入。 3. 实践创建简单项目,应用Compass的功能来编写样式。 4. 阅读官方文档和在线教程,加深理解。 5. 参考其他开发者的工作,了解如何在实际项目中使用Compass。...

    compass 全文搜索

    学习和使用Compass全文搜索,你需要掌握以下几个关键知识点: 1. **Lucene基础知识**:理解Lucene的索引结构、倒排索引、Term和Document的概念,以及如何使用Analyzer处理文本。 2. **Compass配置**:设置数据源、...

    compass-2.2.0.zip

    Lucene是Apache软件基金会的一个项目,它是一个高性能、全文本搜索库,但是直接使用Lucene可能会涉及到很多底层细节,对开发者来说有一定的学习曲线。Compass的出现就是为了降低这个门槛,使得开发人员可以更加专注...

    compass和wellplan学习总结.pdf

    Compass和WellPlan学习总结 Compass和WellPlan是油气行业中的两个重要工具,用于油气井的设计、规划和实施。下面是Compass和WellPlan学习总结的知识点: 1. 井设计基本概念:井设计是油气井的核心部分,涉及到井的...

    compass和wellplan学习总结材料.doc

    compass 和 wellplan 学习总结材料 compass 和 wellplan 是油气行业中常用的软件,分别用于钻井设计和油井规划。以下是 compass 和 wellplan 的学习总结材料。 一、compass 的创建 compass 是一款专业的钻井设计...

    Sass和Compass 实战

    其中SCSS(Sassy CSS)语法更接近CSS本身,易于学习和理解。 #### 二、Compass概述 Compass是一款基于Sass的CSS框架,它提供了一组功能强大的工具集和样式库,帮助开发者快速构建响应式网站和应用程序。Compass通过...

    Compass.rar

    Compass是一款基于Lucene的全文搜索引擎工具...通过这个工程,开发者可以学习如何在实际项目中集成和使用Compass,以提升应用的搜索性能。同时,这也是一个很好的学习资源,帮助理解全文搜索引擎的工作原理和应用方式。

    compass和wellplan学习总结.doc

    "Compass和WellPlan学习总结" Compass是一种油气工业中常用的井trajectory设计和分析软件,WellPlan则是一种油气工业中常用的Well Planning和设计软件。本文档总结了Compass和WellPlan的学习笔记,涵盖了油气工业...

Global site tag (gtag.js) - Google Analytics