Elasticsearch简介

袁志蒙 1531次浏览

摘要:Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎, 国内简称ES,Elasticsearch是用java开发的,底层基于Lucene, Lucene是一种全文检索的搜索库...

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎, 国内简称ES,Elasticsearch是用java开发的,底层基于Lucene, Lucene是一种全文检索的搜索库,直接使用Lucene还是比较麻烦的,Elasticsearch在Lucene的基础上开发了一个强大的搜索引擎。

ELK

大家估计都经常见到ELK这个关键词,他其实代表了Elasticsearch + Logstash + Kibana 三套软件,他们的作用如下:

Elasticsearch - 前面简介提到过,解决海量数据搜索问题。

Logstash - 解决数据同步问题,因为我们数据一般存储在Mysql之类的数据库中,需要将数据导入到ES中,Logstash就支持数据同步、数据过滤、转换功能。

Kibana - Elasticsearch数据可视化支持,例如:通过各种图表展示ES的查询结果,也可以在Kibana通过ES查询语句分析数据,起到类似ES Web后台的作用。

应用场景:

各种搜索场景,例如:订单搜索、商品搜索。

日志处理和分析,例如:通过ELK搭建日志处理和分析方案。

地理空间数据搜索,例如:查询距离最近的店铺、查询某个空间范围内的店铺。


多种客户端支持:

因为Elasticsearch支持RESTful风格的Api, 协议使用的是JSON,所以我们可以直接通过http api操作Elasticsearch,除了直接通过http api操作ES,Elasticsearch还支持下面各种开发语言封装的客户端:

curl

c#

go

php

java

python

ruby

sql - 你没看错,ES支持SQL查询,意味着我们可以使用SQL语句查询ES的数据


随机内容

表情

共1条评论
  • 网友评论:

    期待可以打补丁增加这个全文搜索功能

    2021-12-24 11:51:27 回复

    点击加载