1. 概述
Lucene是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene以其方便使用、快速实施以及灵活性受到广泛的关注。它可以方便地嵌入到各种应用中实现针对应用的全文索引、检索功能,本总结使用lucene--2.3.2。
2. lucene 的包结构
1、org.apache.lucene.analysis对需要建立索引的文本进行分词、过滤等操作, 语言分析器,主要用于的切词Analyzer是一个抽象类,管理对文本内容的切分词规则。
2、org.apache.lucene.analysis.standard是标准分析器
3、org.apache.lucene.document提供对Document和Field的各种操作的支持。索引存储时的文档结构管理,类似于关系型数据库的表结构。Document相对于关系型数据库的记录对象,Field主要负责字段的管理。
4、org.apache.lucene.index是最重要的包,用于向Lucene提供建立索引时各种操作的支持。索引管理,包括索引建立、删除等。索引包是整个系统核心,全文检索的根本就是为每个切出来的词建索引,查询时就只需要遍历索引,而不需要去正文中遍历,从而极大的提高检索效率。
5、org.apache.lucene.queryParser提供检索时的分析支持。查询分析器,实现查询关键词间的运算,如与、或、非等。
6、org.apache.lucene.search 负责检索。检索管理,根据查询条件,检索得到结果。
7、org.apache.lucene.store提供对索引存储的支持。数据存储管理,主要包括一些底层的I/0操作。
8、org.apache.lucene.util提供一些常用工具类和常量类的支持
3. 索引文件格式
a) .fnm格式 包含了Document中所有field名称
b) .fdt与.fdx格式 .fdt文件用于存储具有Store.YES属性的Field的数据;.fdx是一个索引,用于存储Document在.fdt中的位置。
c) .tis 与.tii格式 .tis文件用于存储分词后的词条(Term),而.tii就是它的索引文件,它表明了每个.tis文件中的词条的位置。
d) deletable格式 文档被删除后,会首先在deletable文件中留下一个记录,要真正删除时,才将索引除去。
e) 复合索引格式 .cfs
使用IndexWriter的useCompoundFile() 默认为True
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaoping8411/archive/2010/03/23/5409940.aspx
分享到:
相关推荐
**Lucene 概述** ...通过理解 Lucene 的核心概念,如 Analyzer、Document、Field 和查询机制,开发者可以有效地构建自己的文本检索系统。结合实际需求,可以进一步定制 Lucene 功能,以满足特定的应用场景。
《全面解析:Lucene-3.0.1 API——基于最新整理资料》 在信息技术日新月异的今天,搜索引擎技术扮演着至关重要的角色。Apache Lucene,作为一款开源的全文检索库,为开发者提供了强大的文本搜索功能。本文将基于...
1. **索引(Index)**:Lucene的核心功能之一是构建索引,将文本数据转化为可搜索的结构。索引是一个倒排索引,其中每个词项都有一个指向包含该词项的文档列表的指针,这种设计极大地提高了搜索速度。 2. **分析器...
在本文中,我们将深入探讨Lucene的核心概念、包结构及其内部工作原理,以期为初学者提供一份详尽的入门指南。 #### 二、Lucene的包结构解析 Lucene的包结构设计得非常精细,每个包都承担着特定的功能角色,共同...
**一、Lucene 的基本概念** 1. **文档(Document)**:在 Lucene 中,文档是信息的基本单位,可以看作是一组字段(Field)的集合。每个字段有特定的名称和内容,例如文章标题、正文等。 2. **字段(Field)**:...
本文将基于“Lucene全文检索引擎工具包 v7.7.3-源码.zip”这一资源,深入探讨其核心概念和关键组件,帮助开发者更好地理解和运用Lucene。 首先,Lucene的基本工作原理是基于倒排索引(Inverted Index)的。在创建...
"lucene.doc"文档可能是某位网友整理的个人学习记录或教程,DOC是Microsoft Word的默认文档格式,适合编写长篇文字和报告。在这个文档中,读者可能会发现更多关于Lucene的案例分析、代码示例以及实际项目中的应用...
在讨论基于Lucene的中文自然语言搜索引擎之前,我们需要先了解几个关键概念。Lucene是一个高性能的,可扩展的全文搜索库,由Apache软件基金会支持并维护。它使用Java编写,可以无缝地融入到各种应用中,提供全文搜索...
**Elasticsearch 6.8.0:核心概念与实战指南** Elasticsearch 是一个流行的开源全文搜索引擎,基于 Lucene 库,广泛用于实时数据分析、日志聚合、搜索和信息检索。版本 6.8.0 提供了稳定性和性能的优化,使其成为...
- **搜索引擎与Lucene**:学习如何使用Lucene构建搜索引擎。 - **Jboss、WebLogic**:熟悉这些应用服务器的安装、配置及部署过程。 #### 结语 以上是根据给定材料整理出来的Java学习路线图。这份路线图覆盖了从...
以下是根据简历内容整理出的相关知识点: 1. **Java技术**: - 掌握Java初级和高级知识,包括反射、泛型和代理。 - 熟练运用面向对象编程思想,熟悉多种设计模式,如单例、装饰、策略、模板、工厂和观察者模式。 ...
#### JAVASE概述与基础概念 - **数组与数组拷贝**: - 数组是固定大小的数据结构,用于存储同种类型的数据元素。 - `java.lang.System`类中提供了静态方法`arraycopy`用于数组拷贝。此方法可以高效地复制数组中的...
本资源摘要信息是基于Elasticsearch快速入门笔记的整理,共75节,涵盖了Elasticsearch的核心概念、功能、适用场景、特点、安装、启动、使用案例等 contenu。以下是本资源摘要信息的详细知识点: 一、Elasticsearch...
在“Java+Web项目实战大全源码搜索引擎源码整理”中,我们主要关注的是使用Java编程语言进行Web项目的开发,特别是构建一个搜索引擎的实践过程。这个项目可能涉及到多个关键知识点,包括但不限于以下几点: 1. **...
搜索引擎是一种自动从互联网上搜集信息,经过整理后供用户查询的系统。它通过一系列的技术手段帮助用户快速定位到所需的信息资源。本文将根据提供的资料深入探讨搜索引擎的核心技术及其构建过程。 #### 二、搜索...
Solr是一个建立在Apache Lucene库之上的开源搜索平台,提供了一个强大的搜索引擎,它通过提供REST风格的Web服务和Java API使得整合搜索引擎到应用程序变得简单。Solr通常用于网站搜索、企业内部数据的搜索和搜索应用...