相关的类调用关系
DocumentsWriterPerThread ——>DocFieldProcessor
 
DocumentsWriterPerThread里的consumer对象(类型是DocFieldProcessor)负责field的内数据的存储
 
1 consumer.processDocument(fieldInfos);
   在存储field内容这方面只是简单的把docid,field和fieldinfo放入子成员storedConsumer里
 
2  consumer.finishDocument();
    会取出要储存域里的数据,放入 bufferedDocs子对象(连续的块内存,CompressingStoredFieldsWriter的子成员)里面,在flush disk的时候在把bufferedDocs内的数据写入磁盘
 
==================================================
DocFieldProcessor 负责 .fdt .fdx .tvd .tvx四个文件的数据写入
 
1 DocFieldProcessor调用TwoStoredFieldsConsumers类的flush方法写fdt .fdx 文件
 
storedConsumer.addField(docState.docID, field, fp.fieldInfo);//storedConsumer把存储的docid,field和info数据存储到自己的类里面
 
storedConsumer.flush(state); 负责.fdt .fdx 文件
 
2DocFieldProcessor调用DocInverter类的flush方法写tvd和tvx文件
consumer.flush(childFields, state);负责.tvd .tvx 文件
 
===================================================================
DocumentsWriterPerThread 
 
/** Flush all pending docs to a new segment */
lucene最重要的flush函数,该函数执行完成以后 所有数据都刷新到磁盘,且产生的临时文件是最多的
FlushedSegment flush() 
 
生成的文件如下
 
-rw-r--r-- 1 bf bf 358 2014-07-11 14:53 _0.cfe
-rw-r--r-- 1 bf bf 958 2014-07-11 14:53 _0.cfs
-rw-r--r-- 1 bf bf 72 2014-07-11 14:53 _0.fdt
-rw-r--r-- 1 bf bf 62 2014-07-11 14:53 _0.fdx
-rw-r--r-- 1 bf bf 138 2014-07-11 14:53 _0.fnm
-rw-r--r-- 1 bf bf 83 2014-07-11 14:53 _0_Lucene41_0.doc
-rw-r--r-- 1 bf bf 50 2014-07-11 14:53 _0_Lucene41_0.pay
-rw-r--r-- 1 bf bf 63 2014-07-11 14:53 _0_Lucene41_0.pos
-rw-r--r-- 1 bf bf 116 2014-07-11 14:53 _0_Lucene41_0.tim
-rw-r--r-- 1 bf bf 81 2014-07-11 14:53 _0_Lucene41_0.tip
-rw-r--r-- 1 bf bf 43 2014-07-11 14:53 _0.nvd
-rw-r--r-- 1 bf bf 62 2014-07-11 14:53 _0.nvm
-rw-r--r-- 1 bf bf 288 2014-07-11 14:53 _0.si
-rw-r--r-- 1 bf bf 79 2014-07-11 14:53 _0.tvd
-rw-r--r-- 1 bf bf 62 2014-07-11 14:53 _0.tvx
-rw-r--r-- 1 bf bf 0 2014-07-11 14:48 write.lock
 

