Lucene教程详解.docx

上传人:b****5 文档编号:2775089 上传时间:2022-11-15 格式:DOCX 页数:28 大小:31.42KB
下载 相关 举报
Lucene教程详解.docx_第1页
第1页 / 共28页
Lucene教程详解.docx_第2页
第2页 / 共28页
Lucene教程详解.docx_第3页
第3页 / 共28页
Lucene教程详解.docx_第4页
第4页 / 共28页
Lucene教程详解.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

Lucene教程详解.docx

《Lucene教程详解.docx》由会员分享,可在线阅读,更多相关《Lucene教程详解.docx(28页珍藏版)》请在冰豆网上搜索。

Lucene教程详解.docx

Lucene教程详解

Lucene教程详解

Lucene-3.0.0配置

一、Lucene开发环境配置

step1.Lucene开发包下载

step2.Java开发环境配置

step3.Tomcat安装

step4.Lucene开发环境配置

解压下载的lucene-3.0.0.zip,可以看到lucene-core-3.0.0.jar和lucene-demos-3.0.0.jar这两个文件,将其解压(建议放在安装jdk的lib文件夹内),并把路径添加到环境变量的classpath。

二、Lucene开发包中Demo调试

控制台应用程序

step1.建立索引

>javaorg.apache.lucene.demo.IndexFiles[C:

\Java](已经存在的任意文件路径)

将对C:

\Java下所有文件建立索引,同时,在当前命令行位置将生成“index”文件夹。

step2.执行查询

>javaorg.apache.lucene.demo.SearchFiles

将会出现“Query:

”提示符,在其后输入关键字,回车,即可得到查询结果。

Web应用程序

step1.将lucene-core-3.0.0.jar和lucene-demos-3.0.0jar这两个文件复制到安装Tomcat的\common\lib中

step2.解压下载的lucene-3.0.0.zip,可以看到luceneweb.war文件。

将该文件复制到安装Tomcat的\webapps

step3.重启Tomcat服务器。

step4.建立索引

>javaorg.apache.lucene.demo.IndexHTML-create-index[索引数据存放路径][被索引文件路径](如:

D:

\lucene\temp\indexD:

\lucene\temp\docs)

step5.打开安装Tomcat的\webapps\luceneweb\configuration.jsp文件,找到StringindexLocation="***",将"***"改为第四步中[索引数据存放路径],保存关闭。

step6.执行查询

http:

//localhost:

8080/luceneweb

在文本框中输入关键字,执行,即可得到查询结果。

说明:

本文采用lucene-3.0.0版本,运行step6时查询报错,根据提示将安装Tomcat的webapps\luceneweb\results.jsp中

[QueryParserqp=newQueryParser("contents",analyzer);]修改为

[QueryParserqp=newQueryParser(Version.LUCENE_CURRENT,"contents",analyzer);]

注:

本文参考YM'shouse

lucene的demo环境搭建

总结一下lucene的环境搭建,查看以及了解lucene的原理,对其有个大概的了解。

1、下载lucene2.3.2

地址:

2、下载jdk1.6

3、下载tomcat

下载以上内容完成后,开始安装。

1、安装jdk

一路确定下去,无需选择。

2、安装tomcat

一路确定下去,无需选择。

3、解压文件即可

假设解压文件路径为d:

\lucene\

现在可以建立目录(此处的目录为我们要进行检索的信息的原始数据文件,我们放置在docs中,还有一个是lucene生成的检索信息,我们放置于index中),即可以在d:

\lucene下建立一个temp\docs以及temp\index,此处两个文件夹目录可以随意,当然不一定非得放置于d:

\lucene。

然后将需要检索的原始数据文件放置于docs文件夹中。

拷贝解压的lucene文件夹中的lucene-core-2.3.2.jar以及lucene-demos-2.3.2.jar到temp文件夹中,解压。

如果没有配置jdk环境,参考下方:

打开我的电脑-属性-高级-环境变量:

在系统变量中添加:

JAVA_HOMEC:

\ProgramFiles\Java\jdk1.6.0

PATH%JAVA_HOME%\bin

CLASSPATH.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar;

打开命令行:

将目录定位到temp文件夹。

输入命令:

javaorg.apache.lucene.demo.IndexHTML-create-indexD:

\lucene\temp\indexD:

\lucene\temp\docs

即建立索引与原始数据文件的关系。

完成后,会发现index文件夹中多处一部分数据,以后再研究。

