前言:因javaeye的每页显示有限制,所以只能分成3页来发布了。
2.2.1 Library的分析
顾名思义,Library例子主要展现的是图书馆中的图书信息的检索。
2.2.1.1 项目文件基本构成
序号
|
文件类型
|
文件列表
|
备注
|
1
|
Compass的配置文件
|
compass.cfg.xml
|
|
2
|
检索类
|
Article.java
Author.java
Book.java
|
|
3
|
检索类映射文件
|
Article.cpm.xml
Author.cpm.xml
Book.cpm.xml
|
|
4
|
通用元数据定义文件
|
Library.cmd.xml
|
|
5
|
测试类
|
LibraryTests.java
|
|
6
|
其他类
|
Name.java
Identifiable.java
|
Name作为Author的辅助类。
Identifiable提供一个getId()方法。作为root级的检索类必须实现的接口。
|
2.2.1.2 项目文件分析
2.2.1.2.1 Compass的配置文件
Compass的配置文件是compass.cfg.xml。对于熟悉hibernate的人来说,compass的配置文件的组成结构极为熟悉,简直跟hibernate的配置文件是双胞胎。
以下是Library的配置内容:
<compass>
//表示索引的路径:\library\target\index\
<setting name="compass.engine.connection">target/index</setting>
//通用的元数据定义文件。
<meta-data resource="org/compass/sample/library/library.cmd.xml" /> </compass>
2.2.1.2.2 检索类
序号
|
类名
|
描述
|
备注
|
1
|
Book
|
书
|
实现Identifiable接口
|
2
|
Article
|
文章
|
|
3
|
Author
|
作者
|
实现Identifiable接口
|
3个检索类中,两个都实现了Identifiable接口。该接口很简单:
public interface Identifiable {
Long getId();
}
这说明了什么呢?
有了Id,即有一个证明,能被单独搜索到。Article是不应该被独立搜索到的,当系统检索到一个Article的时候,被返回的总是与之相关的Author对象,而非Article对象本身。这一点在实体的配置文件中得以充分体现。
用Compass官方的语言来说,Book和Author是root级的检索类,而Article是非root级的检索类。
2.2.1.2.3 检索类映射文件
序号
|
配置文件名
|
描述
|
备注
|
1
|
Book.cpm.xml
|
书
|
|
2
|
Article.cpm.xml
|
文章
|
|
3
|
Author.cpm.xml
|
作者
|
|
Compass的映射方式有以下三种:
1、RSEM(Resource/SearchEngine Mapping)
2、OSEM(Object/Search Engine Mapping)
3、XSEM(Xml/Search Engine Mapping)
本例中使用的是OSEM。具体的内容参见《compass-reference》。
分享到:
相关推荐
Compass原理深入学习笔记,对于compass知识的一个梳理,希望对大家有用
NULL 博文链接:https://arlon.iteye.com/blog/674683
Lucene+compass学习资料+ajax
创建Compass时将会链接已经存在的索引或者创建一个新的索引。当Compass创建完后,就可以用compass得到compassSession。compassSession主要是起管理搜索引擎的数据。和hb的SessionFactory一样,compass通常在系统启动...
Compass学习文档1.doc
Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.内容包括compass的jar包及从网上搜集的相关学习资料. 附两个不错的资料地址: ...
指南针Compass
分布式数据库中间件-Compass 功能介绍 Compass是搜狗商业平台研发部开发的一套轻量级的分布式数据库访问框架,支持单库、主从库读写分离、分库、分库之后再分表、从库负载均衡和HA等使用场景,并且在框架层面提供了...
完整compass工程+mysql建库sql+学习资料
Compass需要的包3:compass-core.jar
spring集成compass的配置文件 跟项目配套的compass源码在http://download.csdn.net/source/1447662
基于Java的Luncene的compass框架说明使用技术文档 一、原理描述: 二、术语解释: 三、下载地址: 四、使用流程: ……………………………………………………………………………………. 五、基于SSH的compass的...
指南针视图 指南针视图具有完整选项样式。 设置 添加到模块的build.gradle中: ... edu .arbelkilani.compass.Compass android : id = " @+id/compass_1 " android : layout_width = " 200dp " android : layo
这个是compass整合ssh的例子,最重要的一点是一对多的关联这方面,寡人整了一天才把compass关联搞定,网上有关compass的资源太少了,不想让以后的人这么为难,咱就上传个我自己的练习吧,有较为详细的注释,希望能对...
Compass_入门指南 Compass_入门文档
mongodb安装包和compass mongodb安装包和compass mongodb安装包和compass 可在node学习过程中使用
compass_使用详解.pdf compass_教程 compass_试用案例。
compass教程.pdf
compass文档资料
资源名称:Sass与Compass实战资源截图:资源太大,传百度网盘了,链接在附件中,有需要的同学自取。