lucene不是一个完整的全文检索应用,它是用JAVA写的全文检索的工具包。
lucene包包括:
org.apache.lucene.document这个包提供了一些为封装要索引的文档所需要的类,比如 Document, Field。这样,每一个文档最终被封装成了一个 Document 对象。
org.apache.lucene.analysis这个包主要功能是对文档进行分词,因为文档在建立索引之前必须要进行分词,所以这个包的作用可以看成是为建立索引做准备工作。
org.apache.lucene.index这个包提供了一些类来协助创建索引以及对创建好的索引进行更新。这里面有两个基础的类:IndexWriter 和 IndexReader,其中 IndexWriter 是用来创建索引并添加文档到索引中的,IndexReader 是用来删除索引中的文档的。
org.apache.lucene.search这个包提供了对在建立好的索引上进行搜索所需要的类。比如 IndexSearcher 和 Hits, IndexSearcher 定义了在指定的索引上进行搜索的方法,Hits 用来保存搜索得到的结果。
org.apache.Lucene.store这个包提供了底层IO/存储结构
org.apache.Lucene.util这个包提供一些公用的数据结构
org.apache.Lucene.queryParser这个包提供了查询的分析器
lucene的实现机制:
引用内容
索引数据源:doc(field1,field2...) doc(field1,field2...)......
\ indexer /
_____________
| Lucene Index |
---------------------
/ searcher \
结果输出: Hits(doc(field1,field2) doc(field1...)......)
lucene应用流程:
1。建立索引 用Document(field字段)来创建index(包括分词和持久化等等):Document, Field, IndexWriter, Analyzer, Directory
2。中文分词 analysis:自动切分和词表切分;正向切分、反向切分和双向切分
3。搜索结果 search 结果hits:IndexSearcher, Term, Query, TermQuery, Hits
分享到:
相关推荐
《关于Lucene的词典FST深入剖析》这篇文章是由申艳超撰写的,主要探讨了Apache Lucene这个全文搜索引擎库中的一个关键数据结构——有限状态转换器(Finite State Transducer,简称FST)。FST在Lucene中被用于构建和...
在这个"一个关于lucene实例"的压缩包中,很可能是为了帮助初学者理解并掌握Lucene的基本用法和核心概念。 Lucene的主要功能包括文档的索引和搜索。在索引过程中,它能够分析文本,将文本分词,然后将这些词语转换为...
以下是关于Lucene的一些关键知识点: 1. **文本分析**:Lucene包含一个强大的分析器组件,能够将输入的文本分解为有意义的词语,去除停用词、标点符号,并对词汇进行词干提取和同义词扩展,以提高搜索效果。用户还...
### 关于Lucene和Solr的专业资料概览 #### 标题解读 - **标题**:“一个专业搜索公司关于Lucene和Solr资料” - 该标题表明这份资料是针对专业人士编写的,主要聚焦于Lucene和Solr这两款流行的信息检索系统。 ####...
在本文中,我们将探讨如何使用Lucene建立数据库索引,并分享一些在实践过程中的经验和教训。Lucene是一个高性能、全文本搜索库,广泛用于构建搜索引擎。在创建索引时,需要注意以下关键点: 1. **资料的准确性**:...
根据给定文件信息,这里将详细介绍关于《Lucene in Action 第二版》书籍的知识点。这本书是关于Java Lucene教程的,主要面向开发者学习使用Lucene进行搜索引擎开发。 ### 书名知识点: 《Lucene in Action 第二版...
Lucene.NET 2.9.2 是一个基于Apache Lucene的全文检索库,适用于.NET Framework。这个库提供了高效、可扩展的全文检索功能,适用于各种应用程序中的数据搜索需求。在这个实例中,我们将深入探讨如何使用Lucene.NET ...
关于Lucene的详细知识点: 1. **索引构建**:Lucene首先需要对文本数据进行索引,这个过程包括分词、词干提取、去除停用词等预处理步骤,然后将这些经过处理的词项存储在倒排索引中,以便快速查找。 2. **文档表示...
博文链接中提到的是一个关于Lucene3的博客文章,可能详细介绍了如何在实际项目中使用Lucene进行全文检索。博主"chinaxxren"在ITEYE上分享了这篇博客,虽然具体内容未在描述中给出,但我们可以推测博主可能讲解了以下...
在这个压缩包中,我们收集了一系列关于Lucene的学习资料,包括文档和书籍,旨在帮助你深入了解并掌握这一技术。 首先,我们来看《lucene入门体会.doc》,这是作者在学习Lucene过程中的心得体会。通过这份文档,你...
本课程由浅入深的介绍了Lucene4的发展历史,开发环境搭建,分析lucene4的中文分词原理,深入讲了lucenne4的系统架构,分析lucene4索引实现原理及性能优化,了解关于lucene4的搜索算法优化及利用java结合lucene4实现...
doc.add(new Field("content", "这是关于Lucene索引器的一个实例教程。", Field.Store.YES, Field.Index.ANALYZED)); // 添加文档 indexWriter.addDocument(doc); // 关闭索引器 indexWriter.close(); } }...
以下是关于Lucene Field的一些关键知识点: 1. **Field类型**:Lucene中的Field有多种类型,如TextField、StringField、NumericField等。TextField适合全文检索,StringField则用于存储不可变的非全文数据,...
本书不仅仅是一本关于如何使用Lucene的指南,它还提供了一个关于信息检索的总体知识背景,包括文本索引和搜索的具体细节。如果读者对信息检索或文本搜索有具体的需求,这本书将提供足够的信息帮助你实现成功地完成...
doc.add(new TextField("content", "这是一个关于Lucene的初级示例", Field.Store.YES)); ``` 4. **索引文档**:使用`addDocument()`方法将文档添加到索引。 ```java indexWriter.addDocument(doc); ``` 5. **...
了解了这些基本原理后,我们可以通过阅读提供的链接(http://blog.csdn.net/nupt123456789/article/details/10666105)获取更多关于Lucene删除索引的实战技巧和注意事项。同时,`HelloLucene_delete`这个压缩包文件...
在Lucene的上下文中,`META-INF`可能包含了关于Lucene组件或者配置的信息。 而`org`目录可能代表了源代码或编译后的类文件组织结构,按照Java的包命名规范,`org`下可能包含了一系列与Lucene相关的子包,如`org....