文档(document)

  • ES是面向文档的,文档是数据的最小单位

    • 日志文件的日志项
    • 一条行记录
  • 文档会被序列化为json格式,保存在ES中

    • json对象由字段组成
    • 每个字段有各自的类型(字符串、数值、日期、布尔、二进制、范围)
  • 每个文档有一个unique ID

    • 可以自己指定
    • 也可以自动生成

文档元数据

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

    • _index - 文档所属的索引
    • _type - 文档所属的类型名
    • _id - 文档唯一ID
    • _source - 文档的原始json数据
    • _version - 文档的版本(用于做并发控制)
    • _score - 相关性打分

索引

  • index - 索引是文档的集合

    • index - 体现逻辑空间概念:每个索引都有自己mapping定义,用于定义文档的字段名和字段类型。
    • shard - 体现物理空间概念:索引的数据分散在shard上。
  • 索引的settings与mapping:

    • settings定义不同的数据分布
    • mapping定义文档字段类型

与MySQL类比

  • MySQL Table Row Column Schema SQL
  • ES index(type) Document Field Mapping DSL

区别:

  • ES适用于全文搜索、结果算分
  • MySQL适用于事务型、Join

REST API

# Click the Variables button, above, to create your own variables.
GET ${exampleVariable1} // _search
{
  "query": {
    "${exampleVariable2}": {} // match_all
  }
}

GET _cat/nodes?v

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

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

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

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

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

标签: none

添加新评论