- 浏览: 1059954 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1441)
- 软件思想&演讲 (9)
- 行业常识 (250)
- 时时疑问 (5)
- java/guava/python/php/ruby/R/scala/groovy (213)
- struct/spring/springmvc (37)
- mybatis/hibernate/JPA (10)
- mysql/oracle/sqlserver/db2/mongdb/redis/neo4j/GreenPlum/Teradata/hsqldb/Derby/sakila (268)
- js/jquery/jqueryUi/jqueryEaseyUI/extjs/angulrJs/react/es6/grunt/zepto/raphael (81)
- ZMQ/RabbitMQ/ActiveMQ/JMS/kafka (17)
- lucene/solr/nuth/elasticsearch/MG4J (167)
- html/css/ionic/nodejs/bootstrap (19)
- Linux/shell/centos (56)
- cvs/svn/git/sourceTree/gradle/ant/maven/mantis/docker/Kubernetes (26)
- sonatype nexus (1)
- tomcat/jetty/netty/jboss (9)
- 工具 (17)
- ETL/SPASS/MATLAB/RapidMiner/weka/kettle/DataX/Kylin (11)
- hadoop/spark/Hbase/Hive/pig/Zookeeper/HAWQ/cloudera/Impala/Oozie (190)
- ios/swift/android (9)
- 机器学习&算法&大数据 (18)
- Mesos是Apache下的开源分布式资源管理框架 (1)
- echarts/d3/highCharts/tableau (1)
- 行业技能图谱 (1)
- 大数据可视化 (2)
- tornado/ansible/twisted (2)
- Nagios/Cacti/Zabbix (0)
- eclipse/intellijIDEA/webstorm (5)
- cvs/svn/git/sourceTree/gradle/jira/bitbucket (4)
- jsp/jsf/flex/ZKoss (0)
- 测试技术 (2)
- splunk/flunm (2)
- 高并发/大数据量 (1)
- freemarker/vector/thymeleaf (1)
- docker/Kubernetes (2)
- dubbo/ESB/dubboX/wso2 (2)
最新评论
介绍了段文件格式的组成以及结构,那么本篇呢,我们来分析下.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可以解析。
这个文件存储的主要是域(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可以解析。
发表评论
-
elasticsearch异常信息汇总
2017-11-06 09:34 15541.IndexMissingException 异常信息 ... -
Elasticsearch的架构
2018-03-22 10:30 512为什么要学习架构? Elasticsearch的一些架构 ... -
怎么在Ubuntu上打开端口
2017-10-21 20:45 0Netstat -tln 命令是用来查看linux的端口使用情 ... -
Elasticsearch工作原理
2018-03-22 10:30 452一、关于搜索引擎 各 ... -
Elasticsearch的路由(Routing)特性
2017-10-11 10:41 0Elasticsearch路由机制介 ... -
Elasticsearch中的segment理解
2017-10-11 09:58 1902在Elasticsearch中, 需要搞清楚几个名词,如se ... -
Elasticsearch的路由(Routing)特性
2017-09-28 16:52 623Elasticsearch路由机制介绍 Elastics ... -
Elasticsearch 的 Shard 和 Segment
2017-09-28 16:05 1201Shard(分片) 一个Shard就是一个Lu ... -
开源大数据查询分析引擎现状
2017-09-22 03:04 836大数据查询分析是云计算中核心问题之一,自从Google在20 ... -
大数据处理方面的 7 个开源搜索引擎
2017-09-22 03:01 498大数据是一个包括一切 ... -
开源大数据查询分析引擎现状
2017-09-23 11:26 551大数据查询分析是云计算中核心问题之一,自从Google在2 ... -
elasticsearch 把很多类型都放在一个索引下面 会不会导致查询慢
2017-09-25 09:45 985主要看数据量ES索引优 ... -
腾讯大数据Hermes爱马仕的系统
2017-09-23 11:15 1005腾讯大数据最近做了几件事,上线了一个官方网站http:// ... -
配置高性能Elasticsearch集群的9个小贴士
2017-09-25 10:02 593Loggly服务底层的很多 ... -
Elasticsearch与Solr
2017-09-25 16:24 558Elasticsearch简介* Elasti ... -
大数据杂谈微课堂|Elasticsearch 5.0新版本的特性与改进
2017-09-26 09:57 809Elastic将在今年秋季的 ... -
ElasticSearch性能优化策略
2017-09-26 09:51 452ElasticSearch性能优化主 ... -
ES索引优化
2017-09-19 20:39 0ES索引优化篇主要从两个方面解决问题,一是索引数据过程;二是 ... -
分词与索引的关系
2017-09-19 20:33 0分词与索引,是中文搜索里最重要的两个技术,而且两者间是密不可 ... -
Elasticsearch中的segment理解
2017-09-19 20:30 0在Elasticsearch中, 需要搞清楚几个名词,如se ...
相关推荐
总的来说,PE文件格式是Windows程序的基础,其详细结构图涵盖了从文件头到各个关键组成部分的所有细节,对于理解和分析Windows应用程序的内部工作原理至关重要。通过深入了解这个结构,开发者能够更好地调试、优化和...
Excel二进制文件格式结构分析涉及深入理解Microsoft Excel文件的内部存储机制,特别是那些以.xls为后缀的二进制工作簿文件。这类文件遵循特定的结构和规则,允许Excel应用程序准确地读取和写入数据。本文将围绕以下...
本文将深入探讨DOC文件的结构、组成部分以及解析过程。 1. **文件结构** DOC文件由一系列二进制数据组成,这些数据包含了文档的文本、样式、图像和其他元素。文件通常以一个固定的文件头开始,紧接着是各个段落的...
EMF文件格式的内部结构非常复杂,包括多个层次的数据结构,如记录头、记录体、对象表等。 1. **记录头**:定义了EMF文件的基本属性,如文件类型、版本号等。 2. **记录体**:包含了实际的绘图指令,这些指令按照...
DLIS文件格式主要由记录和逻辑文件组成。记录是DLIS文件的基本组成部分,逻辑文件是记录的集合。DLIS记录格式通常可以分为逻辑记录和物理记录两种。 逻辑记录是DLIS文件的逻辑组成部分,主要包括记录头、记录体和...
### 分析文件格式——理解CRX文件的目录结构 #### 一、CRX文件的基本概念 CRX文件是一种特殊的文件格式,通常用于Chrome扩展程序的打包。从给定的信息来看,CRX文件不仅仅是一个普通的压缩文件,而是被视为一个...
PE格式是Windows操作系统中的核心组成部分,用于存储可执行程序、动态链接库(DLLs)以及驱动程序等。一个PE文件由多个部分组成,包括DOS头、PE头、节表、节区等。DOS头是一个历史遗留的元素,用于在DOS环境下识别PE...
根据提供的标题、描述、标签及部分内容,我们可以了解到这段材料主要涉及PE(Portable Executable)文件格式中的具体结构细节。PE文件格式是Windows操作系统下的一种标准的可执行文件格式,广泛应用于EXE、DLL以及...
**Windows PE文件格式详解*...通过以上分析,我们可以看出,Windows PE文件格式是一个复杂但有序的结构,它使得程序在Windows环境下高效、可靠地运行。深入理解PE文件格式,对编程、调试和系统分析工作都有极大的帮助。
PE文件格式的核心在于其结构化设计,它由多个部分组成,包括但不限于DOS头、PE头、节表等。 ##### 1. DOS头 DOS头(DOS Header)是PE文件的第一部分,它主要包含了一个小型的DOS程序,这个程序的作用是在不支持PE...
如目标文件格式示意图、ELF Header数据结构、节区头部数据结构、符号表项格式定义、重定位表项的格式、程序头部数据结构、注释节区示例、可执行文件布局示例、动态节区符号结构、绝对过程链接表、位置独立的过程链接...
为了更好地理解和利用PE文件格式,下面将详细介绍其各个组成部分。 #### 三、PE文件的关键组件 ##### 1. MS-DOS头部(实模式头部) PE文件的开头部分是MS-DOS头部,这部分是为了保持向后兼容性而保留的。MS-DOS...
由于TTF文件格式包含大量的细节,实际操作时可能需要对每个特定的表有进一步的了解,例如glyf表(用于存储字形轮廓信息)或cmap表(用于字符到字形的映射),以及对TTF字体进行修改或创建所需的特定技术知识。
1. **MID文件数据结构**:MIDI(Musical Instrument Digital Interface)文件是一种存储音乐乐谱信息的数字格式,它不包含实际声音,而是描述乐器如何演奏的指令。MID文件由多个事件组成,如音符、节奏和控制器变化...
2. **多记录结构**:EMF文件由一系列记录组成,每个记录代表一个图形操作,如画线、填充区域或设置颜色。 3. **设备独立性**:EMF格式不依赖于特定的显示器或打印机,因此可以在不同设备间保持一致性。 4. **颜色和...
通过本文的介绍,读者可以了解到PE文件格式的基本结构及其组成部分的作用,这对于从事Windows平台软件开发的技术人员来说是非常有价值的。此外,提供的工具和示例程序也为进一步探索PE文件格式提供了便利。
【图像文件格式、结构】 图像文件格式是存储和交换数字图像数据的标准,它们定义了如何组织像素信息、颜色模式、压缩方法以及元数据等。在众多的图像文件格式中,BMP(Bitmap File)是Windows操作系统广泛采用的一...
这里我们将深入探讨MapGIS文件格式的结构,以帮助开发者更好地理解和操作这些文件。 1. **点文件结构** - **文件头**:每个点文件的开头是8个字节的文件头,标识文件类型,如“WMAP9022”。 - **点数**:紧跟文件...
这篇英文文档深入介绍了PSD文件的内部结构,对于那些想要编写程序来读取或写入这种文件格式的开发者来说,是一份极其重要的参考资料。 PSD文件的结构可以分为几个主要部分: 1. **文件头**:文件头包含了文件的...
3. Sections:ELF文件中的主要组成部分,如代码段、数据段、符号表、重定位表、字符串表等。 4. Symbol Table:存储了文件中的符号信息,包括符号名称、类型、位置等。 5. Relocation Table:提供了需要修正位置的...