




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Compass技术文档目录、原理描述:二、术语解释:三、下载地址:四、使用流程:五、基于SSH的compass的实例:一、原理描述:Compass是一流的开放源码JAVA搜索引擎框架,对于你的应用修饰,搜索引擎语义更具有能力。依靠顶级的Lucene搜索引擎,Compass结合了,像Hibernate和Spring的流行的框架,为你的应用提供了从数据模型和数据源同步改变的搜索力.并且添加了2方面的特征,事物管理和快速更新优化.Compass的目标是:把java应用简单集成到搜索引擎中.编码更少,查找数据更便捷.、术语解释:名称描述LuceneApacheLucene是l个基于Java全文搜索引擎
2、,利用它口以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的句个子作索引,索引让搜寻的效率比传统的逐字比较大大提高了,Lucene提供一组解读,过滤,分析文件,编排和使用索引的提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用都是可以随时应自己需要自订其功能。开发者可以把Lucene看成一个支持全文索引的数据库系统的Compass我对Compass的te义是向向域模型的搜索框架,向向域模型忌味着必须支持对对象的搜索,对持久化对象的搜索,和对XML文档对象的搜索,同时还必须支持事务的处理,包括对创建,更新,保存,删除进行
3、事务级别的处理.所以,Compass是基于Lucene,高于Lucene的.有个形象的比喻.Compass对于Lucene就彳Hibernate对于JDBC,太有才了!Compass的开发路数完全参照Hibernate.OSEM对象搜索引擎影射(ObjectSearchEngineMapping),通过xml配置文件,提供了POJOs(PlainOldJavaObjects)到搜索引擎.三、下载地址:软件名称下载地址软件描述Compass框架、jar包/基于Java的搜索引擎四、使用流程:五、基于SSH的compasS勺实例:stepl在ssh2的基础上开发力
4、口入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. packagecom.v512.example.model;2. pass.annotations.*;3. /*4. *Productentity.5. *6. *authorMyEclipsePersistenceTools7. */8. Searchab
5、le9. publicclassProductimplementsjava.io.Serializable10.11. /Fields12.13. SearchableId14. privateStringid;15. SearchableProperty(name=name,index=Index.ANALYZED,store=Store.YES)16. privateStringname;17. SearchableProperty(name=price,index=Index.NOT_ANALYZED,store=Store.YES)18. privateDoubleprice;19.
6、SearchableProperty(name=brand,index=Index.ANALYZED,store=Store.YES)20. privateStringbrand;21. SearchableProperty(name=description,index=Index.ANALYZED,store=Store.YES)22. privateStringdescription;23.24. /Constructors25.26. /*defaultconstructor*/27. publicProduct()28. 29.30. /*fullconstructor*/31. pu
7、blicProduct(Stringname,Doubleprice,Stringbrand,Stringdescription)32. =name;33. this.price=price;34. this.brand=brand;35. this.description=description;36. 37.38. /Propertyaccessors39.40. publicStringgetId()41. returnthis.id;42. 43.44. publicvoidsetId(Stringid)45. this.id=id;46. 47.48. public
8、StringgetName()49. ;50. 51.52. publicvoidsetName(Stringname)53. =name;54. 55.56. publicDoublegetPrice()57. returnthis.price;58. 59.60. publicvoidsetPrice(Doubleprice)61. this.price=price;62. 63.64. publicStringgetBrand()65. returnthis.brand;66. 67.68. publicvoidsetBrand(Strin
9、gbrand)69. this.brand=brand;70. 71.72. publicStringgetDescription()73. returnthis.description;74. 75.76. publicvoidsetDescription(Stringdescription)77. this.description=description;78. 79.80. step3属性文件Product.hbm.xmlJava代码_1. 2. !DOCTYPEhibernate-mappingPUBLIC-/Hibernate/HibernateMappingDTD3.0/EN3.
10、“http:4. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 要使用Compass、须加入一个applicationContext-compass.xml文件,文件名可以自行定义这个就不用说了废话step4applicationContext-compass.xml:Java代码_1. 2.3. 7.8. 9. 11. 12.13.14. 15. 16. 17. 18. classpath:com/v512/example/model19. 20. 21. 22. 23. /lucen
11、e/indexes24. 25.26. 27. 28. 29. com.v512.example.model.Product30. 31. 32. 34.35. 36. 37. 38. 39. pass.spring.transaction.SpringSyncTransactionFactory40. 41. net.paoding.analysis.analyzer.PaodingAnalyzer42. 43. 44. 45. 46. 47.48.49. 51. 52. hibernateDevice53. 54. propertyname=sessionFactoryref=sessio
12、nFactory/55. 56. true57. 58. 59. 60. 62. 63. 64. 65. 67. 68. 69. 70. 71. 72.73.74. 76. 77. 78.79. 80. 83. 84. 85. 86. 0. 中间都有注解就不多解释了下面来编写dao及dao的实现以及severce层step5Java代码.1. packagecom.v512.example.dao;2.3. importjava.util.List;4.5. importcom.v512.example.model.Product;6.7. publicinterfaceP
13、roductDao8. publicvoidcreate(Productp);9. publicProductgetProduct(Stringid);10. publicListgetProducts();11. publicvoidupdate(Productproduct);12. publicvoidremove(Stringid);13.14. Java代码一1. packagecom.v512.example.dao.hibernate;2.3. importjava.util.List;4.5. importcom.v512.example.dao.ProductDao;6. i
14、mportcom.v512.example.model.Product;7. importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;8. publicclassProductDaoHibernateextendsHibernateDaoSupportimplementsProductDao9.10. publicvoidcreate(Productp)11. getHibernateTemplate().save(p);12.13. 14.15. publicProductgetProduct(Stringid
15、)16. return(Product)getHibernateTemplate().get(Product.clas5, id);17. 18.19. publicListgetProducts()20. returngetHibernateTemplate().find(fromProductorderbyiddesc);21. 22.23. publicvoidremove(Stringid)24. getHibernateTemplate().delete(getProduct(id);25.26. 27.28. publicvoidupdate(Productproduct)29.
16、getHibernateTemplate().saveOrUpdate(product);30.31. 32.33. serveceJava代码一1. packagecom.v512.example.service;2.3. importjava.util.List;4.5. importcom.v512.example.model.Product;6.7. publicinterfaceProductManager8. publicvoidinsertProduct(Productp);9. publicProductfindProdcut(Stringid);10. publicLists
17、earchProducts(StringqueryString);11.12.13. servece的实现Java代码,1. packagecom.v512.example.service.impl;2.3. importjava.util.ArrayList;4. importjava.util.List;5.6. pass.core.CompassHits;7. pass.core.CompassSession;8. pass.core.CompassTemplate;9. pass.core.CompassTransaction;10.11. importcom.v512.example
18、.dao.ProductDao;12. importcom.v512.example.model.Product;13. importcom.v512.example.service.ProductManager;14. pass.core.Compass;15. publicclassProductManagerImplimplementsProductManager16. privateProductDaoproductDao;17. privateCompassTemplatecompassTemplate;1.22. publicvoidsetCompassTemp
19、late(CompassTemplatecompassTemplate)23. passTemplate=compassTemplate;24. 25.26. publicvoidsetProductDao(ProductDaoproductDao)27. ductDao=productDao;28. 29.30. publicProductfindProdcut(Stringid)31. returnproductDao.getProduct(id);32. 33.34. publicvoidinsertProduct(Productp)35. productDao.crea
20、te(p);36. 37.38. publicListsearchProducts(StringqueryString)39. Compasscompass=compassTemplate.getCompass();40. CompassSessionsession=compass.openSession();41. Listlist=newArrayList();42. /这里不需要开启事务了,因为在调用这个方法之前就已经开启了事务43. CompassHitshits=session.queryBuilder().queryString(name:+queryString).toQuery
21、().hits();44. System.out.println(queryString:+queryString);45. System.out.println(hits:+hits.getLength();46.47.for(inti=0;ihits.length();i+)Producthit=(Product)hits.data(i);48. list.add(hit);49. 50.51. returnlist;52. 6. publicCompassTemplategetCompassTemplate()57. returncompassTemplate;58.
22、 59.60. 所有的都做完了现在编写jsp页面step6insertProduct.jspJava代码一1. 3. 4. 5. 6. 7. 8. 9.10. 添加信息11. 12. 13. 14. 15.16. 17. 18. 19. 添加商品名称20. 21. 22. 23.24.25. 26. 27. 商品名称28. 29. 30.31. 32. 商品品牌33. 34. 35.36. 37. 商品价格38. 39. 40.41. 42. 商品描述43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59
23、. 60. step7编写actionJava代码_1. packagecom.v512.example.action;2.3. importjava.util.List;4.5. importcom.opensymphony.xwork2.ActionSupport;6. importcom.v512.example.model.Product;7. importcom.v512.example.service.ProductManager;8. importorg.apache.struts2.ServletActionContext;9.10. publicclassProductActionextendsActionSupport11.12. privatestaticfinallongserialVersionUID=3795048906805728732L;13. privateProductManagerproductManager;14. privateProductproduct;15. privat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省宁波市镇海中学2025年5月第二次模拟考试 生物试卷+答案
- 大班绘画活动《美丽的衣服》
- 人类的起源和发展教学设计
- 因式分解知识点总结模版
- 开展法制教育进校园活动方案
- 工程造价管理团队年度工作总结
- 食管类癌的临床护理
- 影城消防培训试题及答案
- 银行总行面试题目及答案
- 银行小组面试试题及答案
- 管道沟槽土方开挖施工方案
- 2023年湖南省普通高中学业水平合格性考试化学含答案
- 废旧物资合同
- 政工类人员培训课件
- 居家社区养老助洁服务规范
- 【宜宾五粮液有限公司偿债能力分析(定量论文)11000字】
- 灯光音响舞台机械施工施工方案和技术措施方案
- 《安全事故管理》课件
- 汽车驾驶技术(劳动版)课件:高原、沙漠及林区驾驶
- 专科联盟服务流程
- 初中生物教师实验技能培训1
评论
0/150
提交评论