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
- Lucene入门简单说明
- Lucene 简单说明
- Lucene 简单说明
- lucene简单入门demo
- lucene入门简单实现
- lucene简单入门
- Lucene入门以及简单实例
- lucene简单的入门程序
- lucene入门简单的例子
- Lucene 入门和简单封装
- Lucene评分算法--简单的说明
- lucene入门-简单的WEB搜索界面
- lucene第一步--简单的入门demo
- 4、Lucene 入门程序及api 的说明
- lucene 入门
- lucene入门
- lucene入门
- Lucene入门
- DirectShow之接口实战篇
- 五种I/O 模式
- Java定时任务的实现
- Quartz介绍 使用说明
- oracle触发器编译错误PLS-00103
- Lucene入门简单说明
- Ajax使用方法,经典Ajax封装,可接收解析后台传回的json对象和json数组
- ANdroid Notification
- c#3.0新特性
- 用gcc还是g++?
- ext store
- windows 2008 R2下配置asp.net 1.1站点
- C/S和B/S结构
- 用dreamweaver打开asp网页出现乱码怎么办