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

9) 第二章 索引:Field的设置

阅读更多

 

    Field也许算是Lucene索引阶段最重要的类,它是存储被索引值的类。当创建Field时,Lucene为其提供了诸多选项供你选择。

 

1. 索引

    索引选项(Field.Index.*)用来控制域中的文本如何通过反向索引搜索。共有如下选项:

    1) Index.ANALYZED

          最常用的设置,采用分词策略,将原文拆分成词元(通常用在正文、标题、摘要等域)

    2) Index.NOT_ANALYZED

          不采用分词策略,即把原文当作一整个词元对待(通常用在URL、文件路径、日期等域)

    3) Index.ANALYZED_NO_NORMS

          它是Index.ANALYZED的高级变种,在索引文件中不存储规则信息,比如一些优先策略

    4) Index.NOT_ANALYZED_NO_NORMS

          类似上面,它是Index.NOT_ANALYZED的高级变种

    5) Index.NO

          指定为此选项的域将不能被搜索到

 

2. 存储

    存储选项(Field.Store.*)用来决定是否将域值存储起来。共有如下选项:

    1) Store.YES

    2) Store.NO

    标识为YES的域值将会被存储在index中,搜索阶段可以用IndexReader检索到它。此选项对于需要在查询结果中显示的域非常有用(如URL、标题等)。

    Lucene中包含一个非常有用的工具类,CompressionTools,它提供了压缩和解压byte数组的方法。其内部调用了java的内置java.util.Zip包中的方法。在存储之前你可以利用它先将内容压缩,但是压缩会降低索引和搜索的效率,对于很小的域值,通常并不值得去压缩。

 

3. 检索词向量

    这个稍微麻烦一些,不展开了。选项如下:

    1) TermVector.YES

    2) TermVector.WITH_POSITIONS

    3) TermVector.WITH_OFFSETS

    4) TermVector.WITH_POSITIONS_OFFSETS

    5) TermVector.NO

    需要注意的是,如果设置了Index.NO, 则必须是TermVector.NO. 即前四个选项必须建立在域值可索引的基础上。

 

4. Field的构造器

    Field的构造器有很多:

    

 

5. 小结

    组合以上选项,主要有如下用法:

Index          Store TermVector  常见用处
NOT_ANALYZED  YES NO 文件名、URL、电话、日期等
ANALYZED YES WITH_POSITIONS_OFFSETS 标题、摘要
ANALYZED NO WITH_POSITIONS_OFFSETS 正文
NO YES NO 分类、数据库主键等只用来在结果中显示的
NOT_ANALYZED NO NO 隐藏的关键字
3
0
分享到:
评论

相关推荐

    Lucene In Action中文版第二章

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

    Lucene_in_Action_中文版前5章

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

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

    - **无法随机访问**:不像顺序存储结构,链式存储不能直接通过索引访问元素,只能顺序遍历。 总结来说,链式存储结构是一种灵活的数据组织方式,尤其适用于需要频繁进行插入和删除操作的情况。理解和掌握链式存储...

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

    #### 第二章:查询DSL进阶 - **Lucene评分过程**:解释文档如何根据相关性进行评分。这涉及到TF-IDF(Term Frequency-Inverse Document Frequency)算法以及其他评分机制。 - **查询改写**:介绍为何需要对原始查询...

    搜索引擎Luecne技术--助教PPT

    #### 第二章:入门实例 - **工作原理** Lucene的工作流程主要包括以下几步: 1. **文档分析**:将文档分割成一系列词汇单元(token),这一过程通常由分析器(analyzer)完成。 2. **建立索引**:为每个文档及其...

    vfp第一到第三章的课件

    第二章通常涉及的是**程序设计基础**: 1. **命令与语句**:学习VFP的基本命令,如显示(DISPLAY)、输入(INPUT)等,以及流程控制语句(如IF...THEN...ENDIF,FOR...NEXT,WHILE...WEND等)。 2. **函数和过程**:...

    Lucene实战第二版

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

    C#完全手册.pdf

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

    C#微软培训教材

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

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

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

    Lucene 3.6 学习笔记

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

    第32章 DataGrid(数据表格)组件[6]1

    {field: 'id', title: '编号', sortable: true, checkbox: true, width: 100}, ``` 这个示例中,我们定义了一个名为 "id" 的列,标题为 "编号",可以排序,并且显示复选框。同时,我们还设置了列的宽度为 100 像素。...

    Active.Server.Pages技术参考辞典

    中文名: Active Server ...第二章 VBScript与Active Server Pages 第三章 ASP应用系统所使用的物件 第四章 利用ADO物件与资料库连结 第五章 建立伺服端的ActiveX COM物件 第六章 Visual Basic与Active Server Pages

    大学文献检索资料 DOC

    第二节 信息检索的目的和作用 1.通过科技文献检索能够打开人类知识宝库的钥匙。 2.通过科技文献检索能使科技工作者及时把握科技发展的动态和趋势。 3.通过科技文献检索能有助于开拓知识面,改善知识结构。 4....

    Excel_VBA常用技巧_第02章[1].range(单元格)对象.doc

    #### 第二章 Worksheet(工作表)对象 在Excel VBA编程中,对于工作表的操作占据了非常重要的地位。无论是数据处理还是自动化任务,都需要通过各种方法来引用和操作工作表。本章节主要介绍如何在VBA中高效地使用和...

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

    本章主要介绍了数据库和表的基本概念,以及如何在数据库中操作和管理数据。以下是基于提供的PPT内容的详细知识点讲解: 1. **数据库和表**: - **数据库**:是一个存储特定主题或目标信息的集合,由一个或多个表...

    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 ...

    C#完全手册

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

Global site tag (gtag.js) - Google Analytics