利用Lucene检索开发用的API

来源:互联网 发布:新绝代双骄3mac 编辑:程序博客网 时间:2024/06/05 17:10

    

学习一门新的知识,API是必不可少的,那就从API开始。首先,要有一个API的库,库里是所有知识点的API,供大家查询。同时API库需要支持检索。怎么建立库,用什么用的组织结构建库还没想好。正好下载了一个Lucene 3.0,.先建一个API的检索玩玩(本文只提供了一个基本的Demo,并未做优化,这一个系列文章的目的,就是想记录一个学习的轨迹,看看各位看客,能不能通过这个轨迹学习完Lucene 3.0)。

     OK,言归正传。

First Step : 下载Lucene 3.0, http://lucene.apache.org/

解压开lucene之后的目录结构:

1.       Contrib, Lucene的扩展包

2.       Docs 文档, 包括API,以及 GET Start”文档。

3.       Lib 中只有一个 Servlet API

4.       Src 目录下是DEMO的源代码

5.       Lucene-core-3.0.0.jar 真正的lucene jar

6.       Lucene-demos-3.0.0.jar 包括demo web demo

 

接下来,正式进入为API建立搜索的过程。

Docs下的API拷贝到一个单独的目录下,比如F:/api/lucene

第一步:建立索引

进入Lucene的解压目录,直接利用Demos中的类IndexFiles来建立索引。这一步要注意需要把Lucene-core-3.0.0.jarLucene-demos-3.0.0.jar加入到 classpath,或者在控制台运行时设置-classpath参数。

命令:java -classpath E:lucenelucene-3.0.0lucen

e-3.0.0lucene-demos-3.0.0.jar;E:lucenelucene-3.0.0lucene-3.0.0lucene-core-3

.0.0.jar org.apache.lucene.demo.IndexFiles F:api

可见,建立整个索引一共用了“70484 total milliseconds”,这只是建立Lucene API的时间,如果是整个Java界的API呢?建立一次索引要多长时间呢?还能用这种方法建立索引吗,业界在处理大量数据的时候怎么建立索引啊?学习就是一个思考的过程,把这个问题留给后面的文章解答。

执行完了建立索引的命令之后,可以在当前目录下找到一个“index”文件夹,文件夹下就是索引文件,我们暂时不去管索引文件的构造等等。接着进行第二步,利用索引就行搜索。

第二步:搜索

     同样,直接利用Demos中的类SearchFiles来搜索。

java -classpath E:lucenelucene-3.0.0lucen

e-3.0.0lucene-demos-3.0.0.jar;E:lucenelucene-3.0.0lucene-3.0.0lucene-core-3

.0.0.jar org.apache.lucene.demo.SearchFiles

到此为止,完成了利用Lucene进行搜索的DEMO工作。

    

原创粉丝点击