Lucene
LuceneLucene 是一个基于 Java 的全文检索工具包,可以利用它来为你的应用程序加入索引和检索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。
Homepage: http://lucene.apache.org
Lucene如何控制segments的数量?
Lucene的索引文件,会包含很多个segments文件,每个segment中包含多个documents文件,一个segment中会有完整的正向索引和反向索引。 在搜索时,Lucene会遍历这些segments,以segments为基本单位独立搜索每个segments文件,而后再把搜索结果合并。 建立索引文件的过程,实际就是把documents文件一个个加入索引中,Lucene的做法是最开始为每个新加入的...
全文检索引擎工具包Lucene初体验
Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包及架构,提供了完整的查询引擎和索引引擎,实现了一些通用的分词算法,预留很多词法分析器接口。 下载地址:http://lucene.apache.org/ (本文使用最新的lucene2.3) A.创建索引文件 package demo; import java.io.File; import org.a...
Lucene倒排索引原理
Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下: 0)设有两篇文章1和2 文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too. 文章2的内容为:He once lived in Shanghai. 1)由于lucene是基于关键词索引和查询的,首先我们要取得这两篇文章的关键词,通常我们...
lucene 的php tag 词库搜索法的变通
首先 你需要维护一个tag库,这个库不能太大,我测试的是 1w条数据,如果是一个垂直网站应该差不多能够用了. tag 表应该有如下字段 tag_id 标签id tag_word &nbs...
Lucene In Depth(1)--介绍
摘要 Lucene 是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以...
lucene学习笔记 3
搜索 Lucene搜索的api的类主要有4个 IndexSearcher ,Query(包括子类),QueryParser,Hits IndexSearcher是搜索的入口,他的search方法提供了搜索功能 Query有很多子类, 各种不同的子类代表了不同的查询条件,下文详述 QueryParser是一个非常通用的帮助类,他的作用是把用户输入的文本转换为内置的Query对象(大多数web搜索引擎都提供一个查询输入框来让用户...
lucene学习笔记 2
Boosting特性 luncene对Document和Field提供了一个可以设置的Boosting参数, 这个参数的用处是告诉lucene, 某些记录更重要,在搜索的时候优先考虑他们 比如在搜索的时候你可能觉得几个门户的网页要比垃圾小站更优先考虑 lucene默认的boosting参数是1.0, 如果你觉得这个field重要,你可以把boosting设置为1.5, 1.2....等, 对Document设置boosting相当设...
lucene学习笔记 1
简介 Doug Cutting 于2000年开始的项目 2001年9月后加入apache, Lucene是Doug Cutting的middle name 。 目前Lucene已经是apache的top level的项目, 已经不在jakarta下面,同时也有了python,perl,c++,.net, Ruby(进行中)多个版本 Lucene 主要的两个任务:indexing and searching Indexing主要使用的类 IndexWriter ...
使用Lucene进行全文检索(三)---进行搜索
无论是建立索引还是分析内容,都是为了用户的搜索服务. 在Lucene中,如果需要使用搜索,需要使用Searcher类,这是一个抽象类,它有2个子类:IndexSearcher和MultiSearcher. IndexSearcher是对一个索引进行搜索,如果你需要对多个索引进行搜索,可以使用MultiSearcher.下面的内容只介绍了IndexSearcher. 搜索涉及到几个问...
使用Lucene进行全文检索(二)---得到有效的内容
在使用lucene对相关内容进行索引时,会遇到各种格式的内容,例如Html,PDF,Word等等,那么我们如何从这么文档中得到我们需要的内容哪?例如Html的内容,一般我们不需要对Html标签建立索引,因为那不是我们需要搜索的内容.这个时候,我们就需要从Html内容中解析出我们所需要的内容.对于PDF,Word文档,也是类似的要求. 总之,我们只需要从内容中提取出我们...