03 2014 档案

摘要:Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。当我们真正进入到Lucene源代码之中的时候,我们会发现:Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。本文详细解读了Apache Lucene - Index File Formats(http://lucene.apache.org/java/2_9_0/fileformats.html) 这篇文章。一、基本概念下图就是Lucene生成 阅读全文
posted @ 2014-03-03 20:00 塞北鸿雁飞 阅读(306) 评论(0) 推荐(0)
摘要:Lucene总的来说是:一个高效的,可扩展的,全文检索库。全部用Java实现,无须配置。仅支持纯文本文件的索引(Indexing)和搜索(Search)。不负责由其他格式的文件抽取纯文本文件,或从网络中抓取文件的过程。在Lucene in action中,Lucene 的构架和过程如下图,说明Lucene是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点。让我们更细一些看Lucene的各组件:被索引的文档用Document对象表示。IndexWriter通过函数addDocument将文档添加到索引中,实现创建索引的过程。Lucene的索引是应用反向索引。当用户有请求时,Query代表 阅读全文
posted @ 2014-03-02 21:33 塞北鸿雁飞 阅读(581) 评论(0) 推荐(0)
摘要:一、总论根据http://lucene.apache.org/java/docs/index.html定义:Lucene是一个高效的,基于Java的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据和非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。当然有的地方还会提到第三种,半结构化数据,如XML,HTML等,当根据需要可按结构化数据来处理,也可抽取出纯文本按非结构化数据来处理。非结构化数据 阅读全文
posted @ 2014-03-02 21:26 塞北鸿雁飞 阅读(340) 评论(0) 推荐(0)