- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
站内全文检索实现机制-read
基于lucene的全文检索 2007.10.12 Lucene简介 Lucene不是一个完整的全文索引应用,而是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。 Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全文索引/检索专家,曾经是V-Twin有哪些信誉好的足球投注网站引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些INTERNET底层架构的研究。他贡献出的Lucene的目标是为各种中小型应用程序加入全文检索功能。 已经有很多Java项目都使用了Lucene作为其后台的全文索引引擎,比较著名的有: Jive:WEB论坛系统; Eyebrows:邮件列表HTML归档/浏览/查询系统,本文的主要参考文档“TheLucene search engine: Powerful, flexible, and free”作者就是EyeBrows系统的主要开发者之一,而EyeBrows已经成为目前APACHE项目的主要邮件列表归档系统。 Cocoon:基于XML的web发布框架,全文检索部分使用了Lucene Eclipse:基于Java的开放开发平台,帮助部分的全文索引使用了Lucene 站内全文检索实现机制 工作原理:如下图 比较一下Lucene和数据库的模糊查询: 结论: 全文检索和数据库应用的最大不同在于:让最相关的头100 条记 录满足98%以上用户的需求! Lucene的使用 Lucene的组成结构: 对于外部应用来说索引模块(index)和检索模块(search)是主要的外部应用入口,如下图: Lucene的使用方法: 建索引: //得到存放索引文件的目录 Directory fsDirectory = FSDirectory.getDirectory(indexDirectory, true); // 创建分析器,主要用于从文本中抽取那些需要建立索引的内容 Analyzer analyzer = new StandardAnalyzer(); // 用指定的语言分析器,索引文件目录,构造一个新的写索引器,参数true用于确定是否覆盖原有索引的 IndexWriter indexWriter = new IndexWriter(fsDirectory,analyzer, true); // 为article表的主健创建索引,关于Field的几个参数下面有详细解释 document.add(new Field(content, content,Field.Store.YES, Field.Index.TOKENIZED)); //开始创建索引文件 indexWriter.addDocument(document); // Optimize的过程就是要减少剩下的Segment的数量,尽量让它们处于一个文件中. indexWriter.optimize(); indexWriter.close(); Field就像我们学过的数据库中的字段,简单的说,就是一个名值对。这个域有三种属性,分别是 isStored - 是否被存储isIndexed - 是否被索引isTokenized - 是否分词 这些属性的组合又构成了四种不同类型的Field,而且各有用途 Field(String name, String value, Field.Store.YES, Field.Index.UN_TOKENIZED) 存储、不索引、不分词,比如文件的全路径 Field(String name, String value,Field.Store.YES, Field.Index.NO) // version 2.0.0 不存储、索引、分词,比如HTML的正文、Word的内容等等,这部分内容是要被索引的,但是由于具体内容通常很大,没有必要再进行存储,可以到时候根据URI再来挖取。所以,这部分只分词、索引,而不存储。 Field(String name, String value,Field.Store.YES, Field.Index.TOKENIZED)// version 2.0.0 存储、索引、分词,比如文件的各种属性,比如MP3文件的歌手、专辑等等。 Field(String name, Reader reader) ?// version 2.0.0不存储、索引、分词。 搜
您可能关注的文档
- 明志科技大学104学新生定向辅导营活动地点分配表.pdf
- 氢氧化钙根管系列宣传彩页-中文-义获嘉伟瓦登特.pdf
- 附件做优秀教师的20条经验蒋明灿教学副校长-遵义四中.ppt
- r→皮肤粘膜血管收缩→血压↑激动β1.ppt
- 距离乘积的表示与erds问题的解.pdf
- spf-私人财富结构-卢森堡.pdf
- 体育科学研究者的科学素养-超星图书馆.ppt
- 城垃圾处理技术研讨会专题一德国及欧洲城垃圾处理发展史.pdf
- 上海华虹计通智能系统股份有限公司2017年报告摘要.pdf
- 冯特与心理学的建立-赣南师范大学.ppt
- 教科版(2017秋)科学二年级上册2.6 做一顶帽子 教学设计.docx
- 河北高频考点专训四 质量守恒定律的应用教学设计---2024-2025学年九年级化学人教版(2024)上册.docx
- 大单元教学【核心素养目标】6.3 24时计时法教学设计 人教版三年级下册.docx
- 河南省商城县李集中学2023-2024学年下学期九年级历史中考模拟八(讲评教学设计).docx
- 第18章 第25课时 正方形的性质2023-2024学年八年级下册数学课时分层作业教学设计( 人教版).docx
- Module 8 模块测试 教学设计 2024-2025学年英语外研版八年级上册.docx
- 2024-2025学年小学数学五年级下册浙教版教学设计合集.docx
- 2024-2025学年小学劳动四年级下册人民版《劳动》(2022)教学设计合集.docx
- 2024-2025学年小学数学三年级上册冀教版(2024)教学设计合集.docx
- 2024-2025学年高中生物学必修1《分子与细胞》人教版教学设计合集.docx
文档评论(0)