lucene 4.6 开发环境设置

来源:互联网 发布:OVI浏览器java 编辑:程序博客网 时间:2024/05/29 19:22

因为这个版本比较新,在网上也没找到合适的文章,参考了很多文章,还有自己出了一些错误改了很久,现在分享一下经验。 找不到或无法加载主类 org.apache.lucene  这个错误让我整了好久,最后是自己classpath设置错误,详细见内容。

一:环境准备

到官网下载lucene包http://lucene.apache.org/,4.6.0已经出来了,我下的就是这个版本lucene-4.6.0,而且4.5.0版本的配置和下面所述的应该一样。解压缩出来,随便放在哪个目录下就可以,和以往老版本的不同,这个文件中包含了很多文件,jar包也分布在这些文件中,如:

其实你已经完成了一半了。

二:demo程序演示

此时分成两种情况:

1:在控制台中运行lucene提供的demo程序。

2:在eclipse/myeclipse中运行demo程序。

先来看看第一种情况:在控制台中运行lucene提供的demo程序

1.1 首先需要四个jar文件,以下是官网的一段话:

You need four JARs: the Lucene JAR, the queryparser JAR, the common analysis JAR, and the Lucene demo JAR. You should see the Lucene JAR file in the core/ directory you created when you extracted the archive -- it should be named something like lucene-core-{version}.jar. You should also see files called lucene-queryparser-{version}.jar, lucene-analyzers-common-{version}.jar and lucene-demo-{version}.jar under queryparser, analysis/common/ and demo/, respectively.

Put all four of these files in your Java CLASSPATH.

只需要好好看看那四个jar文件的名字就很容易的猜出这个四个jar文件在哪里:在你下载的lucene包中的analysis/common,core,demo,queryparser文件夹中。

然后将这四个jar文件设置到classpath中。

(注意,此时classpath中的变量值类似为 C:\lucene-4.6.0\analysis\common\lucene-analyzers-common-4.6.0.jar  如果你的classpath设置错误,就会出现找不到或无法加载主类 org.apache.lucene 这个错误,重新设置你的classpath


1.2 然后建立两个文件夹:index文件夹和docs文件夹。docs文件夹下存放你要分析的文件,我这里新建了两个txt文件,分别为test1和test2,里面可以输入一些文本(目前只测了英文的,中文的还没试过)。index文件夹目前为空,它将会保存你使用lucene创建的索引文件。我这里两个文件夹的目录为

C:\D-SoftwareInstall\GreenSoftWare\lucene-4.6.0\sybil_doc\index,和

C:\D-SoftwareInstall\GreenSoftWare\lucene-4.6.0\sybil_doc\docs


1.3 然后在控制台中输入:

首先在控制台打开你存放index和docs文件夹的目录,比如:

cd C:\D-SoftwareInstall\GreenSoftWare\lucene-4.6.0\sybil_doc

然后再输入

java org.apache.lucene.demo.IndexFiles -index 索引文件存放路径 -docs 要分析的文件存放路径

索引文件存放路径可以为

C:\D-SoftwareInstall\GreenSoftWare\lucene-4.6.0\sybil_doc\index

要分析的文件存放路径可以为

C:\D-SoftwareInstall\GreenSoftWare\lucene-4.6.0\sybil_doc\docs

(这是在创建索引,-index指定索引文件放在哪里,-docs指定文件来源在哪里(就是你要搜索的文件位置),还有一个-update就是指定已经存在的哪个索引不需要删除。

-index如果不写,那么默认索引文件在你控制台当前位置的index文件夹下。你可以这样写:-docs  c:/temp,那么你的文件就来源于c:/temp下的文本文件。)

现在你的索引已经创建好了,接下来就是搜索了。

继续在控制台中输入:

 java org.apache.lucene.demo.SearchFiles 

控制台会提示你输入你要搜索的数据。则显示

Enter query

输入要查询的文本

控制台返回结果


这样就完成了demo程序。



第二种情况:在eclipse/myeclipse中运行demo程序

你在IDE中新建一个java project,将上面的那四个jar文件加入到工程中。完成了!!!!你现在可以自己写程序了。什么indexwriter都可以找到了。但是源码还是找不到,你必须把源码也加入到工程中。去官网下载一个lucene-4.5.0-src包,这就是源码包,解压之后,分别为每个jar文件导入源码,以core为例:lucene-4.5.0-src\lucene-4.5.0\core\src\java。将四个jar包对应的源码都导入到工程中,import,file sys,路径都选择到src\java为止。得到的工程结构如下图:

Lucene <wbr>4.6.0教程

你运行demo中的IndexFiles.class(运行项目,选择IndexFile.java)。设置arguments:-index d:/index/test -docs G:/lucene/lucene-4.5.0/src。

(设置arguments的方法,Run configurations,Arguments设置为-index 索引文件存放路径 -docs 被搜索文件存放路径)

Lucene <wbr>4.6.0教程

这里我指定了索引文件在d:/index/test,搜索文件在G:/lucene/lucene-4.5.0/src(这个文件必须存在)。运行之后,控制台会输出:

Indexing to directory 'd:/index/test'...
adding G:\lucene\lucene-4.5.0\src\1.txt
adding G:\lucene\lucene-4.5.0\src\2.txt
adding G:\lucene\lucene-4.5.0\src\3.txt
1634 total milliseconds
我这里是在G:/lucene/lucene-4.5.0/src文件夹中放了三个文本文件。

目前索引创建完成。接下来是搜索。

运行SearchFiles.class(运行项目,选择SearchFiles.java)。运行结果是:

Enter query:
a
Searching for: 
0 total matching documents
Enter query
string
Searching for: string
1 total matching documents
1. G:\lucene\lucene-4.5.0\src\3.txt
Press (q)uit or enter number to jump to a page.

随便提一下:输入a时说没有找到文档,但事实上我文本文件中有这个词,只是在lucene中有一种stop word,这类词没什么含义,不能作为关键词,像这样的词还有this,the等。

这样就完成了demo程序的演示。lucene版本的那个伟大的程序HelloWorld也就完成啦。

(我使用的是lucene-4.6.0,上述两种方法试验都得到了成功;该博文是参考别人的,他使用的是lucene-4.5.0,自然也是两种方法都成功的)


PS:
很多资料上都写的步骤是这样:
Java开发环境配置
Tomcat安装
Lucene下载
Lucene开发环境配置
关于Tomcat的安装和配置楼主有一个参考链接,tomcat配置 仅供大家参考
文章主要参考自:
http://blog.csdn.net/mydreamremindme/article/details/17229003
http://blog.sina.com.cn/s/blog_768c0b450101u6rg.html

0 0
原创粉丝点击