Py学习  »  Elasticsearch

Elasticsearch 索引、文档和REST API

锐玩道 • 2 年前 • 266 次点击  
阅读 163

Elasticsearch 索引、文档和REST API

这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战

如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人专栏

文档( Document)

  • Elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位
    • 日志文件中的日志项
    • 一本电影的具体信息/一张唱片的详细信息
    • MP3播放器里的一首歌/ 一篇PDF文档中的具体内容
  • 文档会被序列化成JSON格式,保存在曰asticsearch中
    • JSON对象由字段组成
    • 每个字段都有对应的字段类型(字符串/数值/布尔/日期/二进制/范围类型)
  • 每个文档都有一个Unique 0
    • 你可以自己指定ID
    • 或者通过Elasticsearch自动生成

文档的元数据

元数据,用于标注文档的相关信息

  • _index-文档所属的索引名
  • _type-文档所属的类型名
  • id-文档唯一 ID
  • _source:文档的原始JSON数据
  • _alk整合所有字段内容到该字段,已被废除
  • _version:文档的版本信息
  • _score:相关性打分

索引

索引是文档的容器,是一类文档的集合

  • Index 体现了逻辑空间的概念:每个索引都有自己的 Mapping 定义,用于定义包含的文档的字段名和类型
  • Shard 体现了物理空间的概念,索引中的数据分数在Shard上
  • Mapping 定义文档字段的类型
  • Setting 定义不同的数据分布(分片)

不恰当的 mysql 和 es 对比

RDBMS | Elasticsearch Table | Index(Type) Row | Document Column | Filed Schema | Mapping SQL | DSL

  • 在7.0之前,一个Index可以设H多个Types 目前Type己经被Deprecated,7.0开始,一个索引只能创诖一个Type - “_doc”
  • 传统关系型数据库和Elasticsearch的区别

Elasticsearch- Schemaless / 相关蚀 /

  • 高性能全文检索 => ES
  • RDMS -事务性/ Join => MySQL

Kibana 操作

管理索引

  • Kibana > 左侧菜单Stack Manager > 索引管理

开发工具,rest api

  • 根据名称查索引: GET /_cat/indices/kibana*?v&s=index
  • 状态索引查询:GET /_cat/indices?v&health=green
  • 根据文档个数限制:GET /_cat/indices?v&s=docs.count:desc
  • 查看索引占用内存:GET /_cat/indices?v&h=i,tm&s=tm:desc
  • 查看索引各种字段:GET /_cat/indices/kibana*?pri&v&h=health,index,pri,rep,docs,count,mt
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/118277
 
266 次点击