Lucene学习
文章平均质量分 80
iteye_19930
这个作者很懒,什么都没留下…
展开
-
Lucene学习之Lucene入门暨中文文件搜索问题的解决
Lucene是一款优秀的全文检索引擎的框架,提供了完整的查询引擎和索引引擎。由于Lucene自带的例子可以正常处理英文文件,但是中文的文件却不能正常处理。网上查了很多资料,很多人都在问这个问题,但是答案却是只字片语,没有针对这个问题提出一个完整的解决办法。经过一番摸索,终于解决了这个问题。关键之处在于读入文件时需要为文件字符流指定编码字符集,并且该字符集需要与文件的编码字符集一致,才能保证根据...原创 2013-10-30 11:28:05 · 163 阅读 · 0 评论 -
Lucene学习之使用Apache Tika进行文档内容抽取
在上一篇关于Lucene的博客中,介绍了Lucene的入门以及中文文件的搜索问题解决,其中使用的例子是以文本文件作为搜索的文档,在创建索引时使用了Reader读取文件。但是在实际的应用过程中,经常需要对各种各样的非文本文件的内容进行全文搜索。我们常用的除了txt、html、xml等文本格式的文档外,还有大量的例如pdf、word、ppt等非文本格式的文档,在对这些文档中的内容进行搜索时,就需要...原创 2013-10-30 16:18:54 · 364 阅读 · 0 评论 -
Lucene学习之构建简单的文档库
在构建一个简单的文档库时,需要两个条件,第一,必须能抓取文档的内容,第二,根据抓取的内容构建文档库的索引,然后根据进行搜索。前面两篇博客中介绍的tika和Lucene可以分别满足这两个条件,本篇博客,就结合这两个框架来创建一个简单的文档库,在介绍Lucene入门时,我们使用了FileReader来读入字符文件,在这里我们就要使用tike来读入并解析各种文档了。我们只需要在Lucene入门时所使...原创 2013-10-31 09:19:45 · 91 阅读 · 0 评论 -
Lucene学习之中文查询问题的解决
在构建文档库之后,绝大多数的查询都是基于中文进行查询。使用前面的例子,进行测试时,会发现这样问题:使用关键词“微信”进行搜索时,能够搜索到没有“微信”这个词出现,但是有“微”和“信”这两个字出现的文档。造成这种错误搜索的原因是,Lucene标准的分析器在分析文档以及查询关键词时,对于英文是基于单词分词的,但是对于中文,是基于汉字进行分词的,所以就造成了上述的查询问题。为了解决这个问题,我们...原创 2013-10-31 10:32:37 · 438 阅读 · 0 评论 -
Lucene学习之构建简单通用的搜索查询接口
在本篇博客中我们来构建一个简单而通用的搜索查询接口,在这个接口里面我们需要实现基本的增、删、改、查功能,并且做到通用而又使用简单,可扩展性强。一般在实际应用Lucene过程中,主要两个作用最为常见,一个为文档库的搜索查询(可以扩展为各种搜索引擎),另一个为知识问答库(可以扩展为类似小黄鸡的智能对话机器人)的搜索查询。接口的类图如下: 为了便于大家使用,在此处将全部源码公开,DAO...原创 2013-11-02 10:42:45 · 151 阅读 · 0 评论