一、简介

2017-11-27  本文已影响31人  茶铺里的水

1. 什么是elasticsearch

ElasticSearch是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

全文搜索属于最常见的需求,开源的Elasticsearch是目前全文搜索引擎的首选。
它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

突出的优点

2. 什么是Lucene

Lucene 是一个高效的,基于Java全文搜索库,提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。

突出的优点
Lucene作为一个全文检索引擎,其具有如下突出的优点:

3. 什么是全文搜索

我们生活中的数据总体分为两种:

按照数据的分类,搜索也就分为两种:

对非结构化数据也即对全文数据的搜索主要有两种方法:

全文检索过程

4. Elasticsearch与Solr

Solr是用Java编写、运行在Servlet容器(如 Apache Tomcat 或Jetty)的一个独立的全文搜索服务器。 Solr采用了 Lucene Java 搜索库为核心的全文索引和搜索,并具有类似REST的HTTP/XML和JSON的API。Solr强大的外部配置功能使得无需进行Java编码,便可对 其进行调整以适应多种类型的应用程序。Solr有一个插件架构,以支持更多的高级定制。

优点:

缺点:

综上,Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。

5. 使用案例:

  1. 维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。
  2. 英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。
  3. StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。
  4. GitHub使用Elasticsearch来检索超过1300亿行代码。
  5. 每天,Goldman Sachs使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。
  6. Sony公司使用elasticsearch 作为信息搜索引擎

以上来自参考:百度百科搜索引擎选型调研全文检索的基本原理

上一篇下一篇

猜你喜欢

热点阅读