Elasticsearch是基于Lucene开发的搜索引擎,也是近几年很火的全文搜索引擎,具有部署方便、运行稳定、搜索高效等特点,且支持分布式部署,易于扩展。本文对于近期学习的知识做下梳理。

基本概念

  • 集群(cluster):一个整体的Elasticsearch服务
  • 节点(node):构成集群的每个服务节点
  • 索引(index):文档的集合,类似数据库的db
  • 文档(document):索引文件的最小单元,类似数据库的行数据
  • 分片|副本(Shards & Replicas):部分数据的集合,一个文档通常会存储在多个副本中(分布式)
  • Elasticsearch 是 面向文档的,意味着它存储整个对象或文档。Elasticsearch 不仅存储文档,而且索引每个文档的内容使之可以被检索。在 Elasticsearch 中,你对文档进行索引、检索、排序和过滤--而不是对行列数据。这是一种完全不同的思考数据的方式,也是 Elasticsearch 能支持复杂全文检索的原因。
    Elasticsearch 使用 JavaScript Object Notation 或者 JSON 作为文档的序列化格式。

    实践

    命令语法:

    <HTTP Verb> /<Index>/<Type>/<ID>  
    http操作/索引/类型/文档ID  
    
  • 集群状态
  • 查看集群健康度 GET /_cat/health?v
  • 查看节点状态 GET /_cat/nodes?v
  • 查看索引状态 GET /_cat/indices?v
  • 创建|删除索引
  • 创建索引 PUT /mycollect?pretty
  • 删除索引 DELETE /mycollect?pretty