Lucene到底是个什么东西

来源:互联网 发布:晨曦软件是什么 编辑:程序博客网 时间:2024/04/30 14:15
Lucene是个开源的搜索引擎,如果你的项目的一些信息需要被搜索,但又没有合适的搜索工具,那么你应该考虑使用它.

为什么我会使用这个玩意?
我的前一个项目是关于网络视频的,里面牵涉到对视频作搜索(废话), 主要是对视频的描述做一些灵活的搜索,起初我使用了MySql的全文索引,似乎事情到此截止了,但后来我发现
MySql全文索引对中文支持很差(也许是我对MySql没有很深入的研究导致的,大家可以关注海量科技对MySql的中文搜索支持,他们的玩意我没试过,不方便说三道四),于是我开始采用Lucene,在对Lucene的二次开发进行了一系列的改进之后达到我们COO的认同. 所以我向大家推荐这个玩意.

从开发
Lucene应用的角度来看:
Lucene的两大核心概念是索引和搜索.当然还有一个非常重要核心是词法分析,也就是所谓的切词技术.通常情况下,分析似乎是透明的,但在某些情况下你还得关注,如果
Lucene自带的分析器无法满足你的需求,可以考虑定制.Lucene提供了源代码,所以这使得定制分析器变得相对简单,前提是需要一些编译原理的基础或者说了解一点自动机,当然如果你够帅,前提也不存在.

Lucene的工作机制是它首先会为你的数据源(你得提供)建索引,然后在索引的基础上搜索. 中间包括建索引时的分析和搜索时的分析.

以上基本上是我对
Lucene的一个全局的认识.虽然很抽象,但很重要,你可以对这两点采用分而治之的方式逐个击破.

我对
Lucene的所有认识来自于Lucene in Action这本书和Lucene的源代码





原创粉丝点击