Elasticsearch

Elasticsearch是一个开源的 高扩展的 分布式 全文检索引擎。

可以把ES与MYSQL类比,它是一个具有强大搜索能力的数据存储应用。(但是,对于Txn没有很好的处理能力,即读强写弱)

Elasticsearch v.s. MYSQL

Elasticsearch  --   MySQL
---------------------------------------
Index          --   Database
Type           --   Table
Document       --   Row
Field          --   Column
Mapping        --   Schema
Query DSL      --   SQL
GET http://    --   SELECT * FROM ...
PUT http://    --   UPTABLE TABLE SET ...

应用

Elasticsearch 一个典型应用就是 ELK 日志分析系统。

  1. 新浪ES 如何分析处理32亿条实时日志 http://dockone.io/article/505
  2. 阿里ES 构建挖财自己的日志采集和分析体系 http://afoo.me/columns/tec/logging-platform-spec.html

ELK

ELK = Elasticsearch + Logstash + Kibana

ELK架构为数据分布式存储、可视化查询和日志解析创建了一个功能强大的管理链。 三者相互配合,取长补短,共同完成分布式大数据处理工作。

实战

安装

启动

Add

PUT http://localhost:9200/movies/movie/1
{
    "title": "The Godfather",
    "director": "Francis Ford Coppola",
    "year": 1972
}

Update

PUT http://localhost:9200/movies/movie/1
{
    "title": "The Godfather",
    "director": "Francis Ford Coppola",
    "year": 1972,
    "genres": ["Crime", "Drama"]
}

Query

GET http://localhost:9200/movies/movie/1

Delete

DELETE http://localhost:9200/movies/movie/1
Fork me on GitHub