摘要: AnalysisAnalysis模块主要提供了文本解析的功能,输入为TextReader的字符流,最终解析成TokenStream形式的结果返回给调用端。由前文的NLucene架构图可以看出,Analysis主要为Index和QueryParser模块提供解析服务,分别是在Indexing原始文件和解析搜索语句中的Term的过程中。要了解这个包,首先需要明确几个概念:Ø Token:&#... 阅读全文
posted @ 2006-12-15 23:47 Anders.Lee 阅读(555) 评论(1) 推荐(0) 编辑
摘要: Document一个Document由一系列Field组成,每个Field都是一个<Name, Value>对。顾名思义,这个名值对中的Name就是域名,比如:Title, Body, Subject, Date, etc. Value是一个Text文本。 Field值可以被存储(Stored)、索引(Indexed)以及分析(Analyzed)。其中Field包括四种类型: 类型 说... 阅读全文
posted @ 2006-12-15 23:26 Anders.Lee 阅读(421) 评论(0) 推荐(0) 编辑
摘要: Data Flow NLucene内部的数据流图如下所示,共包含了4种数据流格式:分别是文本流、Token流、字节流与查询语句对象流。文本流表示了对于索引目标和交互控制的抽象,即用文本流表示了将要索引的文件,用文本流向用户输出信息;在实际的实现中,NLucene中的文本流采用了UCS-2作为编码,以达到适应多种语言文字的处理的目的。Token流是NLucene内部所使用的概念,是对传统文字中的词的... 阅读全文
posted @ 2006-12-15 23:18 Anders.Lee 阅读(678) 评论(0) 推荐(0) 编辑
摘要: ArchitectureNLucene的Architecture如下图所示:从图中我们清楚的看到,NLucene的系统由基础结构封装、索引核心、对外接口三大部分组成。其中直接操作索引文件的索引核心又是系统的重点。Lucene的将所有源码分为了7个模块,各个模块所属的系统部分也如上图所示。需要说明的是QueryPaser是做为Search的语法解析器存在,不被系统之外实际调用,因此这里没有当作对外接... 阅读全文
posted @ 2006-12-15 22:49 Anders.Lee 阅读(925) 评论(0) 推荐(0) 编辑
摘要: DefinitionLucene是Apache软件基金会Jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索... 阅读全文
posted @ 2006-12-15 22:33 Anders.Lee 阅读(659) 评论(0) 推荐(0) 编辑