`
leiwuluan
  • 浏览: 707131 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Lucene Field 分析笔记

 
阅读更多

      Field 类也许是在文档索引期限间最重要的类了:该类在事实上控制着被索的域值。当创建好一个域时,你可以指定多个域外选项来控制Lucene在将文档添加进索引后针对该域的行为。

 

 

AbstractField
--->Field
--->FieldForMerge
--->LazyField
--->NumericField

 从源代码中,可以看出Field 构造函数如下

org.apache.lucene.document.Field
Field(String, boolean, String, Store, Index, TermVector)
Field(String, byte[])
Field(String, byte[], int, int)
Field(String, byte[], int, int, Store)
Field(String, byte[], Store)
Field(String, Reader)
Field(String, Reader, TermVector)
Field(String, String, Store, Index)
Field(String, String, Store, Index, TermVector)
Field(String, TokenStream)
Field(String, TokenStream, TermVector) 

 三个内部类Field.Index,Field.Store,Field.termVector

org.apache.lucene.document.Field.Index
public static final Index NO;不建立索引 
public static final Index ANALYZED;分词,建索引
public static final Index ANALYZED_NO_NORMS;分词,建索引(但是Field的值不像通常那样被保存,而是只取一个byte,这样节约存储 空间)
public static final Index NOT_ANALYZED;不分词,建索引
public static final Index NOT_ANALYZED_NO_NORMS;不分词,建索引(但是Field的值不像通常那样被保存,而是只取一个byte,这样节约存储 空间)

org.apache.lucene.document.Field.Store
public static final Store YES;保存
public static final Store NO;不保存

org.apache.lucene.document.Field.TermVector这个参数也不常用,它有五个选项。
Field.TermVector.NO表示不索引Token的位置属性;
Field.TermVector.YES则表示存储向量。
Field.TermVector.WITH_OFFSETS表示额外索引Token的结束点;
Field.TermVector.WITH_POSITIONS表示额外索引Token的当前位置;
Field.TermVector.WITH_POSITIONS_OFFSETS表示额外索引Token的当前和结束位置;

 源码实例:

Field name=new Field("name","Leiwuluan",Store.YES,Index.NOT_ANALYZED);
Field name=new Field("age","23",Store.YES,Index.NOT_ANALYZED);

 

1
0
分享到:
评论

相关推荐

    Lucene 3.6 学习笔记

    【Lucene 3.6 学习笔记】 Lucene 是一个高性能、全文本搜索库,广泛应用于各种搜索引擎的开发。本文将深入探讨Lucene 3.6版本中的关键概念、功能以及实现方法。 ### 第一章 Lucene 基础 #### 1.1 索引部分的核心...

    lucene3.5学习笔记

    ### Lucene 3.5 学习笔记 #### 一、Lucene 3.5 基本概念 ##### 1.1 Lucene 概述 **1.1.1 IndexWriter** `IndexWriter` 是 Lucene 中的核心类之一,用于创建或更新索引。它提供了添加文档、删除文档、优化索引等...

    lucene基础学习笔记&源码

    **Lucene 基础学习笔记与源码分析** **一、Lucene 概述** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发并维护。它是一个 Java 开发的开源项目,被广泛应用于各种搜索引擎的构建,支持多种编程...

    lucene 3.5学习笔记

    《Lucene 3.5 学习笔记》 在信息技术高速发展的今天,搜索引擎技术成为了信息检索的核心工具。Apache Lucene,作为一个开源全文检索库,为开发者提供了强大的文本搜索功能。本文将深入探讨Lucene 3.5版本的相关知识...

    本人的Lucene2.9学习笔记

    1. analysis模块:包含了词法分析器,如StandardAnalyzer,用于将文本分解成Term。 2. index模块:处理索引的读写,包括IndexWriter(用于写入索引)和IndexReader(用于读取索引)。 3. store模块:负责索引的存储...

    lucene笔记

    - 分析器通用包(lucene-analyzers-common-4.10.3.jar)。 - 查询解析器包(lucene-queryparser-4.10.3.jar)。 - JUnit测试包(junit-4.9.jar)。 #### 四、Field域 **4.1 Field域的概念** 在Lucene中,文档由一...

    lucene文档笔记详解

    **Lucene文档笔记详解** Lucene,源自Apache软件基金会4 Jakarta项目组,是一个备受开发者青睐的开源全文检索引擎工具包。它提供了强大的文本分析、索引构建和搜索功能,但值得注意的是,Lucene本身并不包含完整的...

    Lucene笔记.doc

    - **StringField** - 不进行分析,整个字符串作为索引,如订单号、姓名,存储与否由Store.YES/Store.NO决定。 - **LongField** - 分析并索引,如价格,存储与否同上。 - **StoredField** - 只存储不索引,用于存储...

    Lucene 学习笔记 1

    1. **索引(Index)**: 在 Lucene 中,索引是文档内容经过分析、分词后的结构化存储形式,它使得快速查找和排序变得可能。索引过程包括文档的读取、分词、创建倒排索引等步骤。 2. **文档(Document)**: 文档是 ...

    lucene学习笔记

    以下是对Lucene学习笔记的详细解释: **建立索引**是使用Lucene的关键步骤。索引的建立涉及以下几个过程: 1. **提取文本**:首先,需要将原始数据(如文件、数据库记录等)转换成Lucene可以处理的格式。这通常...

    Lucene学习笔记

    【Lucene学习笔记】 Lucene 是一款开源的全文检索框架,由Apache软件基金会维护,它提供了高效的、可扩展的搜索引擎功能。不同于一个完整的应用程序,Lucene 提供的是一个基础组件,开发者可以将其集成到自己的应用...

    lucene笔记共38页.pdf.zip

    《Lucene笔记共38页.pdf》是一部深入探讨Apache Lucene全文搜索引擎库的详细资料,这份笔记涵盖了Lucene的核心概念、关键技术和实际应用。Lucene是Java开发的开源信息检索库,广泛应用于各种搜索和信息提取场景。...

Global site tag (gtag.js) - Google Analytics