这是我第一篇成文的英文技术翻译,里面一些常用的技术名词没有翻译,英文单词意思更明了
Compass提供了一些简单和熟悉的API。说熟悉是因为他为了降低学习曲线模拟了当前流行的ORM工具 API,Compass API围绕了几个主要接口:
CompassConfiguration:用于配置compass一系列的设置,配置文件和映射定义。接着创建一个Compass实例
Compass:一个线程安全的实例,为单线程的使用打开Compass Sessions。同时也提供了一些搜索引擎索引级别的操作。
CompassSesssion:实行搜索引擎操作(save, delete, find, and load)的主要接口。非常轻量级的和非线程安全的
CompassTransaction:控制compass事务的一个接口。用于不要求事务控制环境(像Spring/JTA)
下面是使用API的一个例子:
// Compass is configured and created on an application scope
CompassConfiguration conf = new CompassConfiguration().setConnection("/tmp/index").addClass(Author.class);
Compass compass = conf.buildCompass();
// A request scope operation
CompassSession session = compass.openSession();
CompassTransaction tx = null;
try {
tx = session.beginTransaction();
...
session.save(author);
Compass hits = session.find("jack london");
Author a = (Author) hits.data(0);
Resource r = hits.resource(0);
...
tx.commit();
} catch (CompassException ce) {
if (tx != null) tx.rollback();
} finally {
session.close();
}
为了简化事务管理代码,compass提供了许多选择。首先去用使用了流行模板设计模型的CompassTemplate,其次当处于事务管理环境中,compass和事务管理者(JTA和hibernate事务)集成,随着已经运行的食物而运行。在一个Session操作实行时,CompassSession作为一个代理自动参与事务。代理是通过编程或使用Spring Ioc创建。
Compass支持自动事务操作,集成了不同的事务管理策略:Local transaction management, JTA Sync and XA for JTA integration, and Spring Synchronization integration.Compass configuration是基于key value设置的,Compass配置可以使用编程配置,基于xml DTD配置(定义mappings and settings)和一个基于xml schema 配置。基于xml schema 配置可以得到基于Spring 2 新的schema配置支持。
搜索引擎映射
Compass的主要特征之一就是有从应用程序模型到搜索引擎映射的能力。搜索引擎域模型是由Resource (a Lucene Document) 和Property (a Lucene Field)组成的。他是用于索引可以搜索内容的抽象数据对象。
RSEM
第一映射是RSEM(Resource/SearchEngine Mapping). 这是一个低级别的映射,从Compass Resource 和 Property(对应 Lucene Document and Field) 搜索引擎抽象到搜索引擎。下面是一个关于Author resource 的RESM描述的例子:<resource alias="author"> </resource>
<resource alias="author"><resource-id name="id"><resource-property name="firstName"><resource-property index="tokenized" store="yes" name="lastName"><resource-property name="birthdate" converter="mydate"></resource-property><resource alias="author">
<resource-id name="id"/>
<resource-property name="firstName"/>
<resource-property name="lastName" store="yes" index="tokenized"/>
<resource-property name="birthdate" converter="mydate"/>
</resource>
</resource-property></resource-property></resource-id></resource>
<resource alias="author"><resource-id name="id"><resource-property name="firstName"><resource-property name="lastName" store="yes" index="tokenized"> 这里我们描述一个资源映射author别名。资源映射有一个Id关联资源和几个额外的属性。定义属性是可选的,他们可以控制不同属性特征,包含了和converter联合的能力。下面是一段用数据填充的author资源和索引此资源的代码。
Resource r = session.createResource("author");
r.addProperty("id", "1")
.addProperty("firstName", "jack")
.addProperty("lastName", "london")
.addProperty("birthdate", new Date());
session.save(r);
许多compass特征在上面的代码片段中展示。第一个特征要感谢这个实施:如果资源已经存在索引中,一个标识的Compass可以更新它。第二个特征是能显式分配converter给property,能使用许多Compass内置的converter。下面是Compass configuration(包含“mydate” converter 配置)
<compass-core-config xmlns="http://www.opensymphony.com/compass/schema/core-config"><compass-core-config xmlns="http://www.opensymphony.com/compass/schema/core-config"
xsi:schemaLocation="http://www.opensymphony.com/compass/schema/core-config
http://www.opensymphony.com/compass/schema/compass-core-config.xsd">
<compass name="default">
<connection>
<file path="index" />
</connection>
<converters>
<converter name="mydate" type="org.compass.core.converter.basic.DateConverter">
<setting name="format" value="yyyy-MM-dd" />
</converter>
</converters>
<mappings>
<resource location="sample/author.cpm.xml" />
</mappings>
</compass>
</compass-core-config></compass-core-config></resource-property></resource-property></resource-id></resource><compass-core-config xmlns="http://www.opensymphony.com/compass/schema/core-config"><compass name="default">
<connection><converters></connection></compass></compass-core-config> <resource alias="author"><resource-id name="id"><resource-property name="firstName"><resource-property name="lastName" store="yes" index="tokenized"><compass-core-config xmlns="http://www.opensymphony.com/compass/schema/core-config"><compass name="default"><connection>没有翻译完整,后面还有OSEM (Object/Search Engine Mapping),XSEM (Xml/Search Engine Mapping)
</connection></compass></compass-core-config></resource-property></resource-property></resource-id></resource>
Compass Gps
分享到:
相关推荐
【compass完整可用项目】是一个基于特定技术栈的软件开发项目,该项目的核心是Compass库,一个与Lucene紧密集成的全文搜索引擎工具。Compass提供了一种简单的方式来在Java应用程序中集成全文搜索功能,使得开发者...
MongoDB Compass是MongoDB官方提供的一款图形化管理工具,它为MongoDB数据库的使用者提供了直观的界面,方便进行数据浏览、查询、操作以及性能分析。MongoDB Compass 1.15.1是这个系列的一个版本,它无需安装,可以...
Compass是MongoDB的官方图形界面工具,它提供了一个用户友好的界面,用于可视化数据库和集合,帮助开发者和管理员进行数据探索、查询构建、性能分析以及基本的数据库管理。通过Compass,用户可以轻松地浏览和操作...
COMPASS 教程Pdf COMPASS 是一款专业的油气田设计和生产软件,主要用于油气田的规划、设计和生产过程。下面是 COMPASS 的一些重要知识点: 1. COMPASS WELLPLAN FOR WINDOWS 功能简介:COMPASS 的核心功能包括 ...
### Compass 使用详解 #### 一、Compass 概述 Compass 是一款开源的 Java 库,用于简化 Lucene 的使用。它通过提供类似于 Hibernate 的对象关系映射(ORM)功能,使得开发者能够更加轻松地将 Java 对象映射到 ...
Compass 入门指南 Compass 是一个搜索引擎框架,旨在提供高效、可扩展的搜索解决方案。以下是 Compass 入门指南,涵盖了 Compass 的核心概念、配置文件、注解方式、核心 API、与 Spring 集成等方面。 Compass 的...
MongoDB Compass是MongoDB公司开发的一款强大的图形用户界面(GUI)工具,专为MongoDB数据库管理系统设计。这个工具的主要目标是简化数据库的管理和操作,使非技术用户也能轻松理解和探索数据。"mongodb-compass-...
Compass搜索引擎技术是一种基于Lucene的全文检索框架,它提供了更高级别的API和集成机制,使得在Java应用程序中实现搜索引擎功能变得更加便捷。Compass的主要目标是将全文索引能力无缝地融入到现有的业务应用程序中...
【Compass原理深入学习笔记】 Compass是一款基于Apache Lucene的全文搜索引擎框架,它为开发者提供了更高级别的抽象层,简化了搜索引擎的集成工作。在理解Compass之前,我们需要先了解全文检索的基本概念和原理。 ...
### Java搜索 Compass 资料知识点 #### 一、Compass 概述 Compass 是一个为 Java 应用程序提供全文检索功能的框架。它能够帮助开发者在 Java 应用程序中轻松实现复杂的搜索需求,并且具有较高的性能。Compass 基于...
MongoDB Compass是MongoDB公司开发的一款强大的图形化管理工具,专为MongoDB数据库设计,用于帮助用户更加直观地理解和操作NoSQL数据库。本压缩包文件"mongodb-compass-1.17.0-win32-x64"包含了适用于Windows 32位和...
MongoDB Compass是MongoDB官方提供的一款强大的图形化管理工具,专为MongoDB数据库设计,用于帮助用户更加直观地理解和操作数据库。在这个版本"mongodb官方客户端可视化工具compass-1.26.1-win32-x64"中,我们关注的...
**Compass:Lucene的高级封装工具** Compass是一款基于Apache Lucene的全文搜索引擎库,它为Java开发者提供了一个高级的、易于使用的搜索框架。在Java应用中集成搜索引擎功能时,Compass提供了一种简化的方式来管理...
Compass 是一个全文搜索引擎库,它是对 Lucene 的封装,为 Java 应用提供了一种简单易用的接口。在 Compass 中,Annotation 是一种元数据注解方式,它允许开发者在对象模型上直接定义搜索映射,使得对象与索引之间的...
在“mongodb-compass-community-1.16.4-win32-x64.zip”这个压缩包中,包含了MongoDB Compass的社区版,它可以帮助用户直观地查看和操作MongoDB数据库。以下是压缩包内各个文件的作用: 1. **snapshot_blob.bin**:...
基于Lucene的Compass框架详解-Java 一、Compass框架概述 Compass是一个高性能的开源Java搜索引擎框架,旨在简化应用程序与搜索引擎之间的集成过程。它不仅利用了顶级的Lucene搜索引擎的强大功能,还融合了诸如...
罗氏Accu-Chek Compass软件是一款专为糖尿病患者设计的血糖管理工具,它能够帮助用户有效地跟踪和管理自己的血糖水平。这款软件的版本是V1.3.0.8,其简体中文完全汉化补丁是用户共享的成果,确保了中国用户能够无...
Compass 2.2.0 是一个开源的Java搜索引擎框架,它的出现是为了简化与Apache Lucene的交互,为开发者提供了一种更为高级和抽象的API。Lucene是Apache软件基金会的一个项目,它是一个高性能、全文本搜索库,但是直接...
罗盘(Compass)是基于 OPPO 内部大数据诊断平台的开源项目,可用于诊断 DolphinScheduler、Airflow 等调度平台上所运行的大数据任务。 主要特点: 无创,即时诊断,无需修改现有调度即可体验诊断效果 平台。 ...
### Sass与Compass实战知识点详解 #### 一、Sass简介 Sass(Syntactically Awesome Style Sheets)是一种预处理器脚本语言,用于扩展CSS的功能。它为CSS增加了诸如变量、嵌套规则、混合器(mixins)、继承、函数等...