《基于Luncene的compass框架详解java的设计与开发.docx》由会员分享,可在线阅读,更多相关《基于Luncene的compass框架详解java的设计与开发.docx(42页珍藏版)》请在第一文库网上搜索。
1、Compass 文档目录原理描述:二、术语解释:三、下载地址:、彳JIJ J* SH 的 comj)dss 的彳夕4一、原理描述:Compass是一流的开放源码JAVA搜索引擎框架,对于你的应用修饰,搜索引擎语义更具有能力。依靠顶级的Lucene搜索引擎,Compass结合了,像Hibernate和Spring的流行的框架,为你的应用提供了从数据模型和数据源同步改变的搜索力.并且添加了 2方面的特征,事物管理和快速更新优化.Compass的目标是:把java应用简单集成到搜索引擎中.编码更少,查找数据更便捷.二、术语解释:名称描述LuceneApache Lucene是一个基于Java全文搜索
2、弓I擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要一作是替文件的每 个字作索引,索引让搜寻的效率比传统的逐字比较大大提高了,Lucene提供一组解读,过滤,分析文件,编排和使用索引的提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用都是可以随时应自己需要自订其功能。开发者可以把Lucene看成一个支持全文索引的数据库系统的.Compass我对Compass的定义是面向域模型的搜索框架,面向域模型意味着必须支持对对象的搜索,对持久化对象的搜索,和对XML文档对象的搜索,同时还必须支持事务的处理,包括对创建,更新,保存,
3、删除进行事务级别的处理.所以,Compass是基于Lucene,高于Lucene的.有个形象的比喻.Compass 对于 Lucene 就像 Hibernate 对于 JDBC,太有才了!Compass 的开发路数完全参照Hibernate.OSEM对象搜索引擎影射(Object Search Engine Mapping),通过xml配置文件,提供了 POJOs (Plain Old Java Objects)到搜索引擎.三、下载地址:软件名称下载地址软件描述Compass 框架、jar 包passframework.org/基于Java的搜索引擎四、使用流程:WWW文档浏临器浏临器10.五
4、、基于SSH的compass的实例:stepl在 ssh2 的基础上开发 加入 jar 包 (compass-2. 1.2. jarcompass-index-patch, jarlucene-analyzers-2. 4. 0. jarlucene-core-2. 4. 0. jarlucene-highlighter-2. 4. 0. jarpaoding-analysis. jar)step2先来看下实体bean的编写Java代码1. package com. v512. example, model;2. import org. compass, annotations. *;3. /
5、*4. * Product entity.5. *6. * author MyEclipse Persistence Tools7. */8. Searchable9. public class Product implements java. io. Serializable 33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.11. / Fields12.13. Searchableld14. private String id;15. SearchableProperty (name=,namez,, index=Tndex. ANALY
6、ZED, store=Store. YES)16. private String name;17. SearchableProperty (name=z,pricez,, index=lndex. NOTANALYZED,store=Store. YES)18. private Double price;19. SearchablePropcrty(name=brand”, index=Index. ANALYZED, store=Store. YES)20. private String brand;21. SearchableProperty(name=description”,index
7、=Index,ANALYZED,store=Store. YES)22. private String description;23.24. / Constructors25.26. /* default constructor*/27. public Product ()28. )29.30. /* full constructor*/31. public Product(Stringname,Double price, Stringbrand, String description) 32. this.name = name;this, price = price;this, brand
8、= brand;this.description = description;)/ Property accessorspublic String getldO return this, id;)public void setTd(String id) this, id = id;)public String getNameO return this.name;50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.public void setName(String name) this
9、, name = name;)public Double getPriceO return this, price;)public void setPrice (Double price) this, price = price;)public String getBrandO return this.brand;)public void setBrand (String brand) this, brand = brand;)public String getDescriptionO return this.description;)public void setDescription(St
10、ring description)77. this, description = description;78. 79.80. )step3 属性文件 Product, hbm. xmlJava代码目1. 2. 4. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. property name二price type=z,java. lang. Double)17. 18. 19. property name二brand type=z,java. lang. String)20. 21. 22. property name二description type=z,java. lang.String”)23. 24. 25. 26. 要使用Compass必须加入一个applicationContext-compass. xml文件,文件名可以自行定义 这个就不用说了废话step4applicationContext-compass. xml:Java代码电1. 3. 7.8. !配置compass的注解功能一9. bean id二annotationConfiguration”10. class=org. compass,