ElasticSearch&Lucene搜索引擎

Lucene基础篇-初识Lucene

2018-05-06  本文已影响33人  留两口

初识Lucene

Lucene

一般来说,在学习一样东西的时候,总是遵循一定的过程:是什么、为什么、怎么做。

作为Lucene的简介,本文介绍Lucene是什么、为什么使用Lucene以及都有谁在使用Lucene这三个部分。

是什么

Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

Lucene最初是由Doug Cutting所撰写的,是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎的主要开发者,后来在Excite担任高级系统架构设计师,目前从事 于一些INTERNET底层架构的研究。他贡献出Lucene的目标是为各种中小型应用程式加入全文检索功能。

以上摘自开源中国对Lucene的介绍

Lucene是一款高性能、可扩展的信息检索(IR,Information Retrieval)工具库,它实现了索引、分词、检索、评分等搜索引擎的核心功能。具有如下特点:

为什么

在Lucene之前,数据存储和搜索的功能要依赖传统的关系型数据库。

以MySQL为例,当单表数据量达到千万级别时,性能会出现断崖式的下降。并且,MySQL在应对全文检索、拼写检查、相关推荐等现代搜索引擎需求时,就显得力不从心:不仅仅性能比较低,而且实现起来需要具备较高的专业性,复杂度较高。

而Lucene通过简单易用的API,向上层应用屏蔽了复杂的索引和搜索实现。

谁在用

前面说过,Lucene只是一个全文检索引擎工具包,并不是一个完整的搜索应用程序,使用成本稍高。所以有了ElasticsearchSolr等基于Lucene的、应用更广泛的、开箱即用的搜索引擎应用。要说Lucene的使用,就离不开ElasticSearch和Solr。

如果你想在你的应用程序中嵌入搜索功能,可以放心地使用Lucene或者ElasticSearch、Solr,这些应用已经被广泛地使用和证明:

ElasticSearch使用案例 Solr使用案例
上一篇下一篇

猜你喜欢

热点阅读