Lucene简介

大家都知道 LuceneApache软件基金会jakarta项目组的一个子项目。跟Solr Nutch一样,它们属于Apache下面的子妹项目。前面好多同学都说过了它们间的一些关系,我在重复一下,首先Solr Nutch 都是基于Lucene的, 具体的说就是基于LuceneSearcherIndexing。而跟LuceneSolr提供了一些特性的功能,针对一个企业级解决方案,同时LuceneNutch的核心部分,但是单单使用Lucene是不能实现搜索引擎的,它仅仅被称为全文检索工具,并没有实现相关网页爬虫(Crawler)的功能,而这个在Nutch中有体现。当然Lucene提供的索引和检索功能已经非常强大了,LuceneAPI接口设计得比较通用,输入输入结构都很像数据库的表、记录和字段,这使得Lucene和数据库的结合也比较紧密(只需要将读文件的过程转化成读数据库的过程就行了)

 

         Lucene的工作流程,如图所示:Lucene系统,功能强大,实现也比较复杂,但从根本上来说,主要包括两个主要功能: 1 建立索引库(将待索引的纯文本内容经切分词后的索引入库), 2 检索索引库(这是个Lucene的关键部分,Lucene还提供自己的排名机制,这个排名算法比较值得学习)。下面介绍一下Lucene工作流程中的几个比较重要的概念:

 

1.       Raw Content 这个就是原始的数据,如:文档中的数据或者数据库中的数据。

2.       Acquire Content 这个过程通常是通过crawler或者spider从原始数据获取一些需要被索引的内容(This process, which involves using a crawler or spider, gathers and scopes the content that needs to be indexed,上面说过Lucene并没有提供类似的功能,下面的一些项目中有提供:SolrNutchGrubDroidsApertureThe Google Enterprise Connector Manager Project.

3.       Build Document: 一旦获得需要被索引的原始数据后,是时候把这些内容转化成搜索引擎的单元(document)了,一个document一般表示为一个PDF文件或一个网页或者数据库表中的一行记录等。并且一个document会由多个fields组成,例如一篇文章,就有titlebodyabstractauthorurl等。由于document间的格式可能各不相同,所以有时候需要对document进行过滤,Apache Tika提供了相关功能。

4.       Analyze Document:学过编译原理的同学应该都知道token的概念,而这一个阶段就是将document转化成独立的多个tokens过程,Lucene提供了一组集成的analyzers,这样你就可以很好的控制这个分析的流程。

5.       Index Document Lucene建立索引的部分是Lucene中最精华的部分,一般最精华的当然也最难懂了,所以暂时知道这是建立索引的阶段就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值