分类:ElasticSearch

来自Wikioe
Eijux讨论 | 贡献2023年3月31日 (五) 22:24的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索


ElasticSearch笔记本

关于

Elasticsearch是一个实时分布式和开源的全文搜索和分析引擎。 它可以从RESTful Web服务接口访问,并使用模式少JSON(JavaScript对象符号)文档来存储数据。它是基于Java编程语言,这使Elasticsearch能够在不同的平台上运行。使用户能够以非常快的速度来搜索非常大的数据量。

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

应用场景

  1. 各种搜索场景,例如:订单搜索、商品搜索。
  2. 日志处理和分析,例如:通过ELK搭建日志处理和分析方案。
  3. 地理空间数据搜索,例如:查询距离最近的店铺、查询某个空间范围内的店铺。

客户端支持

  1. 因为 Elasticsearch 支持 RESTful 风格的 API, 协议使用的是JSON,所以我们可以直接通过 HTTP API 操作 Elasticsearch。
  2. 除了直接通过 HTTP API 操作 ES,Elasticsearch 还支持下面各种开发语言封装的客户端:
    • curl
    • c#
    • go
    • php
    • java
    • python
    • ruby
    • sql:ES支持SQL查询,意味着我们可以使用SQL语句查询ES的数据。

ELK

经常见到的 ELK,代表了 Elasticsearch + Logstash + Kibana 三套软件,他们的作用如下:

  1. Elasticsearch:前面简介提到过,解决海量数据搜索问题。
  2. Logstash:解决数据同步问题,因为我们数据一般存储在 Mysql 之类的数据库中,需要将数据导入到 ES 中,Logstash 就支持数据同步、数据过滤、转换功能。
  3. Kibana:Elasticsearch 数据可视化支持,例如:通过各种图表展示 ES 的查询结果,也可以在 Kibana 通过 ES 查询语句分析数据,起到类似 ES Web 后台的作用。

参考

  1. Elasticsearch: 权威指南【官方文档】
    • (《Elasticsearch: 权威指南》已加入购物车)
  2. 梯子教程网:Elasticsearch 教程
  3. 梯子教程网:Java Elasticsearch 教程
  4. 阮一峰的网络日志
  5. CSDN:Elastic 中国社区官方博客(系列文章)

子分类

本分类有以下2个子分类,共有2个子分类。

E

J