【ELK】elasticsearch简单使用

1、ES和关系型数据库对比

Elasticsearch关系型数据库
索引(index)数据库(database)
类型(type)表(table)
文档(document)记录(row)
字段(field)字段、列(column)

传统关系型数据库下我们查询数据是如何操作的?

以mysql为例: 创建数据库->创建表->插入数据->SQL查询

  • 索引(index):

    可以理解为关系型数据库的db。

  • 类型(type)

    一个type就类似于一个表

    • 注意
      • ES 5.x中一个index可以有多个type。
      • ES 6.x中一个index只能有一个type。
      • ES 7.x以后已经移除type,使用_doc代替。(ES 6.x也可以用)
  • 文档(document)

    一个document相当于关系型数据库中的一行记录。

  • 字段(field)

    相当于关系型数据库表的字段

  • 映射(mapping)

    mapping定义了每个字段的类型等信息。相当于关系型数据库中的表字段的类型。

  • 分片(shards)

    因为ES是个分布式的搜索引擎, 所以index索引通常都会分解成不同部分,

    而这些分布在不同节点的数据就是分片。ES自动管理和组织分片,

    并在必要的时候对分片数据进行再平衡分配,

    所以用户基本上不用担心分片的处理细节。

  • 副本(replicas)

    • 主要目的就是为了故障转移
    • 副本是分片的副本。分片有主分片(primary Shard)和副本分片(replica Shard)之分。
    • 一个Index在物理上被分布在多个主分片中,每个主分片只存放部分数据。
    • 每个主分片可以有多个副本,叫副本分片,是主分片的复制。
  • 节点(node)

    一台机器或者一个进程。

  • 集群(cluster)

    集群由一个或多个节点组成。

2、 Elasticsearch简单操作

新增:put

  • 创建索引

    请求:
    PUT http://192.168.122.150:9200/fxindex01
    响应:
    {
        "acknowledged": true,
        "shards_acknowledged": true,
        "index": "fxindex01"
    }
    
  • 查看索引

    请求:
    GET http://192.168.122.150:9200/fxindex01
    响应:
    {
        "fxindex01": {
            "aliases": {},
            "mappings": {},
            "settings": {
                "index": {
                    "creation_date": "1596379913761",
                    "number_of_shards": "1",
                    "number_of_replicas": "1",
                    "uuid": "7I3DXIV8TnyYSO4mutxjhw",
                    "version": {
                        "created": "7080099"
                   },
                    "provided_name": "fxindex01"
               }
           }
       }
    }
    
  • 新增文档doc

    请求:
    # 一个index对于一个_doc,一条document对应一个id
    PUT http://192.168.122.150:9200/fxindex01/_doc/1
    {
      "name":"zhangsan",
      "age":20,
      "email":"zhangsan@qq.com"
    }
    {
        "_index": "fxindex01",
        "_type": "_doc",
        "_id": "1",
        "_version": 1,
        "result": "created",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 0,
        "_primary_term": 1
    }
    
  • 查看文档doc

    请求:
    GET http://192.168.122.150:9200/fxindex01/_doc/1
    响应:
    {
      "_index": "fxindex01",
      "_type": "_doc",
      "_id": "1",
      "_version": 1,
      "_seq_no": 0,
      "_primary_term": 1,
      "found": true,
      "_source": {
        "name": "zhangsan",
        "age": 20,
        "email": "zhangsan@qq.com"
     }
    }
    
    
  • 查看索引下所有文档

    GET http://192.168.122.150:9200/fxindex01/_search
    
  • 只显示_source字段

    请求:
    GET
    http://192.168.122.150:9200/fxindex01/_doc/1/_source
    响应:
    {
      "name": "zhangsan",
      "age": 20,
      "email": "zhangsan@qq.com"
    }
    
    
  • 获取文档中指定的字段

    请求:
    GET http://192.168.122.150:9200/fxindex01/_doc/1?_source=name
    响应:
    {
        "_index": "fxindex01",
        "_type": "_doc",
        "_id": "1",
        "_version": 1,
        "_seq_no": 0,
        "_primary_term": 1,
        "found": true,
        "_source": {
            "name": "zhangsan"
       }
    }
    
    
  • 查看索引设置

    请求:
    GET
    http://192.168.122.150:9200/fxindex01/_settings
    响应:
    {
        "fxindex01": {
            "settings": {
                "index": {
                    "creation_date": "1596379913761",
                    "number_of_shards": "1",
                    "number_of_replicas": "1",
                    "uuid": "7I3DXIV8TnyYSO4mutxjhw",
                    "version": {
                        "created": "7080099"
                   },
                    "provided_name": "fxindex01"
               }
           }
       }
    }
    
  • 查看索引mapping

    请求:
    GET
    http://192.168.122.150:9200/fxindex01/_mapping
    响应:
    {
        "fxindex01": {
            "mappings": {
                "properties": {
                    "age": {
                        "type": "long"
                    },
                    "email": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "name": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    }
                }
            }
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cry丶

如果觉得有帮助的打个赏吧。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值