`
deepfuture
  • 浏览: 4400298 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80073
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70039
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103345
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285779
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15009
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67553
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32147
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45986
社区版块
存档分类
最新评论

lucene-索引过程和搜索过程的核心类

阅读更多

索引过程中的核心类

1、执行简单的索引需要以下几个类:

1)IndexWriter

是索引过程的核心组件,这个类用于创建一个新的索引并把文档加到已有的索引中。仅提供索引的写操作,并不提供索引的读操作

2)Directory

描述了Lucene索引存放的位置,是一个抽象类,具体的子类提供特定的存储索引的办法。

其中一个子类是FSDirectory能为Lucene创建和维护文件系统中的一组真实文件

另一个子类是RAMDirectory,将数据保存在内存中

3)Analyzer

在文本被索引之前,需要经过分析器处理,从被索引的文本文件中提取词汇单元,并剔除余下的无用的信息。

4)Document

一个文档代表一个域(Field)的集合,可以把Document对象当做一个虚拟的文档。

5)Field索引中的每个Document都包含一个或多个不同命名的域(Field),这些域包含于Field类中,每个域对应于一段数据,这些数据在搜索过程中可能会被查询或在索引中被检索.

A)Keyword域:不需要被分析,会被逐字索引并存储

可以对String和Date索引

B)UnIndexed域:不分析也不索引,但存入索引文件中,适于需要量和搜索结果一起显示出来的,但用户不会将它的值直接用于搜索的情形(如URL或数据库的主键).

可以对String操作

C)UnStored域:与UnIndexed类型域相反,该域类型需要被分析并索引,但不需要存储在索引文件中,适于不需要以其原始形式进行检索的大数据文本,如网页正文。

可以对String索引

D)Text域:需要分析、索引,如果被索引的数据是一个字符串,它将会被储存。如果来自Reader对象,不能储存。

可以对String和Reader索引

每个域都由域名和域值组成,选择哪一种类型的域取决于用户想如何使用该域及其值。

2、基本搜索接口

1)IndexSearcher

用于搜索IndexWriter类所创建的索引,这个类是连接索引的重要手段,提供了一些search方法。以只读方式打开索引。

2)Term

用于搜索的一个基本单元,包含一对域名和域值。

3)Query

查询类

4)TermQuery

最基本查询类型,也是简单查询类型之一。用于匹配在指定域中包含了特定项的文档。

5)Hits

存放有序搜索结果指针的简单容器

分享到:
评论

相关推荐

    lucene-core-2.9.4,lucene-core-3.0.2,lucene-core-3.0.3,lucene-core-3.4.0

    `org`目录则很可能包含了Lucene库的类文件结构,按照包名组织,便于Java虚拟机加载和运行。 在实际应用中,开发者可以根据项目需求选择适合的Lucene版本。例如,如果对内存效率有较高要求,2.9.4的内存索引功能可能...

    lucene-core-3.0.2.jar,lucene-demos-3.0.2.jar

    这是Lucene的核心库,包含了所有用于创建、索引和搜索文档的基本组件。它提供了一个高效的倒排索引结构,使得文本搜索变得快速且高效。在3.0.2版本中,Lucene引入了诸多优化,比如更高效的内存管理、更快的搜索速度...

    lucene-core-2.4.0.jar

    总结,Lucene是一个强大且灵活的全文搜索引擎库,无论是在2.4.0版本还是后续版本,其核心机制和功能都为开发者提供了构建高效搜索系统的可能。通过深入理解Lucene,开发者可以更好地满足用户对信息检索的需求,提升...

    lucene-codecs-4.4.0.zip

    在IT领域,Lucene是一个非常重要的开源全文搜索引擎库,它为开发者提供了强大的文本分析、索引和搜索功能。这里我们关注的是Lucene的4.4.0版本,通过解压"lucene-codecs-4.4.0.zip",我们可以深入了解其内部机制和...

    lucene-5.0.0 完整资源(包含Jar包)

    5. **内存和磁盘管理**:Lucene 使用段(Segment)的概念来组织索引,每个段都是一个独立的可搜索单位。定期的合并操作可以优化磁盘空间并保持索引效率。 6. **扩展性和定制化**:Lucene 是一个高度模块化的框架,...

    最新全文检索 lucene-5.2.1 入门经典实例

    《最新全文检索 Lucene-5.2.1 入门经典实例》 Lucene是一个开源的全文检索库,由Apache软件基金...通过学习和实践这些经典实例,开发者能够掌握如何利用Lucene构建高效的全文检索系统,提升数据的可搜寻性和用户体验。

    lucene-memory-3.0.1.jar

    其中,`org.apache.lucene.index.memory`包下包含了一系列用于内存索引操作的核心类,如`MemoryIndex`和`MemoryReader`。`MemoryIndex`类用于构建和管理内存中的索引,而`MemoryReader`则负责读取和查询这些索引。...

    lucene-2.9.2.jar包+源码

    在Lucene-2.9.2中,索引过程涉及文档分析、字段存储、倒排索引和位图过滤等步骤。在这个过程中,中文分词是关键的一环。 对于中文分词,Lucene-2.9.2提供了对多种分词器的支持,如IK分词器、SmartCN分词器等。这些...

    MMAnalyzer 分词必导入jar包(lucene-core-2.4.1.jar je-analysis-1.5.3.jar)

    `lucene-core-2.4.1.jar`是Lucene的核心库,包含了Lucene的基础组件和API,如文档处理、索引操作、查询构造等,这些是MMAnalyzer进行分词工作所必需的。 在实际项目中,正确导入这两个JAR包是确保MMAnalyzer正常...

    lucene-4.0.0-src.zip 【Lucene 4.0.0源码包src , source】

    3. **搜索(Search)**:`IndexSearcher`是执行搜索的核心类,它根据查询对象在索引中找到匹配的文档。`TopDocs`和`ScoreDoc`等类则用于返回和排序搜索结果。 4. **分析(Analysis)**:在索引和搜索过程中,文本...

    lucene-4.2.1-src.tgz

    在源代码中,你可以研究`IndexWriter`类和相关的`Analyzer`、`Document`、`Field`等,了解如何将文本数据转换为可搜索的索引。 2. **分词处理**:Lucene支持多种`Analyzer`,如`StandardAnalyzer`、`SimpleAnalyzer...

    lucene-5.5.3.zip

    - **索引**:Lucene的核心是建立倒排索引,它将文本内容转换成可快速查询的数据结构。索引过程包括分析、词项化、文档ID分配等步骤。 - **分词器(Tokenizer)**:负责将输入的文本分割成一个个有意义的词元...

    java全文搜索lucene-3.0.0-src+lib.zip

    Lucene的工作流程主要包括索引创建、索引读取和搜索三个阶段: - 创建索引:使用Analyzer处理文档,生成Token流,然后通过IndexWriter写入索引。 - 读取索引:使用IndexReader打开已有的索引文件。 - 搜索:Searcher...

    lucene-3.0.1库及源代码

    2. ** 示例模块(examples)**:提供了简单的示例程序,展示如何使用Lucene进行索引和搜索。 3. **测试模块(test)**:丰富的单元测试代码,帮助验证功能的正确性。 4. **贡献模块(contrib)**:包含社区贡献的...

    最新版linux lucene-8.10.0.tgz

    - **索引**:Lucene的核心是建立索引,它将文本数据转换为可搜索的结构。索引过程包括分词、去除停用词、词干提取等。 - **Analyzer**:Analyzer负责文本分析,根据语言规则进行分词处理。 - **Document**:表示...

    lucene-core-3.5.0.jar和junit4jar_xpgod

    Lucene提供了索引和搜索文本的高级工具,它能快速地对大量数据进行全文检索,支持多种查询语法,包括布尔操作符、短语查询、近似查询等。 3.5.0是Lucene的一个版本号,每个版本可能包含性能优化、新特性和错误修复...

    lucene-4.6.1全套jar包

    在4.6.1版本中,Lucene 已经可以与其他分布式搜索框架如Solr集成,支持大规模数据的分布式索引和搜索,这对于大数据环境下的搜索应用尤为重要。 **5. 分析器** 分析器在Lucene中扮演着重要角色,负责处理输入文本...

    lucene-3.5.0.jar

    《深入理解Lucene 3.5.0:Java搜索引擎库的核心技术解析》 在Java开发领域,Lucene是一个广泛使用的全文检索库,它为开发者提供了强大的文本搜索功能。标题中的"lucene-3.5.0.jar"是Lucene的一个特定版本——3.5.0...

    lucene-4.7.0.

    这个组件是Lucene的核心库,包含了构建和搜索索引所需的基本类和接口。其中包括文档(Document)类用于存储信息,字段(Field)类用于定义文档的各个属性,以及索引写入器(IndexWriter)和索引阅读器(IndexReader...

    Lucene 5 主要jar包

    1. **lucene-core-5.0.0.jar**:这是Lucene的核心组件,包含了索引和搜索的基本功能。它包括文档的创建、索引、查询以及结果的排序和过滤。这个jar包提供了如Analyzer、IndexWriter、Directory、QueryParser等关键类...

Global site tag (gtag.js) - Google Analytics