
信息检索与搜索引擎
ccnunlp
这个作者很懒,什么都没留下…
展开
-
【Lucene3.0 初窥】Lucene体系结构概述
Lucene的基本原理与《全文检索的基本原理》是差不多的。 Lucene的源码主要有7个子包,每个包完成特定的功能: 包名功能描述org.apache.lucene.analysis语言分析器,主要用于的切词,支持中文主要是扩展此类org.apache...2010-03-05 11:37:45 · 166 阅读 · 0 评论 -
【Lucene3.0 初窥】索引文件格式(2):文件结构总体框架
Lucene使用文件扩展名标识不同的索引文件。如.fnm文件存储域Fields名称及其属性,.fdt存储文档各项域数据,.fdx存储文档在fdt中的偏移位置即其索引文件,.frq存储文档中term位置数据,.tii文件存储term字典,.tis文件存储term频率数据,.prx存储term接近度数据,.nrm存储调节因子数据,另外segments_X文件存储当前最新索引片段的信息,其中X为...2010-05-02 16:44:09 · 157 阅读 · 0 评论 -
【Lucene3.0 初窥】索引文件格式(1):预备知识
注意,本专题内容参见《http://lucene.apache.org/java/3_0_1/fileformats.html》 深入了解Lucene的磁盘索引文件,可以使我们对IR系统底层数据存储结构有一个深刻的认识。在《索引文件格式》这一专题中,我们将详细探讨Lucene 3.0索引数据在磁盘上的存储格式,并通过一个实例进一步理解这些格式。但首先,我们必须准备点Luce...2010-05-02 16:26:28 · 146 阅读 · 0 评论 -
【Lucene3.0 初窥】索引文件格式(5):posting数据[.frq/.prx]
★ .frq 词语频率数据文件 .prx 词语位置数据文件 1、frq 保存了词语所在文档的文档列表(docID)和该词语出现在文档中的频率信息。 FreqFile (.frq) --> <TermFreqs, SkipData> ...2010-05-02 12:34:00 · 309 阅读 · 0 评论 -
【Lucene3.0 初窥】索引文件格式(4):dictionary数据[.tii/.tis]
Terms数据磁盘文件存储细节 从这篇开始,已经涉及到倒排索引表的信息存储问题了。我们都知道倒排索引表中的Dictionary有许多不同的terms组成,Lucene关于这些terms数据的存储,就放在磁盘的.tii和.tis文件中。 ★ .tii 词典索引文件 .tis 词典数据文件 1、tii 保存了tis中每隔...2010-04-30 10:57:01 · 268 阅读 · 0 评论 -
【Lucene3.0 初窥】索引文件格式(3):Field数据[.fdx/.fdt/.fnm]
注意:以下文章是参见http://lucene.apache.org/java/3_0_1/fileformats.html#Fields和实践中读取文件内容概括总结出来的。 Fields数据磁盘文件存储细节 Lucene 的数据域在内存中组织成Document和Field数据结构。每次建立索引的Document对象都可能拥有不同的Fields,而查询的时候...2010-04-23 15:12:08 · 304 阅读 · 0 评论 -
【Lucene3.0 初窥】索引创建(6):关闭IndexWriter
1.5 IndexWriter的关闭细节 IndexWriter索引器创建内存索引的整体流程在前几篇文章中已经详细阐述了,当我们利用IndexWriter创建完内存索引表之后,剩下的工作就只剩下关闭IndexWriter了。IndexWriter在关闭的时候除了清理内存中的对象之外,还有一个非常重要的工作,就是把内存要存储的信息(需要保存的Fields信息,倒排索引表等)写入Luc...2010-04-23 15:09:05 · 419 阅读 · 0 评论 -
【Lucene3.0 初窥】索引创建(4):DocumentWriter 处理流程三
上接《索引创建(3):DocumentWriter 处理流程二》 1.3.3 第三车间——TermsHashPerField & FreqProxTermsWriterPerField TermsHashPerField和FreqProxTermsWriterPerField负责将token信息(字符串内容termTest,所在文...2010-04-15 15:36:35 · 242 阅读 · 0 评论 -
【Lucene3.0 初窥】索引创建(5):索引数据池及内存数据细节
上接《索引创建(2):DocumentWriter处理流程三》 1.4 索引数据池存储细节 倒排索引(token->posting list)表的数据信息在内存中并不是直接存储在postingsHash中的,而是存放在三大数据缓冲池中——CharBlockPool,ByteBlockPool,IntBlockPool。这三个池均都由若干个固定长...2010-04-13 13:50:19 · 268 阅读 · 0 评论 -
【Lucene3.0 初窥】索引创建(3):DocumentWriter 处理流程二
上接《索引创建(2):DocumentWriter处理流程一》 1.3.2 第二车间——DocInverterPerField DocInverterPerField 负责对DocFieldProcessorPerThread对象的Fieldable[]数组的内容建立倒排索引,也就是处理同名字的所有Field。但实际上这个类主要解决的是前期工作,比如分词,统计位置...2010-04-10 10:27:43 · 196 阅读 · 0 评论 -
【Lucene3.0 初窥】索引创建(2):DocumentWriter 处理流程一
上接《索引创建(1): IndexWriter索引器》 1.3 索引创建过程 DocumentsWriter是由IndexWriter调用来负责对多个document建立索引的核心类,但整个索引过程并不是由一个对象来完成的。而是有一系列的对象组成的处理链(IndexingChain)来完成的(这个过程就像流水线生产汽车)。下面是DocumentWriter开...2010-04-08 21:55:09 · 171 阅读 · 0 评论 -
【Lucene3.0 初窥】索引创建(1):IndexWriter索引器
《Lucene索引创建》系列文章将从源代码出发,详细揭示Lucene两大功能之一的索引创建过程。并阐述其中所用到的信息检索的相关技术。由于Lucene是基于多线程的,为了能够简洁明了的说明Lucene索引创建的过程,我们尽量会绕开Lucene多线程机制的处理细节。 1.1 准备工作 我们对content目录中1.txt、2.txt、3.txt这三个英文文档的文件名,路径...2010-04-07 19:11:58 · 184 阅读 · 0 评论 -
【Lucene3.0 初窥】数据源内存组织结构—Document/Field
在检索数据的时候,我们很希望可以检索出数据源的各种信息。就比如检索磁盘文件,可以检索出文件的路径,名字, 内容,修改时间等等。再比如检索图书的书号、书名、作者、出版时间.... Lucene是如何组织这些数据源的不同属性信息呢? Lucene 数据源组织结构 org.apache.lucene.document包中有两个很重要的类:Document...2010-04-07 16:45:06 · 192 阅读 · 0 评论 -
【Lucene3.0 初窥】文本分析器Analyzer
一个优秀的IR system要做好的第一件事就是利用自然语言处理技术(NLP)对文本进行分析。其中分词是最基本的,其性能直接决定IR system的搜索精度和速度。因此,大型Web搜索引擎都有自己的分词工具。 Lucene3.0 的分析器由三个包组成:(1) org.apache.lucene.analysis 是Lucene分析器的基本结构包。包含了分析器最底层的结构...2010-04-06 14:58:14 · 200 阅读 · 0 评论 -
《Introduce to IR》索引创建
该系列文章是《An Introduce to Information Retrieval》Chapter 4 的读书笔记。 对于大规模数据的信息检索,倒排索引的建立其实并没有想象中的那么简单。在实际应用中,倒排索引的建立算法必须考虑到硬件的约束。可以这样说:计算机硬件的参数性能是促动IR系统的设计发展的决定因素。 索引创建(Index construction...2010-04-03 10:41:54 · 147 阅读 · 0 评论 -
《Introduce to IR》布尔检索模型
该系列文章是《An Introduce to Information Retrieval》Chapter 1 的读书笔记。 IR的概念很广泛,即使从钱包中拿出一张信用卡并输入卡号也是一种形式的信息检索。在学术领域,我们这样定义IR: 信息检索(IR)就是一种从大量数据集合中(通常指存储在计算机中文档)寻找满足信息需求的非结构化(通常指文本)得数...2010-03-18 09:33:53 · 238 阅读 · 0 评论 -
【Lucene3.0 初窥】全文检索的基本原理
全文转载:http://blog.youkuaiyun.com/forfuture1978/archive/2009/10/22/4711308.aspx作者:forfuture1978 (from 优快云) 我们都知道,Lucene是一个开放源代码的全文检索引擎工具包。那么全文检索到底是什么?这要从我们生活中的数据说起。...2010-03-04 16:01:04 · 178 阅读 · 0 评论