然后找到tomcat的安装目录,拷贝lucene中的luceneweb.war进入tomcat的webapps\文件夹中,启动tomcat,会看见webapps\下多出一个文件夹,找到configuration.jsp文件,将其中的StringindexLocation="/opt/lucene/index";修改为StringindexLocation="D:

/lucene/temp/index";就是刚才生成的文件。

打开浏览器,输入http:

//127.0.0.1:

8080/luceneweb/

输入需要查询的信息,看看结果如何。

简单地说:

首先建立索引文件放置目录,cmd命令生成索引文件,部署工程,修改工程文件中目标为索引文件目录。

搜索引擎的组成

 搜索引擎一般由搜索器、索引器、检索器和用户接口四个部分组成:

搜索器

  其功能是在互联网中漫游,发现和搜集信息;

索引器

  其功能是理解搜索器所搜索到的信息,从中抽取出索引项,用于表示文档以及生成文档库的索引表;

检索器

  其功能是根据用户的查询在索引库中快速检索文档,进行相关度评价,对将要输出的结果排序,并能按用户的查询需求合理反馈信息;

用户接口

  其作用是接纳用户查询、显示查询结果、提供个性化查询项。

d:

\lucene\index是上一篇学习笔记([Lucene3.0学习笔记1(建立索引)])中生成的索引文件的存放地址。

具体步骤简介如下:

1、创建Directory对象,索引文件夹

2、创建IndexSearch对象,建立查询(参数是Directory对象)

3、创建QueryParser对象(lucene版本,查询Field字段,所用分词器)

4、生成Query对象,由QueryParser对象的parse函数生成(参数是所查的关键字)

5、建立TopDocs对象(IndexSearch的search函数,参数是Query查询对象,)

6、TopDocs对象数组里存放查询信息

7、关闭IndexSearch

索引创建和搜索过程所一个总结

Lucene教程

Lucene是apache组织的一个用java实现全文搜索引擎的开源项目。

其功能非常的强大,api也很简单。

总得来说用Lucene来进行建立和搜索和操作数据库是差不多的(有点像),Document可以看作是数据库的一行记录,Field可以看作是数据库的字段。

用lucene实现搜索引擎就像用JDBC实现连接数据库一样简单。

Lucene2.0,它与以前广泛应用和介绍的Lucene1.4.3并不兼容。

Lucene2.0的下载地址是http:

//apache.justdn.org/lucene/java/

例子一:

1、在windows系统下的的C盘,建一个名叫s的文件夹,在该文件夹里面随便建三个txt文件,随便起名啦,就叫"1.txt","2.txt"和"3.txt"啦

其中1.txt的内容如下:

中华人民共和国

全国人民

2006年

而"2.txt"和"3.txt"的内容也可以随便写几写,这里懒写,就复制一个和1.txt文件的内容一样吧

2、下载lucene包,放在classpath路径中

建立索引:

package;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.util.Date;

importorg.apache.lucene.analysis.Analyzer;

importorg.apache.lucene.analysis.standard.StandardAnalyzer;

importorg.apache.lucene.document.Document;

importorg.apache.lucene.document.Field;

importorg.apache.lucene.index.IndexWriter;

/***//**

*authorlighterdate2006-8-7

*/

publicclassTextFileIndexer{

publicstaticvoidmain(String[]args)throwsException{

/**//*指明要索引文件夹的位置,这里是C盘的S文件夹下*/

FilefileDir=newFile("c:

//s");

/**//*这里放索引文件的位置*/

FileindexDir=newFile("c:

//index");

AnalyzerluceneAnalyzer=newStandardAnalyzer();//建立一个标准分析器

IndexWriterindexWriter=newIndexWriter(indexDir,luceneAnalyzer,

true);//创建一个索引器

File[]textFiles=fileDir.listFiles();

longstartTime=newDate().getTime();

//增加document到索引去

for(inti=0;i

if(textFiles[i].isFile()

&&textFiles[i].getName().endsWith(".txt")){

System.out.println("File"+textFiles[i].getCanonicalPath()

+"正在被索引.");

Stringtemp=FileReaderAll(textFiles[i].getCanonicalPath(),

"GBK");

System.out.println(temp);

Documentdocument=newDocument();//Document是一个记录。

用来表示一个条目。

就是搜索建立的倒排索引的条目。

比如说,你要搜索自己电脑上的文件。

这个时候就可以创建field。

然后用field组合成document。

最后会变成若干文件。

这个document和文件系统document不是一个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1