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

Lucene是Java的全文检索引擎框架,常用于嵌入式应用系统中提供检索功能。它能处理结构化、非结构化和半结构化数据,并通过建立索引来提升检索速度。MongoDB则侧重于大型文件的管理,而Lucene基于索引进行检索。Lucene的核心概念包括索引管理和分词器。未来将从代码层面深入学习Lucene。

一、什么是Lucence:

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


二、数据处理概览:

     结构化数据:

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

    非结构化数据:

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

    半结构化数据:

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

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


 三、MongoDB和Lucence:

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


四、Lucence结构图示:

    1、业务交互图:


2、概念图:


3、结构图:


4、系统集成应用图:



五、Lucence核心概念:

     索引:

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


    分词器:

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


    关于爬虫的说明:

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

   

六、总结:

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

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

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


评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值