Elasticsearch 索引、文檔和REST API

這是我參與8月更文挑戰的第10天,活動詳情查看:8月更文挑戰mysql

若是❤️個人文章有幫助,歡迎點贊、關注。這是對我繼續技術創做最大的鼓勵。更多往期文章在個人我的專欄git

文檔( Document)

  • Elasticsearch 是面向文檔的,文檔是全部可搜索數據的最小單位
    • 日誌文件中的日誌項
    • 一本電影的具體信息/一張唱片的詳細信息
    • MP3播放器裏的一首歌/ 一篇PDF文檔中的具體內容
  • 文檔會被序列化成JSON格式,保存在曰asticsearch中
    • JSON對象由字段組成
    • 每一個字段都有對應的字段類型(字符串/數值/布爾/日期/二進制/範圍類型)
  • 每一個文檔都有一個Unique 0
    • 你能夠本身指定ID
    • 或者經過Elasticsearch自動生成

文檔的元數據

元數據,用於標註文檔的相關信息github

  • _index-文檔所屬的索引名
  • _type-文檔所屬的類型名
  • id-文檔惟一 ID
  • _source:文檔的原始JSON數據
  • _alk整合全部字段內容到該字段,已被廢除
  • _version:文檔的版本信息
  • _score:相關性打分

索引

索引是文檔的容器,是一類文檔的集合sql

  • 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 / 相關蝕 /api

  • 高性能全文檢索 => 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
相關文章
相關標籤/搜索