compass的优点和基础认识

注意:和其它的框架一样,Compass也是需要一定的配置的,而Compass的数据配置可分为Annotations(宣告,发表),DTD验证的XML和Schema验证的XML。

 

 

 

compass是基于lucene专门为Java定制的一个东东。下面是从别的地方看到的随手抄下来。

compass的模块主要包括compass core,compass Gps,compass Spring。

一:compass core 是compass最基础的部分,它对lucene做了事务索引搜索引擎抽象对象关系映射、事务管理集成、不同的影射技术(OSEM,XSEM,RSEM)等扩展。它的目标是应用于不同的场景和环境,简化搜索引擎的核心操作。

二:Compass Gps的目标是继承不同的内容来源,最主要的特征是和不同的ORM框架,比如Hibernate,JPA,JDO,OJB等的集成,允许在搜索引擎和一种以ORM方式从数据库中取内容的持久框架进行透明方式的集成。除ORM框架外,还支持与JDBC的集成,允许通过配置SQL表达式抽取内容达到索引数据库内容的目的。

三:Compass Spring主要完成Compass和Spring framework的集成。spring是一个基于依赖注射和其它技术提供简化开发模式的应用框架。compass在spring framework的代码基础上以和集成ORM框架相同简单的方式集成spring,而且也集成了Spring抽象事务层、AOP支持以及MVC库。

 

下面阐述Compass的一些名词:

1:Resource,Compass对Lucene的Document的抽象,与Alias联系在一起。

2:Property,Compass对Lucene的Field的抽象。通过Compass Converter framework将不是String类型的对象转换为可以索引的Property。

3:RSEM:Resource/Search Engine Mapping,资源搜索引擎影射。

4:Lucene采用IndexReader、Searcher、IndexWriter三个类完成索引搜索的功能。而Compass只有一个简单的接口,能够通过该接口实现所有的操作。

5:事务索引和集成:lucene是非事务性的。无法和事务型的系统进行结合。Compass提供两种提交事务:read_committed 和 serializable

6:快速更新:lucene中,执行更新必须先删除旧的Document,然后再新建一个Document。由于Compass支持事务索引,因此每个要保存的Resource都必须有一个唯一标识。这样更新的效率会更高。

7:All 支持:在lucene中,没有办法对一个Document的所有的字段进行搜索,要对所有字段进行搜索,必须创建一个包含所有field的一个"all"field。compass默认地建立一个"all"属性,并且该"all"属性充当默认的搜索Field,当然,"all"property可以设置成enabled或disabled、重命名或者不充当默认的搜索Property,也可以排除all中的某些属性。

8:索引分块,Lucene基于性能的考虑,索引实际上是一些索引作成。而Compass通过可配置的散列功能自动将索引分块成子索引。可以参考Compass的索引结构。

 

  总结:感到compass的强大,所以嘛,一定要将它拿下!!!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值