Elasticsearch学习系列-入门介绍


elasticsearch是功能强大的基于Lucene实现的开源搜索引擎。
本文主要从以下个方面对其进行入门介绍。
推荐文档

使用场景和优势

  • 当我们的数据量非常大的时候,我们会考虑进行分库分表,但是分库分表需要考虑依赖拆分的字段,在某些场景下会很复杂。这时候es的优势可以体现出来:
    支持PB级数据的高效存取;
  • 当我们的业务数据结构很复杂,表之间的关联关系在关系型数据库中表达困难,表之间的关联错综复杂,我们可以考虑es:他可以以json形式存储结构化和非结构化的数据;
  • 此外他还是实时文件存储,支持实时分析搜索;

如何使用

  • elasticsearch的使用非常简单。在本地可以很轻松的搭建起来。下面列出简单的步骤(如windows本地)
    • 下载地址下载对应的包,如windows下的biz包
    • 下载后解压出来,点击es/bin/下的elasticsearch.bat(linux下执行bin/elasticsearch,可参考
    • 打开本地:http://localhost:9200/ 看到正确的json,即安装运行成功
  • 向es内存取数据(具体的字段说明下一节说明)
    • post保存数据
    • get查询数据

基本概念说明

  • elasticsearch提供了非常好用的restful api操作数据,如上节我们看到的get post,还有put delete等简单操作;
  • 这里需要对elasticsearch的一些基本概念介绍下:
    • index:索引,是elasticsearch存储数据的逻辑区域,类似关系型数据库中的database;
    • document:文档,elasticsearch用json标示一个对象,类似关系型数据库中的一行数据;
    • type:类型,文档归属一种type,类似关系型数据库中的table;
    • field:字段,类似关系型数据库中的字段;
  • 在es中可以按照以上概念对数据进行组织,存储,查询,聚合等操作;

更多特性和优势

  • DSL查询: elasticsearch提供了功能十分强大的DSL查询,用于复杂的场景,可以看文档了解这块,基本上可以满足业务的各种要求;
  • 分布式集群:非常便于扩展,支持大量级的数据存储查询;
  • 还有排序,搜索…等更多更复杂的特性我们会在后续的使用以及专题中进行更详细的介绍。

文章作者: Xudong Jiang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Xudong Jiang !
 上一篇
分布式系统理论介绍 分布式系统理论介绍
本文介绍关于分布式系统的一些理论,后续还会涉及到 CAP理论 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否有同样的值。(等同于所有节点访问同一份最新的数据副本 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端
下一篇 
elasticsearch学习系列-搜索浅尝 elasticsearch学习系列-搜索浅尝
本文简单介绍ES搜索的一些简单尝试 检索文档GET /_index/_type/_id 根据库、类型、id搜索数据 简单搜索GET /_index/_type/_search 搜索索引_index内类型_type内的所有数据,默认返回10条
2019-02-15
  目录