CodeAshen's blog CodeAshen's blog
首页
  • Spring Framework

    • 《剖析Spring5核心原理》
    • 《Spring源码轻松学》
  • Spring Boot

    • Spring Boot 2.0深度实践
  • Spring Cloud

    • Spring Cloud
    • Spring Cloud Alibaba
  • RabbitMQ
  • RocketMQ
  • Kafka
  • MySQL8.0详解
  • Redis从入门到高可用
  • Elastic Stack
  • 操作系统
  • 计算机网络
  • 数据结构与算法
  • 云原生
  • Devops
  • 前端
  • 实用工具
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • Reference
GitHub (opens new window)

CodeAshen

后端界的小学生
首页
  • Spring Framework

    • 《剖析Spring5核心原理》
    • 《Spring源码轻松学》
  • Spring Boot

    • Spring Boot 2.0深度实践
  • Spring Cloud

    • Spring Cloud
    • Spring Cloud Alibaba
  • RabbitMQ
  • RocketMQ
  • Kafka
  • MySQL8.0详解
  • Redis从入门到高可用
  • Elastic Stack
  • 操作系统
  • 计算机网络
  • 数据结构与算法
  • 云原生
  • Devops
  • 前端
  • 实用工具
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • Reference
GitHub (opens new window)
  • MySQL8.0详解与实战

  • MySQL面试指南

  • Redis从入门到高可用

  • Elastic-Stack

    • 第01章-Elasticsearch入门
      • 1.1 Elasticsearch 配置说明
      • 1.2 Elasticsearch 本地集群启动
      • 1.3 常用术语
      • 1.4 Rest Api
    • 第02章-倒排索引与分词
    • 第03章-Mapping设置
    • 第04章-Search API
    • 第05章-分布式特性介绍
    • 第06章-Search的运行机制
    • 第07章-聚合分析
    • 第08章-数据建模
    • 第09章-集群调优建议
  • 数据库
  • Elastic-Stack
CodeAshen
2023-02-10
目录

第01章-Elasticsearch入门

# 一、Elasticsearch 入门

# 1.1 Elasticsearch 配置说明

  • elasticsearch.yml 关键配置
    • cluster.name 集群名称,以此判断是否属于同一集群
    • node.name 节点名称,区分同一集群的不同节点
    • network.host/http.port 网络地址和端口,用于http和transport服务使用
    • path.data 数据存储地址
    • path.log 日志存储地址
  • Development与Production模式说明
    • Development模式下启动会以warning的方式提示配置检查异常
    • Production模式下在启动时会以error的方式提示配置检查异常并退出
    • 以transport的地址是否绑定localhost为判断标准 network.host
  • 参数修改的第二种方式
    • bin/elasticsearch -Ehttp.port=19200

# 1.2 Elasticsearch 本地集群启动

# 依次执行以下三条命令
bin/elasticsearch
bin/elasticsearch -Ehttp.port=8200 -Epath.data=node2
bin/elasticsearch -Ehttp.port=7200 -Epath.data=node3
1
2
3
4
  • 节点信息:http://localhost:9200/_cat/nodes?v
  • 集群信息:http://localhost:9200/_cluster/stats

# 1.3 常用术语

  • Document:文档,用户存储在es中的数据文档
  • Index:索引,由具有相同字段的文档列表组成
  • Node:节点,一个Elasticsearch的运行实例,是集群的构成单元
  • Cluster:集群,由一个或多个节点组成,对外提供服务

每一个文档都有一个唯一标识id,可以指定,也可以自动生成

元数据,用于标注文档的相关信息,含义如下:

  • _index:文档所在的索引名
  • _type:文档所在的类型名
  • _id:文档唯一 id
  • _uid:组合id,由_type和_id组成(6.x版本_type不再起作用,同_id一样)
  • _source:文档的原始Json数据,可以从这里获取每个字段的内容
  • _all:整合所有字段内容到该字段,默认禁用

索引(Index)中存储具有相同结构的文档(Document)每个索引都有自己的mapping定义,用于定义字段名和类型,一个集群可以有多个索引

# 1.4 Rest Api

索引api

动作 请求
创建索引 PUT /test_index
查看现有索引 GET _cat/indices
删除索引 DELETE /test_index

文档api

动作 请求 备注
创建文档指定id PUT /test_index/_doc/1 如果索引不存在,会自动创建
创建文档不指定id POST /test_index/_doc 注意请求方式和指定id的不同
查询文档 GET /test_index/_doc/1
搜索文档 GET /test_index/_doc/_search

批量操作api

  1. 批量更新:es允许一次创建多个文档,从而减少网络传输开销,提升写入速率-endpoint为_bulk,如下:

    image-20201222233731476

    操作类型:

    • index:覆盖更新,无论文档是否存在
    • update:更新
    • create:创建,如果已存在报错
    • delete:删除
  2. 批量查询

    image-20201222234717807

编辑 (opens new window)
上次更新: 2023/06/04, 12:34:19
第10章-Cache Cloud
第02章-倒排索引与分词

← 第10章-Cache Cloud 第02章-倒排索引与分词→

最近更新
01
第01章-RabbitMQ导学
02-10
02
第02章-入门RabbitMQ核心概念
02-10
03
第03章-RabbitMQ高级特性
02-10
更多文章>
Theme by Vdoing | Copyright © 2020-2023 CodeAshen | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式