`
BuN_Ny
  • 浏览: 85487 次
  • 来自: 济南
社区版块
存档分类
最新评论

10) 第二章 索引:Field中含多个值的问题

阅读更多

 

    假设你的Document中有一个名为"author"的Field, 然而有时一篇文章的作者不止一个。如何解决这个问题呢?一种方法是,你可以先循环遍历所有作者,将他们的名字拼接成一个String,然后再根据这个String去创建Lucene的Field;另一种更为优雅的方式,则是直接往这个Field中加入不同的值:      

Document doc = new Document();
for (int i = 0; i < authors.length; i++) {
     doc.add(new Field("author", authors[i],
              Field.Store.YES,
              Field.Index.ANALYZED));
}

    事实上,后一种方式是被Lucene推荐的、更为正式的写法。在Lucene内部,会根据你的添加顺序,依次将新域值中分词后的词元加入到索引中。

    需要注意的是,如果这些同名的Field被标识为stored, 各Field会依次在Document中独立存储。因此在搜索阶段查找此Document的时候,将会得到多个Field实例。

 

 

 

 

3
0
分享到:
评论

相关推荐

    Lucene In Action中文版第二章

    《Lucene In Action中文版第二章》主要涵盖了Lucene搜索引擎库的基础知识和核心概念,这是一款广泛应用于全文检索、信息检索领域的开源Java库。Lucene的强大之处在于其高效性和灵活性,它能帮助开发者迅速构建出具备...

    Lucene_in_Action_中文版前5章

    2. **第二章:构建第一个应用** - **环境搭建**:介绍如何配置Java环境,以及如何获取和导入Lucene的库。 - **创建索引**:讲解了如何使用Lucene API对文本数据进行分析、分词和建立索引。 - **基本搜索**:展示...

    数据结构-第二章(5)-链式存储结构(csdn)————程序.pdf

    每个节点除了包含实际的数据之外,还包含了一个或多个指向其他节点的引用(或称为指针)。这种结构使得在内存中非连续的位置存储数据成为可能。 **链表的种类**: 1. **单链表**:每个节点只有一个指针域,用于存储...

    京东架构师的ES笔记分享.docx

    在Elasticsearch中,每个索引背后都是一个或多个Lucene索引。 - **Elasticsearch基本概念**:包括索引(Index)、文档(Document)、映射(Mapping)、字段(Field)、类型(Type)等核心概念。 - **内部工作机制**...

    mapx教程 第九章(高校使用版)

    ### MapX教程第九章:专题图详解 #### 概述 MapX教程的第九章深入探讨了专题图的制作与应用,这是一种强大的数据分析与可视化工具,尤其适用于地理信息系统(GIS)领域。通过将数据转化为直观的图形展示在地图上,...

    第 章 表和数据库PPT学习教案.pptx

    - **数据库**:是一个存储特定主题或目标信息的集合,由一个或多个表组成。它相当于数据的容器,如`.dbc`文件。 - **表**:是数据库的基本单元,表现为二维表格,如`.dbf`文件。表由记录(record)和字段(field)...

    Lucene实战第二版

    第二章“Lucene应用”则会进一步深入实践,可能涵盖: 1. **全文检索**:演示如何实现高效的全文检索功能,包括关键词高亮和模糊匹配。 2. **多字段搜索**:讲解如何同时在多个字段上进行搜索,并进行复合条件的...

    Matlab教学资料:第七章稀疏矩阵 单元阵列 结构.doc

    在MATLAB编程中,了解和熟练运用特殊的数据结构如稀疏矩阵、单元阵列和结构数组对于高效处理大规模数据和复杂问题至关重要。本教程将详细阐述这三个重要概念。 ### 7.1 稀疏矩阵 稀疏矩阵是用于存储大量零元素的...

    C#微软培训教材

    ##### 第二章:运行环境 **2.1 .NET结构** - 解释.NET框架的整体结构,包括: - **公共语言运行时(CLR)**:负责执行代码、内存管理和安全验证等功能。 - **基础类库(BCL)**:提供了一系列预定义的类和接口,...

    Lucene 3.6 学习笔记

    ### 第二章 索引建立 #### 2.1 创建 Directory 和 Writer - `Directory`用于指定索引的存储位置,如磁盘或内存。 - `IndexWriter`创建时需传入`Directory`,用于写入索引。 #### 2.2 创建文档 - `Document`对象...

    C#完全手册.pdf

    **第二章:运行环境** - **.NET结构**:介绍了.NET框架的整体架构,包括但不限于CLR、基础类库(BCL)以及.NET框架所提供的服务和功能。 - **公用语言运行时环境与公用语言规范**: - 公用语言运行时(CLR):是...

    C#完全手册

    ##### 第二章:运行环境 —— 全面了解.NET - **2.1 .NET结构** - .NET Framework包括两大部分:公共语言运行时(CLR)和.NET Framework类库。 - CLR提供了执行环境,支持多语言开发,并提供内存管理、线程管理和...

    Lucene2.0实例

    在压缩包中的"ch2"文件可能包含的是第二章的示例代码或者教程内容。这部分通常会详细解释如何执行上述步骤,包括如何初始化`Directory`(如内存或硬盘上的FSDirectory)、设置`Analyzer`、创建`Document`、使用`...

    Managing Gigabytes: Compressing and Indexing Documents and Images

    第5章 索引构造 248 计算模型 251 索引构造方法概览 252 5.1 基于内存的倒排 253 5.2 基于排序的倒排 256 5.3 索引压缩 261 压缩临时文件 261 多路归并 264 原地多路归并 265 5.4 压缩的内存内倒排.. 271 ...

    mapx教程 第五章(高校使用版)

    #### 第二节:FindFeature对象与查找结果 - **FindFeature对象介绍** - `Find.Search`方法返回其在拥有`FindFeature`对象的窗体中查找到的图元。 - `FindFeature`对象会将查找到的`Feature`对象的属性存储为其...

    10-第十章-ILOG脚本.pdf

    第二种是使用方括号([])来索引数组或者对象的属性,如myArray[10]或getCar()["name"]。 函数在ILOG脚本中是通过指定函数名和参数列表来调用的。这些函数可以返回数据,或者用于执行某些操作。例如,parseInt...

    第三章 ABAP语法示例.pdf

    在《第三章 ABAP语法示例.pdf》中,作者通过一系列具体的例子介绍了ABAP语言的一些核心概念和技术应用,包括字段符号(field-symbols)的使用、字符串处理以及内表操作等。这些知识点对于初学者理解和掌握ABAP编程语言...

Global site tag (gtag.js) - Google Analytics