个人简介

Echo Blog


江湖无名 安心练剑
  • Lucene code-04-Lucene 的索引文件格式其他内容
    4.3.1. 标准化因子文件(nrm) 为什么会有标准化因子呢? 从第一章中的描述,我们知道,在搜索过程中,搜索出的文档要按与查询语句的相关性排序,相关性大的打分(score)高,从而排在前面。 相关性打分(score)使用向量空间模型(Vector Space Model),在计算相关性之前,要计算 Term Weight,也即某 Term 相对于某 Document 的重要性。 ...
    2022-01-29 13:01:55 | Lucene
  • Lucene code-03-Lucene 的索引文件格式反向内容
    反向信息 反向信息是索引文件的核心,也即反向索引。 反向索引包括两部分,左面是词典(Term Dictionary),右面是倒排表(Posting List)。 在 Lucene 中,这两部分是分文件存储的,词典是存储在 tii,tis 中的,倒排表又包括两部分,一部分是文档号及词频,保存在 frq 中,一部分是词的位置信息,保存在 prx 中。 Term Dicti...
    2022-01-29 13:01:55 | Lucene
  • Lucene code-02-Lucene 的索引文件格式具体正向内容
    具体格式 上面曾经交代过,Lucene 保存了从 Index 到 Segment 到 Document 到 Field 一直到 Term 的正向信息,也包括了从 Term 到 Document 映射的反向信息,还有其他一些 Lucene 特有的信息。 下面对这三种信息一一介绍。 4.1. 正向信息 Index –> Segments (segments.gen, segment...
    2022-01-29 13:01:55 | Lucene
  • Lucene code-01-Lucene 的索引文件格式
    Lucene 的索引文件格式 Lucene 的索引里面存了些什么,如何存放的,也即 Lucene 的索引文件格式,是读懂 Lucene源代码的一把钥匙。 当我们真正进入到 Lucene 源代码之中的时候,我们会发现: (1)Lucene 的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。 (2)Lucene 的搜索过程,就是按照此文件格式将索引进去的信息读出来,然...
    2022-01-29 13:01:55 | Lucene
  • Lucene in action-10-index format 文件索引格式
    Lucene 的索引 到目前为止,我们一直把 Lucene 的索引或多或少地当作一个黑盒来对待,并且把注意力放在它的逻辑视图上。虽然如果只是为了使用 Lucene, 可能没有必要去深入理解索引结构的细节,但是你可能对 Lucene 索引的“魔力”非常好奇。 Lucene 的索引结构是对它本身高效数据结构、性能最大化和资源使用最小化之间巧妙安排(arrangement) 的一个个案研究。 ...
    2022-01-10 13:01:55 | Lucene
  • Lucene in action-09-define 自定义
    扩展功能点 通过前面几章中关于搜索内容的介绍,你可能会以为本书有关搜索的话题已经结束了。其实不然,在本章中我们将继续讲述此主题的内容。 在前面的第3章和第5章,我们分别讨论了 Lucene 基本的内置搜索功能以及在这些功能之上的一些更高级的搜索特性。 在这两章中,我们只探究了 Lucene 的内置特性。 除此之外, Lucene 还具有一些令人叫绝的扩展功能点。 首先,我们介绍第一...
    2022-01-10 13:01:55 | Lucene
  • Lucene in action-08-sort 排序
    排序 很多使用 Lucene 米实现搜索功能的应用程序都可以利用第三章中介绍的 API 来完成。 但是有些项目单靠前面介绍的基本搜索机制仍然无法实现其功能。 因此在本章中,我们将进一步介绍 Lucene 中更多更为复杂的内置搜索功能。 PhrasePrefixQuery 和 MultiFieldQueryParser这两个类为我们引出了本章要介绍的Lucene 附加的内置功能。 如...
    2022-01-10 13:01:55 | Lucene
  • Lucene in action-07-analysis 分析
    分析 分析(Analysis), 在 Lucene 当中指的是将域(Field) 文本转换为最基本的索引表示单元——-项(Term)的过程。 在搜索过程中,这些项用于决定什么样的文档能匹配查询条件。 例如,如果这句话“For example. if this sentence were indexed into a field”被索引到一个域(Field)中(假设域类型为 Field....
    2022-01-10 13:01:55 | Lucene