zoukankan      html  css  js  c++  java
  • ElasticSearch7.10索引

    ElasticSearch7.10的索引-04

    Elastic的索引想当于关系型数据库的数据库,索引(index)的复数为indicesindexes

    • 用作动词-索引一个文档到一个索引(名词)中以便被检索和查询。
    • 倒排索引;关系型数据库通过增加一个索引比如一个B树(B-tree)索引到指定的列上,以便提升数据检索速度。Elastic和Lucene使用了一个叫做
      倒排索引的结构来达到相同的目的。
    • 默认的,一个文档中每一个属性都是被索引的(有一个倒排索引)和可搜索的。一个没有倒排索引的属性是不能被搜索到的。

    今天继续操作ES,先建立索引,分片5,副本1,名称test

    0,1,2,3,4分布表示索引的分片,加粗部分是主分片,没有加粗部分是副本,在head插件点击,弹出的信息有primary为ture,
    则是主分片。

    索引

    1. 创建索引

    1. 通过postman请求,方式POST,请求地址
    localhost:9200/book
    
    1. kibana发送请求,右侧有提示
    PUT book
    

    1. 通过命令行
      我们先只简单创建一个索引,后续步骤继续。
    curl -XPUT '192.168.246.130:9200/book
    
    1. 查询索引
    GET book/_settings
    GET book,book1/_settings
    GET _all/_settings
    

    2. 更新索引

    对于索引的属性,可以修改,如索引的副本数,分片数

    这里我遇到了一个错误Can't update non dynamic settings [[index.number_of_shards]] for open indices 。意思是分片数量在索引打开时不能更新

    PUT book/_settings
    {
         "number_of_replicas":2
    }
    # 打开索引
    PUT book/_open
    #关闭索引
    PUT /book/_close
    # 分片
    PUT book/_settings
    {
         "number_of_shards":5
    }
    

    更改分片,结果报错final book setting [index.number_of_shards], not updateable,这个book索引的主分片是无法修改的,主分片
    数一旦建立就无法修改。

    1. 修改索引的读写权限
    PUT book/_settings
    {
       "blocks.write": true
    }	
    

    者个操作执行后就无法添加文档了。若想再次打开,可以这样写

    PUT book/_settings
    {
      "blocks.write": false
    }
    

    对于索引,还有很多权限,如:

    • blocks.write
    • blocks.read
    • blocks.read_only

    3. 删除索引

    1. 删除单个索引
    DELETE /book
    

    删除索引需要指定索引名称、别名或者通配符。

    1. 删除多个索引
    DELETE book,book1,book2
    DELETE book*
    
    1. 删除全部索引
    DELETE _all
    DELETE *
    

    这个all和通配符可以删除全部索引,为了防止这种高危操作,在config/elasticsearch.yml中,禁用这个操作

    action.destructive_requires_name=true
    

    4. 复制索引

    索引的复制,不会复制配置,只会复制数据,当然,可以增加查询条件。

    POST _reindex
    {
      "source":{"index":"book"},
      "dest":{"index":"book1"}
    }
    

    5. 索引编辑别名

    索引可以增加别名,别名唯一,则可以代替索引名称。

    POST /_aliases
    {
      "actions": [
        {
          "add": {
            "index": "book",
            "alias": "book_alias"
          }
        }
      ]
    }
    

    5.1删除别名

    对actions中的add更改为remove即可删除别名

    POST /_aliases
    {
      "actions": [
        {
          "remove": {
            "index": "book",
            "alias": "book_alias"
          }
        }
      ]
    }
    
    5.2查看别名
    1. 查看一个
    GET book/_alias
    
    1. 用别名的索引查看别名
    GET /book_alias/_alias
    
    1. 查询集群所有别名
    GET /_alias
    
    弯弯月亮,只为美好的自己。
  • 相关阅读:
    【软件工程】软件测试目标定义 黑盒测试、白盒测试
    【计算机网络】互联网的组成(客户服务器、对等连接、电路交换、分组交换)
    【计算机网络】互联网概述
    文本域的宽度和高度应该用cols和rows来控制,还是 用width和height来控制
    javascript代码片段
    IE对象最后一个属性后不要加逗号,否则在IE7及以下版本中会报错
    检测IE浏览器方法
    Sublime Text 必备插件
    浅谈Javascript 中几种克隆(clone)方式
    JavaScript instanceof 运算符深入剖析
  • 原文地址:https://www.cnblogs.com/Choleen/p/14111806.html
Copyright © 2011-2022 走看看