- 9
- 0
- 约3.28千字
- 约 11页
- 2018-08-04 发布于江苏
- 举报
基于lucen的全文检索
基于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不存储、索引、分词。 搜
您可能关注的文档
- 土地的誓言12Microsoft PowerPoint 演示文稿.ppt
- 土地评价在土地用与管理中的应用.ppt
- 土地租赁用地审办事指南.doc
- 土壤中蛔虫卵的查及活力测定法.ppt
- 土家族宗教信仰的文化表格征.doc
- 土曼T-Fir Metal智能手表太火鸟试用.pptx
- 土木工程大学实验室收费管理办法(试行).doc
- 土工大砂袋围堰工质量控制.doc
- 土木工程施工讲第17讲(完整版).ppt
- 在先查封不形成先受偿权.doc
- OpenClaw2026最新最全全套电子教程—12、5类人群的效率提升实战.pdf
- OpenClaw2026最新最全全套电子教程—3、快速上手发消息.pdf
- OpenClaw2026最新最全全套电子教程—G:文档链接验证.pdf
- OpenClaw2026最新最全全套电子教程—F:配置检查清单.pdf
- OpenClaw2026最新最全全套电子教程—J:OpenClaw 配置文件结构完整指南.pdf
- 保姆级的Clawdbot+的部署教程.pdf
- OpenClaw2026最新最全全套电子教程—1、OpenClaw是什么?能帮你做什么?.pdf
- OpenClaw2026最新最全全套电子教程—8、Skills扩展(1715个技能让AI无所不能).pdf
- OpenClaw2026最新最全全套电子教程—4、本地文件管理神器(效率提升81%).pdf
- OpenClaw2026最新最全全套电子教程—2、5分钟完成部署(多种方案任选).pdf
最近下载
- 以工代赈40年:演进历程、政策逻辑与未来展望.pdf VIP
- (反光)灯槽(走廊天花)安装施工方案及技术措施.docx VIP
- 地下车库环氧地坪施工安全方案.docx VIP
- 基于人工智能的区域教育质量监测:数据质量控制与评估体系构建教学研究课题报告.docx
- 美国民事没收面临的违反正当程序的抗辩.doc VIP
- 美国民事没收无辜所有者抗辩:历史、现状与启示.doc VIP
- 全国职业大赛(中职)ZZ012食品药品检验赛项赛题库共计10套.docx
- 墙体加固设计与施工方案.docx VIP
- NYT1117-2010 水溶肥料钙、镁、硫、氯含量的测定.pdf VIP
- 1MD-HPV-20150304-01 HPV检测临床关注的问题.ppt VIP
原创力文档

文档评论(0)