`

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-->
分享到:
评论

相关推荐

    Lucene+compass学习资料

    Lucene+compass学习资料+ajax

    Compass学习文档1

    Compass学习文档1.doc

    Compass原理深入学习笔记

    Compass原理深入学习笔记,对于compass知识的一个梳理,希望对大家有用

    compass学习笔记

    Compass概念: 1:Compass相当于hb的SessionFactory 2:CompassSession相当于hb的Session 3:CompassTransaction相当于hb的transaction。 &lt;br&gt;Compass也是采用CompassConfiguration(装载配置和映射文件...

    compass包及相关学习资料

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

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

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

    compass-reference.pdf

    compass学习必备资料! 唯一的问题就是英文版,希望大家喜欢。 本人技术博客:http://blog.sina.com.cn/javadevelop

    mongodb安装包和compass

    mongodb安装包和compass mongodb安装包和compass mongodb安装包和compass 可在node学习过程中使用

    compass和wellplan学习总结.pdf

    compass和wellplan学习总结.pdf

    compass和wellplan学习总结.doc

    compass和wellplan学习总结.doc

    compass和wellplan学习总结材料.doc

    compass和wellplan学习总结材料.doc

    Compass简单学习

    NULL 博文链接:https://lionsadness.iteye.com/blog/689948

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

    MongoDB的讲义,资源包。与大数据hadoop学习相关,包含快速入手MongoDB和MongoDB集群安全两个部分,以及mongoDB的可视化工具zip包MongoDB-compass

    compass 2 API

    Controller提供足够的配置参数,使它完全可以被配置重用,这是个值得SpringSide学习的地方。 即使你的Web应用不是采用Spring MVC,如果没有大规模改写的需求,也可以直接使用,让Struts与Spring MVC并存。

    compass 2.1 API

    刚刚从compass的官网上下载的compass 2.1 API网页,然后合成的chm文件,希望大家能够很好的学习compass

    Mi_Compass.zip项目安卓应用源码下载

    Mi_Compass.zip项目安卓应用源码下载Mi_Compass.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考

    Mi_Compass.zip

    android 源码学习.资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

Global site tag (gtag.js) - Google Analytics