Lucene入门简单说明

来源:互联网 发布:怎么应聘淘宝云客服 编辑:程序博客网 时间:2024/05/22 00:11

Lucene是apache组织的一个用java实现全文搜索引擎的开源项目。 其功能非常的强大,api也很简单。总得来说用Lucene来进行搜索和操作数据库是差不多的(有点像),Document可以看作是数据库的一行记录,Field可以看作是数据库的字段。用lucene实现搜索引擎就像用JDBC实现连接数据库一样简单。

1.到apache官网上下载目前的最新版本lucene-3.1.0,下载地址:http://www.apache.org/dyn/closer.cgi/lucene/java/
2.将lucene-core-3.1.0.jar包导到MyEclipse或Eclipse
3.在D:/test/luceneTest/docs目录下,随便建四个txt文件作测试数据源,随便起名啦,就1.txt,2.txt,3.txt,4.txt,内容依次如下:

 

1.txt
[华人民共和国]

2.txt:
[有限公司]

3.txt

[学习中]

4.txt

[中国历史]
[美丽中国]

 

4.建立索引

索引的结果:

5.建立好索引后就是查询

其运行结果:

找到了3个
D:/test/luceneTest/docs/4.txt
D:/test/luceneTest/docs/3.txt
D:/test/luceneTest/docs/1.txt

 

注:可以看出结果并不好,因为我要查的是"中国",结果1.txt和3.txt也被列出来了,只因为其中含有其中一个字,网上查了一下,说StandardAnalyzer是可以用于中文分词,但它是一元分词,机械地将一个汉字做为一个词元来切分的,后面有时间看一下中文分词器

补充说明:Lucene 其实很简单的,它最主要就是做两件事:建立索引和进行搜索
来看一些在lucene中使用的术语,这里并不打算作详细的介绍,只是点一下而已----因为这一个世界有一种好东西,叫搜索。

IndexWriter:lucene中最重要的的类之一,它主要是用来将文档加入索引,同时控制索引过程中的一些参数使用。

Analyzer:分析器,主要用于分析搜索引擎遇到的各种文本。常用的有StandardAnalyzer分析器,StopAnalyzer分析器,WhitespaceAnalyzer分析器等。

Directory:索引存放的位置;lucene提供了两种索引存放的位置,一种是磁盘,一种是内存。一般情况将索引放在磁盘上;相应地lucene提供了FSDirectory和RAMDirectory两个类。

Document:文档;Document相当于一个要进行索引的单元,任何可以想要被索引的文件都必须转化为Document对象才能进行索引。

Field:字段。

IndexSearcher:是lucene中最基本的检索工具,所有的检索都会用到IndexSearcher工具;

Query:查询,lucene中支持模糊查询,语义查询,短语查询,组合查询等等,如有TermQuery,BooleanQuery,RangeQuery,WildcardQuery等一些类。

QueryParser: 是一个解析用户输入的工具,可以通过扫描用户输入的字符串,生成Query对象。

Hits:在搜索完成之后,需要把搜索结果返回并显示给用户,只有这样才算是完成搜索的目的。在lucene中,搜索的结果的集合是用Hits类的实例来表示的。

参考资料:

1.http://www.blogjava.net/liuwentao253/archive/2007/01/08/92401.html

2.http://lucene-group.group.iteye.com/group/wiki

3.http://www.chedong.com/tech/lucene.html

 

 

原创粉丝点击