zoukankan      html  css  js  c++  java
  • 二、elasticsearch索引基本操作

    一、相关概念

    1.1 结构类型

    索引(index):相对应于数据库

    类型(type): 相对应于数据库中的表

    文档(document): 相对应于数据库中的表的行

    属性(field): 相对应于数据库中的表中行的列

    结构如下:

    二,常用的restful语法(es7)

    1.索引的操作

    查询所有索引

    http://ip:9200/_cat/indices 

    新增索引文档,即可自动增加一个索引,索引的字段类型会自动猜测

    #put或post 索引名/类型名/id
    put http://ip:9200/customer2/external2/1
    #body json
    {
    "name":"John Doe1", "age":20 }

    返回结果:

    {
        "_index": "customer2",
        "_type": "external2",
        "_id": "1",
        "_version": 1,
        "result": "created",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 0,
        "_primary_term": 1
    }

    PUT和POST都可以 POST新增。如果不指定id,会自动生成id。指定id就会修改这个数据,并新增版本号; PUT可以新增也可以修改。PUT必须指定id;由于PUT需要指定id,我们一般用来做修改操作,不指定id会报错。

    新增索并指定数据类型映射

    #put /索引名
    put http://ip:9200/customer3

    #body json

    {
      "mappings": {
        "properties": {
          "age": {
            "type": "integer"
          },
          "name": {
            "type": "keyword"
          }
        }
      }
    }

     返回结果:

    {
        "acknowledged": true,
        "shards_acknowledged": true,
        "index": "customer3"
    }

     查询单个索引

    get /索引名
    get http://ip:9200/customer2

    返回结果:

    {
        "customer2": {
            "aliases": {},
            "mappings": {
                "properties": {
                    "age": {
                        "type": "long"
                    },
                    "name": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    }
                }
            },
            "settings": {
                "index": {
                    "creation_date": "1610502090644",
                    "number_of_shards": "1",
                    "number_of_replicas": "1",
                    "uuid": "0DPrhl5tRuaUZX-N4oplbQ",
                    "version": {
                        "created": "7060299"
                    },
                    "provided_name": "customer2"
                }
            }
        }
    }

     修改索引:可新增新的字段映射,对于已经存在的字段映射,我们不能更新。更新必须创建新的索引,进行数据迁移。

    新增新的字段映射

    #put /索引名/_mapping
    put http://ip:9200/customer3/_mapping

    #body json

    {
      "properties": {
        "city": {
          "type": "keyword",
          "index": false
        }
      }
    }

     返回结果

    {
        "acknowledged": true
    }

     修改字段映射,先创建新的索引

    数据迁移

    POST _reindex [固定写法]
    {
      "source":{
          "index":"twitter"//旧索引
       },
      "dest":{
          "index":"new_twitters"//新索引
       }
    }

     由此,不能改变字段名

    删除索引

    #delete /索引名
    delete http://ip:9200/customer4

     返回结果

    {
        "acknowledged": true
    }
  • 相关阅读:
    仿新浪微博返回顶部的js实现(jQuery)
    PHP中实现页面跳转
    WPF 导出数据
    1.C#泛型-泛型集合Dictionary<Key,Value>
    把重载的那些消息都看看,熟悉一下功能
    mfc的 windows消息处理
    文本框控件字体,背景色都可以单独设置。
    体验了一下msdn2012,挺好用的,可以找到所有的函数,进行调用,还有例子。
    WPF
    VC控件ListCtrl的使用方法总汇
  • 原文地址:https://www.cnblogs.com/panql341/p/14269901.html
Copyright © 2011-2022 走看看