- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lucene教案全文检索技术传智.关云长Lucene介绍为什么学习lucene问题1:如何根据某个词搜索数据库中存储的大文本信息?答案:只能使用like语句进行模糊查询,比如%传智播客%。问题2:如果使用大量的like语句同时查询数据库,是否会存在问题?答案:使用数据库中的like语句查询数据的效率是很慢的,如果有大量的查询请求,响应结果的速度惨不忍睹。如何解决以上的问题?解决方案:通过全文检索技术,可以解决该问题。全文检索是什么全文检索首先将要查询的目标文档中的词提取出来,组成索引,通过查询索引达到搜索目标文档的目的。这种先建立索引,再根据索引搜索文档的过程就叫全文检索(Full-text Search)。举例:全文检索的过程,就类似于查询字典的过程。Lucene是全文检索技术中最常用的一种。全文检索流程通过架构分析,全文检索的流程分为两大部分:索引流程、搜索流程。索引流程:即采集数据创建索引文档存储到索引库。搜索流程:即用户输入搜索条件搜索索引从索引库获取文档渲染搜索结果。Lucene是什么Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。常用的全文检索应用有:搜索引擎(百度、谷歌)、站内搜索(京东商城的商品搜索)Lucene和全文检索应用的区别:1、Lucene是全文检索引擎工具包,程序员使用它可以开发全文检索应用。2、全文检索应用比如百度搜索引擎,它是一个完整的、可以单独运行的全文检索系统。入门程序需求使用Lucene实现电商项目中图书类商品的索引和搜索功能。环境准备Jdk环境:1.7.0_72Ide环境:eclipse mars数据库环境:mysql 5.1Lucene:4.10.3数据库初始化Lucene下载Lucene是开发全文检索功能的工具包,使用时从官方网站下载,并解压。官方网站:/目前最新版本:5.2.1下载地址:/dist/lucene/java/下载版本:4.10.3JDK要求:1.7以上(从版本4.8开始,不支持1.7以下)工程搭建(两步)第一步:创建java工程第二步:添加jar包入门程序只需要添加以下jar包:mysql5.1驱动包:mysql-connector-java-5.1.7-bin.jar核心包:lucene-core-4.10.3.jar分析器通用包:lucene-analyzers-common-4.10.3.jar查询解析器包:lucene-queryparser-4.10.3.jarjunit包:junit-4.9.jar索引流程Lucene实现索引流程分析IndexWriter是Lucene实现索引过程的核心组件,通过IndexWriter可以创建新索引、更新索引、删除索引操作。IndexWriter需要通过Directory对索引进行存储操作。Directory描述了索引的存储位置,底层封装了I/O操作,负责对索引进行存储。它是一个抽象类,它的子类常用的包括FSDirectory(在文件系统存储索引)、RAMDirectory(在内存存储索引)。为什么要采集数据全文检索要搜索的数据信息格式多种多样,拿搜索引擎(百度, google)来说,通过搜索引擎网站能搜索互联网站上的网页(html)、互联网上的音乐(mp3..)、视频(avi..)、pdf电子书等。全文检索搜索的这些数据称为非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。如何对结构化数据搜索?由于结构化数据是固定格式,所以就可以针对固定格式的数据设计算法来搜索,比如数据库like查询,like查询采用顺序扫描法,使用关键字匹配内容,对于内容量大的like查询速度慢。如何对非结构化数据搜索?需要将所有要搜索的非结构化数据通过技术手段采集到一个固定的地方,将这些非结构化的数据想办法组成结构化的数据,再以一定的算法去搜索。如何采集数据采集数据技术有哪些?1、对于互联网上网页采用http将网页抓取到本地生成html文件。2、如果数据在数据库中就连接数据库读取表中的数据。3、如果数据是文件系统中的某个文件,就通过文件系统读取文件的内容。网页采集(了解)因为目前搜索引擎主要搜索数据的来源是互联网,搜索引擎使用一种爬虫程序抓取网页(通过http抓取html网页信息),以下是一些爬虫项目:Solr(/sol
您可能关注的文档
- LTE基本原理1讲述.ppt
- LTE案例讲述.ppt
- LTE物理层规范概述讲述.ppt
- LTE学习资料讲述.ppt
- LTE基础知识培训讲述.ppt
- LTE学习笔记讲述.doc
- LTE系统消息讲述.ppt
- LTM工作原理讲述.ppt
- Lua脚本语言简明教程讲述.ppt
- LW15-252等断路器机构箱防水防潮治理讲述.doc
- 高一劳动技术《猪的科学饲养管理》教学设计.docx
- 九年级数学上册第六章反比例函数北师大版教案.docx
- 电生磁课件-人教版物理九年级全一册.pptx
- Unit3OnthemoveDevelopingideas课件-高中英语外研版.pptx
- Unit4SectionB1a-2b课件人教版英语七年级上册(1).pptx
- 八年级美术《变幻的画面》教学设计.docx
- 第五章第4节光合作用与能量转化(3)课件-高一上学期生物人教版必修1.pptx
- 直角三角形的判定课件-华东师大版八年级数学上册.pptx
- 考研教材 公司金融-第十二三章 股 权益和债务融资 .ppt
- 2026年芯片行业分析报告.pptx
原创力文档


文档评论(0)