全文检索lucence(一)——基本原理

一、什么是Lucence:

    是java的一个全文检索的引擎框架框架,可以像jbpm工作流一样,嵌入到各种应用系统中,提供检索的功能。


二、数据处理概览:

     结构化数据:

       具有固定长度、固定格式:sql、mysql、Oracle处理的数据。

    非结构化数据:

        没有固定的格式、长度:Word、邮件等

    半结构化数据:

        xml、html等,可以抽离出后,按照结构化数据处理。

    因为关系数据具有稳定结构的关系,所以,可以统一进行管理,而且效率也比较高;在非结构化数据方面,也可以寻找一种方法,对数据弄的比较有规律,从而提高检索速度,这个策略就是建立索引。


 三、MongoDB和Lucence:

    Lucence除了可以对文档标题进行检索外,还可以对文档内容进行检索。MongoDB的实现是将文档的内容作为key,value的形式保存,MongoDB重点是对单个大型文件(文档、音频、视频)等的处理,机制类似sql对数据的管理。Lucence是基于索引的检索过程。


四、Lucence结构图示:

    1、业务交互图:

全文检索lucence(一)——基本原理_第1张图片

2、概念图:

全文检索lucence(一)——基本原理_第2张图片

3、结构图:

全文检索lucence(一)——基本原理_第3张图片

4、系统集成应用图:

全文检索lucence(一)——基本原理_第4张图片


五、Lucence核心概念:

     索引:

        全文检索的一个重要核心就是索引的管理,包括索引库的建立和索引目录的维护。

全文检索lucence(一)——基本原理_第5张图片

    分词器:

        建立索引和检索的必须是同一个分词器。

全文检索lucence(一)——基本原理_第6张图片

    关于爬虫的说明:

    在Internet上采集信息的软件成为爬虫或者蜘蛛,爬虫在Internet上访问每一个网页,每访问一个网页就把其中的内容传回到本地服务器。

   

六、总结:

    这里简单概要的说明Lucence可以解决的问题,然后又对Lucence的结构、核心部分、以及业务集成关系,通过图片做了个简要的展示。

    有了这些概要的全局概览,接下来就从java代码层面逐步学习和接触Lucence。

    Lucence是当前大数据处理的一个基础,另外,关于数据检索还有视频格式的检索,还有一些基于语义分析的检索,和Lucence是并列关系,不是这里重点学习的内容。


你可能感兴趣的:(全文检索lucence(一)——基本原理)