1 / 46
文档名称:

Lucene开发手册.doc

格式:doc   大小:450KB   页数:46页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Lucene开发手册.doc

上传人:allap 2019/2/3 文件大小:450 KB

下载得到文件列表

Lucene开发手册.doc

相关文档

文档介绍

文档介绍:LUCENE开发部署指导手册昆明南天开发中心编者:陈俊昆明南天电脑系统有限公司2010年8月引言前言编制本手册的目的:,使开发人员依据本手册初步认识Lucene;,使开发人员可以快速认识并利用Lucene开发搜索引擎;;,使开发人员可按照本手册的描述开发。本手册面向的读者:熟悉Java开发,并对WEBDT软件的特点(请参阅《技术白皮书》)具有初步认识的技术人员。概述本手册首先介绍了Lucene的概念,详细描述了简单快速地将Lucene融入WEBDT运行平台并进行实际开发的方法,使技术人员对Lucene有一个概要性的框架认识,为下一步开发工作奠定基础。LUCENE简介什么是LUNCENELucene是一套javaAPI,就如同Servlet是一套API一样。Lucene不是一个独立的搜索引擎系统,但是你可以使用Luncene来开发搜索引擎系统。这正如Servlet不是网站系统但是你可以用Servlet开发网站一样。有人已经用Lucene开发出了独立的搜索引擎系统,你可以下载,然后不写一行代码就是用它。Nutch是最出名的了。Lucene是一个全文搜索框架,而不是应用产品。因此它并不像ogleDesktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。LUNCENE能做什么要回答这个问题,先要了解Lucene的本质。实际上Lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉你你要搜索的关键词出现在哪里。知道了这个本质,你就可以发挥想象做任何符合这个条件的事情了。你可以把站内新闻都索引了,做个资料库;你可以把一个数据库表的若干个字段索引起来,那就不用再担心因为“%like%”而锁表了;你也可以写个自己的搜索引擎……你该不该选择Lucene下面给出一些测试数据,如果你觉得可以接受,那么可以选择。测试一:250万记录,300M左右文本,生成索引380M左右,800线程下平均处理时间300ms。测试二:37000记录,索引数据库中的两个Varchar字段,,。LUCENE的概述下载LUCENE进入Lucene的主页:http://lucene.。可以从主页中单击“freedownload”链接,从而转入/,这是网站为访问者推荐的最佳镜像地址,从这里往往可以得到最快的下载速度。单击页面中推荐的镜像地址,进入Lucene的下载页面:http://government-/mirrors//lucene/java。从页面中选择lucene-,这是Lucene的二进制文件。如果要下载其源代码,则选择lucene--。LUCENE基本概念AnalyzerAnalyzer是分析器,它的作用是把一个字符串按某种规则划分成一个个词语,并去除其中的无效词语,这里说的无效词语是指英文中的“of”、“the”,中文中的“的”、“地”等词语,这些词语在文章中大量出现,但是本身不包含什么关键信息,去掉有利于缩小索引文件、提高效率、提高命中率。分词的规则千变万化,但目的只有一个:按语义划分。这点在英文中比较容易实现,因为英文本身就是以单词为单位的,已经用空格分开;而中文则必须以某种方法将连成一片的句子划分成一个个词语。具体划分方法下面再详细介绍,这里只需了解分析器的概念即可。Document用户提供的源是一条条记录,它们可以是文本文件、字符串或者数据库表的一条记录等等。一条记录经过索引之后,就是以一个Document的形式存储在索引文件中的。用户进行搜索,也是以Document列表的形式返回。Field一个Document可以包含多个信息域,例如一篇文章可以包含“标题”、“正文”、“最后修改时间”等信息域,这些信息域就是通过Field在Document中存储的。Field有两个属性可选:存储和索引。通过存储属性你可以控制是否对这个Field进行存储;通过索引属性你可以控制是否对该Field进行索引。这看起来似乎有些废话,事实上对这两个属性的正确组合很重要,下面举例说明:还是以刚才的文章为例子,我们需要对标题和正文进行全文搜索,所以我们要把索引属性设置为真,同时我们希望能直接从搜索结果中提取文章标题,所以我们把标题域的存储属性设置为真,但是由于正文域太大了,我们为了缩小索引文件大小,将正文域的存储属性设置为假,当需要时再直接读取文件;我们只是希望能从搜索解果中提取最后修改时间,不需要对它进行搜索,所以我们把最后修改时间域的存储属性设置为真,索引属性设置为假。上