Compass学习
本项目使用luence完成商品搜索功能, 但不直接使用 Lucene的API而是使用了Compass的API. Compass对Lucene的API进行了封装.
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.使用hibernate的API完成对实体的增删改查操作.
使用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.使用Compass的API完成对实体的增删改查操作.
Compass中的实体是与document进行映射,而hibernate中的实体是与数据库表进行映射
使用Compass的API可以使用面向对象的方式操作搜索引擎
使用hibernate的API可以采用面向对象的试操作数据库表
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是一款基于Apache Lucene的全文搜索引擎框架,它为开发者提供了更高级别的抽象层,简化了搜索引擎的集成工作。在理解Compass之前,我们需要先了解全文检索的基本概念和原理。 ...
《深入探索Lucene+Compass技术与Ajax应用》 在当今的互联网开发中,数据检索和实时交互性已经成为不可或缺的功能。Lucene作为一个强大的全文搜索引擎库,为开发者提供了高效的文本搜索能力;Compass作为Lucene的一...
《Compass学习笔记》 Compass,全称Sass Compass,是一个基于Sass的CSS框架,它为Web开发者提供了强大的工具和方法,简化了CSS的编写,使得样式表的组织更加有序,可维护性大大增强。Sass是CSS的预处理器,而...
Compass 是一个强大的开源搜索引擎框架,它建立在 Lucene 的基础之上,为 Java 开发者提供了更为简洁的搜索引擎 API。Compass 的设计目标是简化搜索引擎的集成,使其能够无缝地与现有的应用程序,如 Hibernate 和 ...
`compass学习笔记.doc`是一份关于Compass的学习文档,可能包含了使用Compass的基本步骤,常见问题解答,以及一些最佳实践。这份文档对于理解Compass的工作原理和实际应用是非常有价值的。 `lucene总结.chm`和`...
【标题】"Compass简单学习"所涉及的知识点主要集中在两个方面:一是对Compass工具的理解,二是如何使用Compass进行源码分析和开发辅助。Compass是一个强大的样式表(CSS)编译器,它基于Sass语言,帮助开发者更高效...
此项目对于理解Compass和Lucene在实际应用中的使用,以及如何结合SSH框架开发Java Web应用具有很高的学习价值。通过分析和研究这个项目,开发者可以深入掌握Java全文搜索引擎的实现,以及如何在SSH框架下组织和管理...
在Node.js学习过程中,MongoDB和Compass的结合使用可以帮助你更好地理解和操作数据库。通过Node.js的MongoDB驱动,你可以编写JavaScript代码来与MongoDB交互,创建和查询集合,执行CRUD(创建、读取、更新、删除)...
Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.内容包括compass的jar包及从网上搜集的相关学习资料. 附两个不错的资料地址: ...
通过学习和实践Compass,开发者可以轻松地为Java应用程序添加强大的全文检索功能,提高用户体验,提升数据的可发现性。同时,Compass的灵活性和扩展性使其在各种场景下都能发挥重要作用,无论是小型项目还是大型企业...
2. 学习Compass的核心概念,如网格系统、样式库和混入。 3. 实践创建简单项目,应用Compass的功能来编写样式。 4. 阅读官方文档和在线教程,加深理解。 5. 参考其他开发者的工作,了解如何在实际项目中使用Compass。...
学习和使用Compass全文搜索,你需要掌握以下几个关键知识点: 1. **Lucene基础知识**:理解Lucene的索引结构、倒排索引、Term和Document的概念,以及如何使用Analyzer处理文本。 2. **Compass配置**:设置数据源、...
Lucene是Apache软件基金会的一个项目,它是一个高性能、全文本搜索库,但是直接使用Lucene可能会涉及到很多底层细节,对开发者来说有一定的学习曲线。Compass的出现就是为了降低这个门槛,使得开发人员可以更加专注...
Compass和WellPlan学习总结 Compass和WellPlan是油气行业中的两个重要工具,用于油气井的设计、规划和实施。下面是Compass和WellPlan学习总结的知识点: 1. 井设计基本概念:井设计是油气井的核心部分,涉及到井的...
compass 和 wellplan 学习总结材料 compass 和 wellplan 是油气行业中常用的软件,分别用于钻井设计和油井规划。以下是 compass 和 wellplan 的学习总结材料。 一、compass 的创建 compass 是一款专业的钻井设计...
其中SCSS(Sassy CSS)语法更接近CSS本身,易于学习和理解。 #### 二、Compass概述 Compass是一款基于Sass的CSS框架,它提供了一组功能强大的工具集和样式库,帮助开发者快速构建响应式网站和应用程序。Compass通过...
Compass是一款基于Lucene的全文搜索引擎工具...通过这个工程,开发者可以学习如何在实际项目中集成和使用Compass,以提升应用的搜索性能。同时,这也是一个很好的学习资源,帮助理解全文搜索引擎的工作原理和应用方式。
"Compass和WellPlan学习总结" Compass是一种油气工业中常用的井trajectory设计和分析软件,WellPlan则是一种油气工业中常用的Well Planning和设计软件。本文档总结了Compass和WellPlan的学习笔记,涵盖了油气工业...