zoukankan      html  css  js  c++  java
  • Elasticsearch 创建以及修改索引结构

    从问题出发,这篇内容可以解决以下几个问题:

    一:如何开启关闭Es索引(数据库)?

    二:如何创建索引(数据库)结构?

    三:如何向已有索引(数据库)中添加类型(表)结构?

    四:如何向已有类型(表)中添加新字段?

    五:如何更改现有类型(表)中的字段类型?

    六:如何删除索引(数据库)?

    七:如何删除索引中某一个类型结构(同时删除数据以及数据结构)?

    八:如何删除索引中某一类型结构的全部数据而不删除类型结构?

    九:为什么同一索引下不同类型的结构如果字段名称相同会报错?

    十:创建索引结构时注意事项以及问题?

    一:如何开启关闭Es索引(数据库)?

    关闭索引

    POST /my_index/_close    

    开启索引

    POST /my_index/_open 

    二:如何创建索引(数据库)结构?

    PUT twitter 
    {
      "mappings": {
        "tweet": {
          "properties": {
            "message": {
              "type": "text"
            }
          }
        }
      }
    }

    三:如何向已有索引(数据库)中添加类型(表)结构?

    PUT twitter/_mapping/user 
    {
      "properties": {
        "name": {
          "type": " keyword"
        }
      }
    }

    四:如何向已有类型(表)中添加新字段?

    PUT twitter/_mapping/tweet 
    {
      "properties": {
        "user_name": {
          "type": " keyword"
        }
      }
    }

    五:如何更改现有类型(表)中的字段类型?

       无法更改;

    六:如何删除索引(数据库)?

      参考链接:https://www.cnblogs.com/Rawls/p/10110743.html

    七:如何删除索引中某一个类型结构(同时删除数据以及数据结构)?

      Elasticsearch不支持删除一个Type;

      参考链接:https://blog.csdn.net/youzhouliu/article/details/79940729

    八:如何删除索引中某一类型结构的全部数据而不删除类型结构?

    POST /testindex/testtype/_delete_by_query?pretty
    {
        "query": {
            "match_all": {
            }
        }
    }

    九:为什么同一索引下不同类型的结构如果字段名称相同会报错?

      这个问题比较坑,什么意思呢?用我们使用关系型数据库的逻辑来说,就是同一个数据库里面,如果有两个不同的表,表里面都有name字段,

      如果A表中name是varchar类型,B表中name是int类型,完了,这就没办法创建索引了。所以,我们在创建索引的时候要注意,为什么会有这样的问题呢?

      难道是Es的bug?这个主要是因为Es使用的是lucene的框架,具体的原因大家可以参考官方文档 避免类型陷阱

    十:创建索引结构时注意事项以及问题?

      1:  明确字段存储类型,是int类型还是文本类型;

        ES字段类型参考:https://blog.csdn.net/chengyuqiang/article/details/79048800

      2:  文本类型情况下,一种是keyword,一种是text ;

        二者的区别请参考:https://www.cnblogs.com/Rawls/p/10069670.html

      3:  字段结构类型一旦定义之后,是无法修改的,就跟你在数据库中一样,以前是int类型,

        是无法改成varchar类型的(在sqlserver 表中没有数据情况下可以修改)。

      4:  如果需要修改结构类型,只能在在这个文档类型中新增一个字段了。

      5:  同一个索引下面,字段名称尽量不要重复;

      6:  字段名称如果有重复情况,一定要使用相同的字段类型,要么都是integer,要么都是text。

  • 相关阅读:
    小程序工程化探索:大规模场景下的问题和解决方案----------------引用
    对Taro Next小程序跨框架开发的探索与实践-----------------引用
    对Node.js 中的依赖管理------------引用
    对redux的研究--------引用
    JavaScript 中的 for 循环---------------引用
    对JavaScript 模块化的深入-----------------引用
    对Webpack 应用的研究-----------------引用
    webpack5持久化缓存
    设置x 轴斜体(每次我都百度,这次单独为它发一个)
    字典元组列表常用方法
  • 原文地址:https://www.cnblogs.com/Rawls/p/10300639.html
Copyright © 2011-2022 走看看