ElasticSearch学习笔记---01

阮老师视频笔记

文档(Documen)

  • Elasticsearch是面向文档的,文档时所有可搜索数据的最小单位
  • 文档会被序列化成JSON格式,保存在Elasticsearch中
    • JSON 对象由字段组成
    • 每个字段都有对应的字段类型(字符串/数值/布尔/日期/二进制/范围类型)
  • 每个文档都有一个Unique ID
    • 可以自定义
    • 或者Elasticsearch自动生成

文档的元数据

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

索引

  • index 索引是文档的容器,是一类概念的结合
    • index 体现了逻辑空间的概念:每个索引都有自己的Mapping定义,用于包含的文档字段名和字段类型
    • Shard 体现了物理空间的概念:索引中的数据分散在 Shard上
  • 索引的Mapping与Setting
    • Mapping 定义文档字段的类型
    • Setting 定义不同的数据分布

索引的不同语境

  • 名词:一个Elasticsearch集群中,可以创建很多不同的索引
  • 动词:保存一个文档到Elasticsearch的过程也叫索引(indexing)
    • ES中,创建一个倒排索引的过程
  • 名词:一个B树索引,一个倒排索引

抽象与类比

RDBMS Elasticsearch
Table index
Row Doucment
Column Filed
Schema Mapping
SQL DSL

基本API

// 查看索引相关信息
GET kibana_sample_data_ecommerce


// 查看索引的文档总数
GET kibana_sample_data_ecommerce/_count


// 查看文档前10条
POST kibana_sample_data_ecommerce/_search
{
  
}

// _cat indices API
// 查看indices
GET /_cat/indices/kibana*?v&s=index

// 查看状态为绿的索引
GET /_cat/indices?v&health=green

// 按照文档个数排序
GET /_cat/indices?v&s=docs.count:desc

// 查看具体的字段
GET /_cat/indices/kibana*?pri&v&h=health,index,pri,rep,docs.count,mt

// 索引所占用的内存
GET /_cat/indices?v&h=i,tm&s=tm:desc


文档的CRUD

// ceate document,自动生成_id
POST users/_doc
{
  "user":"Mike",
  "post_date":"2019-04-15T14:12:12",
  "message":"trying out Kibana"
}
返回结果:
{
  "_index" : "users",
  "_type" : "_doc",
  "_id" : "C7tTL3IB7xUCe-bLXYph",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

// create document指定id,如果id已经存在,报错
POST users/_doc/1?op_type=create
{
  "user":"Jack",
  "post_date":"2019-04-15T14:12:12"
  "message":"trying out Kibana"
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章