<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <title><![CDATA[机器鸟]]></title>
    <link><![CDATA[http://www.jqpress.com/]]></link>
    <description><![CDATA[爱网络，爱程序，爱自由]]></description>
    <copyright><![CDATA[Copyright 2011 Jqpress ${Model.version}]]></copyright>
    <webMaster><![CDATA[]]></webMaster>
    <pubDate><![CDATA[${Model.date.tostring("r")}]]></pubDate>
    <generator><![CDATA[Jqpress]]></generator>
    <language><![CDATA[zh-cn]]></language>
        <item>
      <title><![CDATA[lucene创建文档Document对象，并加入域(Field)]]></title>
      <link><![CDATA[http://www.jqpress.com/post/175.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/175.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[Document对象主要包括以下部分：
 此文档的boost，默认为1，大于一说明比一般的文档更加重要，小于一说明更不重要。
 一个ArrayList保存此文档所有的域
每一个域包括域名，域值，和一些标志位，和fnm，fdx，fdt中的描述相对应。]]></description>
      <pubDate><![CDATA[Fri, 11 May 2012 22:19:54 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene创建IndexWriter 对象]]></title>
      <link><![CDATA[http://www.jqpress.com/post/174.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/174.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[IndexWriter writer = new IndexWriter(FSDirectory.open(INDEX_DIR), new StandardAnalyzer(Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.LIMITED);

IndexWriter对象主要包含以下几方面的信息：]]></description>
      <pubDate><![CDATA[Thu, 10 May 2012 22:30:29 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene索引过程体系结构]]></title>
      <link><![CDATA[http://www.jqpress.com/post/173.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/173.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[Lucene 3.0的搜索要经历一个十分复杂的过程，各种信息分散在不同的对象中分析，处理，写入，为了支持多线程，每个线程都创建了一系列类似结构的对象集，为了提高效率，要复用一些对象集，这使得索引过程更加复杂。]]></description>
      <pubDate><![CDATA[Thu, 10 May 2012 22:12:50 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene索引过程分析1]]></title>
      <link><![CDATA[http://www.jqpress.com/post/170.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/170.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[对于Lucene的索引过程，除了将词(Term)写入倒排表并最终写入Lucene的索引文件外，还包括分词(Analyzer)
和合并段(merge segments)的过程，本次不包括这两部分，将在以后的文章中进行分析。
Lucene的索引过程，很多的博客，文章都有介绍，推荐大家上网搜一篇文章：《Annotated Lucene》，好像
中文名称叫《Lucene源码剖析》是很不错的。
想要真正了解Lucene索引文件过程，最好的办法是跟进代码调试，对着文章看代码，这样不但能够最详细准确
的掌握索引过程(描述都是有偏差的，而代码是不会骗你的)，而且还能够学习Lucene的一些优秀的实现，能够
在以后的工作中为我所用，毕竟Lucene是比较优秀的开源项目之一。
由于Lucene已经升级到3.0.0了，本索引过程为Lucene 3.0.0的索引过程。]]></description>
      <pubDate><![CDATA[Tue, 08 May 2012 23:35:35 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene总体结构]]></title>
      <link><![CDATA[http://www.jqpress.com/post/169.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/169.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[图示为Lucene索引文件的整体结构：
 属于整个索引(Index)的segment.gen，segment_N，其保存的是段(segment)的元数据信息，然后分多个segment保存数据信息，同一个segment有相同的前缀文件名。
对于每一个段，包含域信息，词信息，以及其他信息(标准化因子，删除文档)域信息也包括域的元数据信息，在fnm中，域的数据信息，在fdx，fdt中。
 词信息是反向信息，包括词典(tis, tii)，文档号及词频倒排表(frq)，词位置倒排表(prx)。
大家可以通过看源代码，相应的Reader和Writer来了解文件结构，将更为透彻。]]></description>
      <pubDate><![CDATA[Tue, 08 May 2012 23:20:09 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene删除文档文件(del)]]></title>
      <link><![CDATA[http://www.jqpress.com/post/168.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/168.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[被删除文档文件(Deleted Document File: .del)
Format：在此文件中，Bits和DGaps只能保存其中之一，-1表示保存DGaps，非负值表示保存Bits。
 ByteCount：此段中有多少文档，就有多少个bit被保存，但是以byte形式计数，也即Bits的大小应该是byte的倍数。
BitCount：Bits中有多少位被至1，表示此文档已经被删除。
 Bits：一个数组的byte，大小为ByteCount，应用时被认为是byte*8个bit。
DGaps：如果删除的文档数量很小，则Bits大部分位为0，很浪费空间。DGaps采用以下的方式来保存稀疏数组：比如第十，十二，三十二个文档被删除，于是第十，十二，三十二位设为1，DGaps也是以byte为单位的，仅保存不为0的byte，如第1个byte，第4个byte，第1个byte十进制为20，第4个byte十进制为1。于是保存成DGaps，第1个byte，位置1用不定长正整数保存，值为20用二进制保存，第2个byte，位置4用不定长正整数保存，用差值为3，值为1用二进制保存，二进制数据不用差值表示。]]></description>
      <pubDate><![CDATA[Tue, 08 May 2012 23:13:54 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene标准化因子文件(nrm)]]></title>
      <link><![CDATA[http://www.jqpress.com/post/167.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/167.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[为什么会有标准化因子呢？从第一章中的描述，我们知道，在搜索过程中，搜索出的文档要按与查询语句的相关性排序，相关性大的打分(score)高，从而排在前面。相关性打分(score)使用向量空间模型(Vector Space Model)，在计算相关性之前，要计算Term Weight，也即某Term相对于某Document的重要性。在计算Term Weight时，主要有两个影响因素，一个是此Term在此文档中出现的次数，一个是此Term的普通程度。显然此Term在此文档中出现的次数越多，此Term在此文档中越重要。]]></description>
      <pubDate><![CDATA[Tue, 08 May 2012 22:51:07 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene词位置(prx)信息]]></title>
      <link><![CDATA[http://www.jqpress.com/post/166.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/166.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[lucene词位置信息也是倒排表，也是以跳跃表形式存在的。]]></description>
      <pubDate><![CDATA[Sun, 06 May 2012 23:00:36 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[屌丝IT男]]></title>
      <link><![CDATA[http://www.jqpress.com/post/165.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/165.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[若有所思]]></category>
      <description><![CDATA[偶尔翻到豆瓣里一篇对中国屌丝的批评，突然想到当年美国那个垮掉的一代，吸毒，淫乱，绝望的生存，而如今我们苦逼的80后自诩为屌丝的时候，也不想想每一个堕落的时代还是有牛逼的人存在，中国的大学，绝大部分在逃课，生殖冲动，暗无天日的游戏，苦逼学习的几乎是不入群，悲观消极的情绪像哈欠一样传染着每一个容易被感染的苦逼青年。毕业后即失业，人生没有方向，更无从理想了，傻逼的政府不知道怎么搞教育，造就了一群乌合之众的国家，纵使在这样的环境下，还是有人为理想奋斗着，每一天在充实，相信总有一天会有自己出头的。

我不吸毒，不喝酒，不打游戏，不搞乌烟瘴气的社会关系，在苦逼的it路上挨踢，虽然天资和能力都进不了微软google之类的公司，每天在自己既定的方向一步步前进。做着自己喜欢做的事情，认真做好每一件事情。摆脱虚伪的自我，既敢为了感情牺牲失业，又要做到掌握自己人生的方向，拒绝屌丝的自嘲，拒绝屌丝的人生。

当明白一切时，秋叶已泛黄，在收获的季节里播种，是期望下一个春天还是奢望冬天来临时那无几的颗实，纵使如此，朝闻道夕可死。]]></description>
      <pubDate><![CDATA[Sun, 06 May 2012 16:31:01 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene文档号及词频(frq)信息]]></title>
      <link><![CDATA[http://www.jqpress.com/post/164.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/164.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[文档号及词频文件里面保存的是倒排表，是以跳跃表形式存在的。]]></description>
      <pubDate><![CDATA[Fri, 04 May 2012 23:44:13 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene文件格式-反向索引，词典及词典索引]]></title>
      <link><![CDATA[http://www.jqpress.com/post/163.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/163.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[反向信息是索引文件的核心，也即反向索引。

反向索引包括两部分，左面是词典(Term Dictionary)，右面是倒排表(Posting List)。]]></description>
      <pubDate><![CDATA[Wed, 02 May 2012 23:20:35 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene词向量(Term Vector)的数据信息(.tvx ,.tvd,.tvf)]]></title>
      <link><![CDATA[http://www.jqpress.com/post/162.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/162.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[ 词向量信息是从索引(index)到文档(document)到域(field)到词(term)的正向信息，有了词向量信息，我们就可以得到一篇文档包含那些词的信息。]]></description>
      <pubDate><![CDATA[Wed, 02 May 2012 22:58:00 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene域的(Field)的数据信息(.fdt,.fdx)]]></title>
      <link><![CDATA[http://www.jqpress.com/post/161.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/161.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[域数据文件(fdt):
 真正保存存储域(stored field)信息的是fdt文件
在一个段(segment)中总共有segment size篇文档，所以fdt文件中共有segment size个项，每
一项保存一篇文档的域的信息
对于每一篇文档，一开始是一个fieldcount，也即此文档包含的域的数目，接下来是fieldcount
个项，每一项保存一个域的信息。]]></description>
      <pubDate><![CDATA[Wed, 02 May 2012 22:13:50 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene域(Field)的元数据信息(.fnm)]]></title>
      <link><![CDATA[http://www.jqpress.com/post/160.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/160.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[一个段(Segment)包含多个域，每个域都有一些元数据信息，保存在.fnm文件中]]></description>
      <pubDate><![CDATA[Fri, 27 Apr 2012 23:22:15 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[lucene--文件格式3]]></title>
      <link><![CDATA[http://www.jqpress.com/post/159.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/159.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[◦ HasSingleNormFile
▪ 在搜索的过程中，标准化因子(Normalization Factor)会影响文档最后的评分。
▪ 不同的文档重要性不同，不同的域重要性也不同。因而每个文档的每个域都可以有自己
的标准化因子。
▪ 如果HasSingleNormFile为1，则所有的标准化因子都是存在.nrm文件中的。
▪ 如果HasSingleNormFile不是1，则每个域都有自己的标准化因子文件.fN
◦ NumField
▪ 域的数量
◦ NormGen
▪ 如果每个域有自己的标准化因子文件，则此数组描述了每个标准化因子文件的版本号，
也即.fN的N。
◦ IsCompoundFile
▪ 是否保存为复合文件，也即把同一个段中的文件按照一定格式，保存在一个文件当中，
这样可以减少每次打开文件的个数。
▪ 是否为复合文件，由接口IndexWriter.setUseCompoundFile(boolean)设定。]]></description>
      <pubDate><![CDATA[Fri, 27 Apr 2012 23:00:59 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[Lucene索引删除详解]]></title>
      <link><![CDATA[http://www.jqpress.com/post/158.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/158.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[关于代码]]></category>
      <description><![CDATA[lucene的索引文件很复杂，这里只做一个简单的分析]]></description>
      <pubDate><![CDATA[Fri, 27 Apr 2012 22:53:01 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[关于蛋生鸡鸡生蛋的问题]]></title>
      <link><![CDATA[http://www.jqpress.com/post/157.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/157.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[若有所思]]></category>
      <description><![CDATA[听说最近鸡不生蛋了，直接生小鸡了，这个现象完美的解决了先有鸡还是先有蛋的问题了。从进化论的角度来说应该是现有鸡的，鸡是胎生，但是胎生对鸡这种动物来说生存率太小了，偶然有一个鸡下蛋了，不想在肚子里怀胎20天了，直接把蛋下载窝里，一次能孵出好多个小鸡呢，这样反复，下蛋的小鸡越来越多，胎生的鸡获得交配和繁殖的机会越来越少，最后干脆都下蛋得了，例如恐龙大部分也是卵生，卵生能提高种群的繁衍能力，但是却很难提高物种的胎儿营养，智商自然不高，所以最终胎生动物通过智商主宰了世界，但是为了平衡食物链，卵生动物并没有消失，动物，植物，卵生，胎生，其实都是这个世界不可或缺的部分。]]></description>
      <pubDate><![CDATA[Fri, 27 Apr 2012 00:11:05 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[又一次看完三傻大闹宝莱坞]]></title>
      <link><![CDATA[http://www.jqpress.com/post/156.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/156.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[若有所思]]></category>
      <description><![CDATA[经典的影片总是能看好几遍，中国的学生应该最需要看这部电影，人生不需要刻意的去追求，用心的去完善和热爱就够了，不活在未来的恐惧中，也不活在当前的虚伪中。虽然我们羡慕主角的成功，成功才更有说服力，但是更应该羡慕他的心态，心是手中的沙子，小心的去呵护。

每一次走在纠结的关头都会让人思考很多，已经经历过工作后的2次失败了，第三次的失败就在眼前，回想起来，每一次都和自己相关，每一次死去活来，即使这一次失败了，也不会计较太多得失了，别人的成功与我无关。但又不想为了别人的成功而牺牲自己，或者不想害怕别人的失败而做自己不愿做的事情。

如今还没有到终点，就像以前一样，一切都会过去，不管怎样的过去。]]></description>
      <pubDate><![CDATA[Thu, 26 Apr 2012 23:58:11 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[又读阿甘正传]]></title>
      <link><![CDATA[http://www.jqpress.com/post/155.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/155.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[若有所思]]></category>
      <description><![CDATA[不记得第一次看这部电影的具体时间了，应该是在大学看的，大学之前几乎没怎么看过电影，无非是国产的一些武侠片，上大学的好处还是挺多的，可以看电影，谈恋爱，泡网吧，逃课，有趣的没趣的活动，如果想学习没人会拦你。犹如阿甘爱的女人珍妮所说的，我的生活一塌糊涂，她是追求金钱，名利。我在追求什么呢，想了解每件事情，追求成功，依然一塌糊涂。努力的选择自己的人生，却一错再错，虚伪的炫耀，得到的是残忍的回报，也许我的智商高于75，那又如何呢，尝遍了每一颗巧克力，却又没能理解哪一颗的味道。死亡离我不是太远，童年仿佛又在眼前，是刻意追求人生的名利重要还是认真的对待每一件事情重要，这一生到底要怎样过，这一生也许都要在思考。

阿甘对珍妮的爱情是童话，童话是大人用来骗小孩子的，自己却做着龌龊的勾当，而我一直在努力的追求，无论贫穷富贵，不放弃，不抛弃。名利不厌恶也不热爱，我成为谁不重要，重要的是我是自己，做我自己。

佛说无欲则刚，阿甘是个好例子，不需要太多欲望，做好自己就够了。

人生就是一盒巧克力，没有那一颗味道一样，也不知道下一颗味道怎么样，在乎每一颗的味道。]]></description>
      <pubDate><![CDATA[Wed, 25 Apr 2012 23:34:36 GMT]]></pubDate>
    </item>
        <item>
      <title><![CDATA[我的父亲母亲——任正非(转载)]]></title>
      <link><![CDATA[http://www.jqpress.com/post/154.aspx]]></link>
      <guid><![CDATA[http://www.jqpress.com/post/154.aspx]]></guid>
      <author><![CDATA[robotbird]]></author>
      <category><![CDATA[若有所思]]></category>
      <description><![CDATA[这是我一生中最大的憾事&mdash;&mdash;如果8日上午我真给母亲打了电话，拖延她一两分钟出门，也许她就躲过了这场灾难&hellip;&hellip; 　　上世纪末最后一天，我总算良心发现，在公务结束之后，买了一张从北京去昆明的机票，去看看妈妈。买好机票后，我没有给她电话，我知道一打电话她一下午都会忙碌，不管多晚到达，都会给我做一些我小时候喜欢吃的东西。直到飞机起飞，我才告诉她，让她不要告诉别人，不要车来接，我自己坐出租车回家，目的就是好好陪陪她。前几年我每年也去看看妈妈，但一下飞机就给办事处接走了，说这个客户很重要，要拜见一下，那个客户很重要，要陪他们吃顿饭，忙来忙去，忙到上飞机时回家]]></description>
      <pubDate><![CDATA[Mon, 23 Apr 2012 23:31:43 GMT]]></pubDate>
    </item>
      </channel>
</rss>

