zoukankan      html  css  js  c++  java
  • elasticsearch基本概念

    文档(Document)

    Elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位

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

    JSON文档

    一篇文档包含了一系列的字段。类似数据库表中一条记录
    JSON文档,格式灵活,不需要预先定义格式
    字段的类型可以指定或者通过Elasticsearch自动推算
    支持数组/支持嵌套

    movieId,title,genres
    1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy
    

    CSV file 转换 JSON

    {
    	“year” : 1995,
    	“@version”: “1”,
    	“genre” : [
    		“Adventure”,”Animation”,”Children”,”Comedy”,”Fanasy”],
    	“id”:”1”,
    	“title”: “Toy Story”
    }
    

    文档的元数据

    元数据,用于标注文档的相关信息
    _index – 文档所属的索引名
    _type - 文档所属的类型名
    _id – 文档唯一id
    _source: 文档的原始Json数据
    _all : 整合所有字段内容到该字段,已被废除
    _score: 相关性打分
    

    索引

    {
      "movies" : {
        "settings" : {
          "index" : {
            "creation_date" : "1567998792669",
            "number_of_shards" : "1",
            "number_of_replicas" : "1",
            "uuid" : "2aDN9qjYQ5WjPqf3MiW0Lw",
            "version" : {
              "created" : "7030199"
            },
            "provided_name" : "movies"
          }
        }
      }
    }
    

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

    索引的不同语意


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

    抽象与类比

    RDBMS Elasticsearch
    Table Index(Type)
    Row Document
    Column Field
    Schema Mapping
    SQL DSL
    1. 在7.0之前,一个Index可以设置多个Types
    2. 目前Type已经被Deprecated,7.0开始使用,一个索引只能创建一个Type – “_doc”
    3. 传统关系型数据库和Elasticsearch的区别
      Elasticsearch – Schemaless / 相关性 / 高性能全文检索
      RDMS – 事务性 / Join

    REST API

    很容易被各种语言调用

    API使用

    查看索引相关信息

    GET /kibana_sample_data_ecommerce
    

    查看索引的文档总数

    GET /kibana_sample_data_ecommerce/_count
    {
      "count" : 4675,
      "_shards" : {
        "total" : 1,
        "successful" : 1,
        "skipped" : 0,
        "failed" : 0
      }
    }
    

    查看文档前10条,了解文档格式

    POST /kibana_sample_data_ecommerce/_search 
    

    查看indices

    GET /_cat/indices/kibana*?v&s=index
    health status index                        uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   kibana_sample_data_ecommerce qfjtoNdYRXyNE9I_1U26NA   1   0       4675            0      4.6mb          4.6mb
    green  open   kibana_sample_data_flights   u9u-xXpZSK2H0l7TNMT6dA   1   0      13059            0      6.4mb          6.4mb
    green  open   kibana_sample_data_logs      PJNZBh7oR5y0SPnuedT_Uw   1   0      14074            0     11.4mb         11.4mb
    

    查看索引状态为绿的索引

    GET /_cat/indices?v&health=green
    health status index                        uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   .kibana_task_manager         k9d_SEA4RsKSzOT2Ss0G-A   1   0          2            0     30.6kb         30.6kb
    green  open   kibana_sample_data_ecommerce qfjtoNdYRXyNE9I_1U26NA   1   0       4675            0      4.6mb          4.6mb
    green  open   kibana_sample_data_logs      PJNZBh7oR5y0SPnuedT_Uw   1   0      14074            0     11.4mb         11.4mb
    green  open   kibana_sample_data_flights   u9u-xXpZSK2H0l7TNMT6dA   1   0      13059            0      6.4mb          6.4mb
    green  open   .kibana_1                    AYCJSfgoSwSDcg3lD1Xoog   1   0        152            1        1mb            1mb
    

    按照文档个数排序

    GET /_cat/indices?v&s=docs.count:desc
    health status index                        uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   kibana_sample_data_logs      PJNZBh7oR5y0SPnuedT_Uw   1   0      14074            0     11.4mb         11.4mb
    green  open   kibana_sample_data_flights   u9u-xXpZSK2H0l7TNMT6dA   1   0      13059            0      6.4mb          6.4mb
    yellow open   movies                       2aDN9qjYQ5WjPqf3MiW0Lw   1   1       9743            0      1.2mb          1.2mb
    green  open   kibana_sample_data_ecommerce qfjtoNdYRXyNE9I_1U26NA   1   0       4675            0      4.6mb          4.6mb
    green  open   .kibana_1                    AYCJSfgoSwSDcg3lD1Xoog   1   0        152            1        1mb            1mb
    green  open   .kibana_task_manager         k9d_SEA4RsKSzOT2Ss0G-A   1   0          2            0     30.6kb         30.6kb
    

    查看具体字段

    GET /_cat/indices/kibana*?pri&v&h=health,index,pri,rep,docs.count,mt
    health index                        pri rep docs.count mt pri.mt
    green  kibana_sample_data_ecommerce   1   0       4675  0      0
    green  kibana_sample_data_logs        1   0      14074  0      0
    green  kibana_sample_data_flights     1   0      13059  0      0
    

    查看每个索引占用的内存

    GET /_cat/indices?v&h=i,tm&s=tm:desc
    i                                tm
    kibana_sample_data_logs      84.9kb
    kibana_sample_data_flights   81.8kb
    kibana_sample_data_ecommerce 40.2kb
    .kibana_1                    22.3kb
    movies                        8.1kb
    .kibana_task_manager          4.7kb
    
  • 相关阅读:
    字符串 CSV解析 表格 逗号分隔值 通讯录 电话簿 MD
    Context Application 使用总结 MD
    RxJava RxPermissions 动态权限 简介 原理 案例 MD
    Luban 鲁班 图片压缩 MD
    FileProvider N 7.0 升级 安装APK 选择文件 拍照 临时权限 MD
    组件化 得到 DDComponent JIMU 模块 插件 MD
    gradlew 命令行 build 调试 构建错误 Manifest merger failed MD
    protobuf Protocol Buffers 简介 案例 MD
    ORM数据库框架 SQLite 常用数据库框架比较 MD
    [工具配置]requirejs 多页面,多入口js文件打包总结
  • 原文地址:https://www.cnblogs.com/anyux/p/11977543.html
Copyright © 2011-2022 走看看