lucene简单实例
来源:互联网 发布:java写一个单例模式 编辑:程序博客网 时间:2024/05/18 13:07
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、简单的的StandardAnalyzer测试例子
显示结果:
第2行:javaeye
第3行:com
StandardAnalyzer是lucene中内置的"标准分析器",可以做如下功能:
1、对原有句子按照空格进行了分词
2、所有的大写字母都可以能转换为小写的字母
3、可以去掉一些没有用处的单词,例如"is","the","are"等单词,也删除了所有的标点
查看一下结果与"new StringReader("lighter javaeye com is the are on")"作一个比较就清楚明了。
这里不对其API进行解释了,具体见lucene的官方文档。需要注意一点,这里的代码使用的是lucene2的API,与1.43版有一些明显的差别。
2、看另一个实例,简单地建立索引,进行搜索
运行结果:
- 查找"lighter" 共2个结果
- 查找"javaeye" 共1个结果
文章来自:http://lighter.javaeye.com。
- lucene的简单实例
- lucene的简单实例
- lucene简单实例
- lucene的简单实例
- lucene简单实例
- lucene简单实例
- lucene简单实例《二》
- lucene的简单实例
- lucene简单实例
- 搜索篇:lucene简单实例
- lucene 建立简单搜索引擎实例
- Lucene入门以及简单实例
- 搜索篇:lucene简单实例
- lucene搜索简单的实例
- apache lucene 一个最简单的实例
- 搜索篇:lucene的简单实例
- apache lucene 一个最简单的实例
- lucene实例
- HDU3491 网络流最小割模型
- BackTrack-R2发布
- 【Android学习笔记】从模拟器或手机中提取文件
- 初夜
- HTML中小meta的大作用
- lucene简单实例
- 标题:ARM中断程序的原理和实现
- Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity)
- 输入9个字节数,统计显示0和非0的个数
- CSS3 Gradient Menu Buttons
- 大话Linux之 跟我走吧,现在就出发[0]引子
- 哈夫曼树的构造算法,哈夫曼编码算法
- 转《向量点积与叉积的定义及应用》
- 【转】 判断多边形的方向是顺时针还是逆时针的一种方法