`
- 浏览:
2188554 次
- 性别:
- 来自:
北京
-
转载请务必注明,原创地址,谢谢配合!
http://qindongliang1922.iteye.com/
上篇文章,散仙介绍了段文件格式的组成以及结构,那么本篇呢,我们来分析下.fnm这个文件
这个文件存储的主要是域(Fileds)字段名,在索引文件中的后缀名为.fnm。
下面先来看下.fnm的数据类型。
Header--> CodecHeader
FieldsCount-->VInt
FieldName-->String
FieldBits, DocValuesBits-->Byte
FieldNumber-->VInt
Attributes-->Map<String,String>
DocValuesGen-->Int64
详细描述如下:
FieldsCount:记录的是域名在当前文件的数量
FieldName:域名在文件中保存为UTF-8字符串
FieldNumber:字段的编号,
FieldBits:一个字节包含字段的选项信息
(1)低阶位是1代表是索引字段,bit为0代表非索引(Indexs)字段
(2)第二个低阶位是1代表有向量存储,bit为0代表无向量(term vectors)存储
(3)第三个低阶位被设置成(0x4),offsets(偏移量)将会被存储在倒排链表里,除了位置信息
(4)第四个bit位从未被使用过
(5)第五个bit位被设置成(0x10),norm(加权基准)将会被忽略在索引字段里
(6)第六个bit位被设置成(0x20),payload(载荷)将会被被存储在索引字段里
(7)第七个bit位被设置成(0x40),term frequencies(词频) and positions(位置)将会在索引字段里被忽略
(8)第八个bit位被设置成(0x80),positions(位置)信息,将不会被忽略在索引字段里
DocValuesBits:
一个字节包含每个文档的值类型,这个被记录用2个4位字节的int类型,高阶位代表(norms)加权基准的选项,
低阶位代表DocValues的选项,每个4位字节的整数可以被解码:
0:代表这个字段没有存储DocVlues
1:数字类型的NumericDocValues
2:二进制类型的BinaryDocValues
3:排序类型的SortedDocValues
DocValuesGen是字段的DocValues里面的数量,如果这个值为1,代表着
没有DocValues更新该字段,其他任何大于0的数字代表其被更新存储通过DocValuesFormat.
Attributes:一个K-V映射的编码的属性存储。
DocValuesFormat:作用是为每个文档进行编码以及解码的工作,如果有自己定义的格式需要加入或扩展
可以继承改类,为了能够使段文件读取,必须需要定义格式名,这个方法使用的是JAVA的SPI进行定义的
,在扩展的类里面必须有一个无参的构造函数以确保SPI可以解析。
转载请务必注明,原创地址,谢谢配合!
http://qindongliang1922.iteye.com/
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在"lucene4.3 按坐标距离排序"这个主题中,我们将探讨如何在Lucene 4.3版本中利用地理位置信息进行文档排序,特别是在处理地理空间搜索时的应用。 首先,Lucene 4.3引入了对地理空间搜索的支持,这允许我们根据地理...
Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会...
lucene4.3增删改查的的一个工具类,对新手来说是一份不可多得的入门资料。
全文检索lucene 4.3 所用到的3个jar包,包含lucene-queryparser-4.3.0.jar、 lucene-core-4.3.0.jar、lucene-analyzers-common-4.3.0.jar。
《Lucene高级搜索进阶项目_04》 在深入探讨Lucene的高级搜索进阶项目时,我们首先需要理解Lucene的核心概念及其在信息检索中的应用。Lucene是一个高性能、全文本搜索库,它提供了丰富的搜索功能,包括布尔运算、...
lucene4.3源代码 censed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information ...
本课程由浅入深的介绍了Lucene4的发展历史,开发环境搭建,分析lucene4的中文分词原理,深入讲了lucenne4的系统架构,分析lucene4索引实现原理及性能优化,了解关于lucene4的搜索算法优化及利用java结合lucene4实现...
Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发并维护。在Java编程环境中,它为开发者提供了强大的文本检索功能,使得在海量数据中快速查找相关信息变得简单易行。本篇文章将详细探讨Lucene 4.3.1版本的...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11....Lucene高级进阶1 共23页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
1.XunTa是在lucene4.3上创建的通过“知识点”来找人的搜人引擎。 输入一个关键词(或组合),XunTa返回一个排名列表,排在前面的人是与该关键词(组合)最相关的“达人”。 可访问 http://www.xunta.so立即体验...
在本课程中,我们主要探讨了Lucene 4.x版本的高级进阶应用,特别是针对大规模文档搜索引擎的构建。Lucene作为一个开源全文搜索引擎库,它提供了高效、灵活的索引和搜索功能,是构建高性能搜索系统的基石。在这个部分...
结合笔者的实际开发经验,总结了一些新的开发技巧和开发思路,并对网上流传的一些错误...本书既可为零起点的Lucene初学者提供系统全面的学习指导,也可帮助有相关经验的开发者解决在开发过程中遇到的一些难题和疑惑。
在高级进阶部分,我们将重点探讨Lucene在索引、搜索、排序、过滤以及分词器等方面的高级用法,旨在帮助开发者掌握Lucene的精髓,打造高效、精确的搜索体验。 1. **Document与索引更新**: 在Lucene中,`Document`...
【Lucene4.X实战类baidu搜索的大型文档海量搜索系统】课程主要涵盖了Lucene搜索引擎的各个方面,包括基础和高级进阶。以下是课程的主要知识点: 1. **Lucene入门与系统架构**:介绍Lucene的基本概念,以及其系统...
Lucene是Java开发的开源库,它提供了文本分析、索引和搜索功能,使得开发者能够轻松地在应用程序中实现复杂的搜索功能。这个项目的重点在于提升对Lucene高级特性和优化技巧的理解。 首先,我们要了解Lucene的核心...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11....Lucene高级进阶1 共23页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11....Lucene高级进阶1 共23页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11....Lucene高级进阶1 共23页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11....Lucene高级进阶1 共23页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11....Lucene高级进阶1 共23页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...