lucene 内存索引存储每个field里内容的相关代码的更多相关文章

  1. lucene 内存索引 和文件索引 合并

    IndexWriter.addIndexes(ramDirectory); http://blog.csdn.net/qq_28042463/article/details/51538283 在luc ...

  2. lucene内存索引库、分词器

    内存索引库 特点 在内存中开辟一块空间,专门为索引库存放.这样有以下几个特征: 1)    因为索引库在内存中,所以访问速度更快. 2)    在程序退出时,索引库中的文件也相应的消失了. 3)    ...

  3. sqlserver 数据库关于存储xml字段里内容的查找与替换

    1.传送门 :   http://www.cnblogs.com/GuoPeng/archive/2009/12/11/1621527.html 2.复制原帖的修改部分: 修改:@xml . modi ...

  4. 【转】Lucene不同版本中Field的Keyword、UnIndex,导致lucene 建立索引总是报错 急!!

    lucene 建立索引 总是报错 急!! http://zhidao.baidu.com/link?url=iaVs9JH4DfN6iwaWImt7VMJENWCWGGaWFGPjqhUw_jz7Fs ...

  5. JS规则 多样化的我(变量赋值)我们使用"="号给变量存储内容,你可以把任何东西存储在变量里,如数值、字符串、布尔值等,

    多样化的我(变量赋值) 我们可以把变量看做一个盒子,盒子用来存放物品,那如何在变量中存储内容呢? 我们使用"="号给变量存储内容,看下面的语句: var mynum = 5 ; / ...

  6. Lucene -- 实时索引

    lucene的实时搜索可以分成:实时和近实时的搜索. 实时只能依靠内存了. 近实时可以用lucene中提供org.apache.lucene.index.DirectoryReader.open(In ...

  7. 如何提高Lucene构建索引的速度

    如何提高Lucene构建索引的速度 hans(汉斯) 2013-01-27 10:12 对于Lucene>=2.3:IndexWriter可以自行根据内存使用来释放缓存.调用writer.set ...

  8. Solr4.8.0源码分析(10)之Lucene的索引文件(3)

    Solr4.8.0源码分析(10)之Lucene的索引文件(3) 1. .si文件 .si文件存储了段的元数据,主要涉及SegmentInfoFormat.java和Segmentinfo.java这 ...

  9. lucene 建立索引的过程

    时间 -- ::  CSDN博客 原文 http://blog.csdn.net/caohaicheng/article/details/ 看lucene主页(http://lucene.apach ...

随机推荐

  1. Android实战简易教程-第二十八枪(基于Bmob实现头像图片设置和网络上传功能!)

    上一篇我们介绍了怎样由uri转换成String ,本文就用到了上篇文章的方法.以下我们介绍一下怎样设置头像后将头像图片上传到云端的方法,本文基于Bmob提供的服务. 看一下代码:(布局文件和前两篇文章 ...

  2. hdu5297 Y sequence(容斥原理+迭代)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5297 题意:给定整数n和整数r,在1.2.3.4.5.......的序列中删掉能够开2次方的数,3次方的数 ...

  3. Python中的作用域

    Python中的作用域 Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定的. 当 Python 遇到一个变量的话他会按照这样的顺序进行搜索: 本地作用域(Local)→当前作用域被嵌 ...

  4. jsp简单实现统计在线人数

    通过重写HttpSessionListener接口实现 //session操作类 public class SessionMap { private static Map<String,Http ...

  5. Generator [ˈdʒenəreɪtə(r)] 函数结构

    Generator函数是ES6新增的一种异步编程方案. 说明:Generator函数指的是一种新的语法结构,是一个遍历器对象生成器,它内部可以封装多个状态,非常适合用于异步操作. Generator函 ...

  6. Learning English From Android Source Code:1

    英语在软件行业的重要作用不言自明,尤其是做国际项目和写国际软件,好的英语表达是项目顺利进行的必要条件.纵观眼下的IT行业.可以流利的与国外客户英文口语交流的程序猿占比并非非常高.要想去国际接轨,语言这 ...

  7. PotPlayer 禁止更新

      PotPlayer设置禁止更新 CreateTime--2016年10月15日22:37:49 迁移时间:2017年8月9日15:36:48 Author:Marydon UpdateTime-- ...

  8. Apache 整合 Acitve Directory 達成 one single signon

    原文地址:http://blog.hsdn.net/1266.html 我的公司使用AD進行使用者驗證,因此在使用者操作的便利性考量前提下.如何讓使用者不需要重覆輸入帳號與密碼,而直接抓取使用者已經登 ...

  9. 安装 percona-xtrabackup 2.4

    Installing Percona XtraBackup from Percona yum repository Install the Percona repository You can ins ...

  10. 【LeetCode】117. Populating Next Right Pointers in Each Node II (2 solutions)

    Populating Next Right Pointers in Each Node II Follow up for problem "Populating Next Right Poi ...