【ElasticSearch 6.*】 学习四:基础知识和索引的创建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31617637/article/details/85098868

基础知识

  • 索引:含有相同属性的文档集合(类似数据库)
  • 类型:索引可以定义一个或者多个类型,文档必须属于一个类型(类似数据库中的表)
  • 文档:文档是可以被索引的基本数据单位(类似表中的行数据)
  • 分片:每个索引都有多个分片,每个分片都是一个Lucene索引
  • 备份:拷贝一份分片就完成了分片的备份。

分片的好处:索引数据量大,可以索引分成多个分片,分摊压力

备份的好处:主分片失败或者出问题,备份分片可以代替主分片工作,备份分片可以进行搜索操作。
分片数量只能在创建索引时修改,备份可以后期修改。

结构化和非结构化的索引:结构化的关键词mappings

创建索引

  • 利用head创建非结构化索引
    在这里插入图片描述
    在这里插入图片描述
    tip:框框皆为分片,粗框为主分片,细框为主分片的备用分片。
  • 利用head创建非结构化索引
    首先观察到·mappings 字段为空在这里插入图片描述

利用RestFul api 请求:
api基本格式: http://<ip>:<port>/<索引>/<类型>/<文档id>
请求方式:[GET, DELETE, PUT, HEAD]
在这里插入图片描述

//book/novel/_mappings
{
  "novel": {
    "properties": {
      "title": {
        "type": "text"
      }
    }
  }
}

请求完毕之后,查看索引信息发现 mappings字段增加了数据,这就是创了结构化索引。
在这里插入图片描述

postman 请求接口造索引

请求参数:

{
    "settings":{
        "number_of_shards":3,//分片数
        "number_of_replicas":1//副本数
    },
    "mappings":{
        "man":{
            "properties":{
                "name":{
                    "type":"text"
                },
                "country":{
                    "type":"keyword"
                },
                "age":{
                    "type":"integer"
                },
                "date":{
                    "type":"date",
                    "format":"yyyy-MM-dd HH-mm-ss||yyyy-MM-dd"
                }       
            }
        }
    }
}

在这里插入图片描述

head查看结果
在这里插入图片描述

tip:

如果man同级加设置多个(增加个women设置),则会报错

{
    "error":{
        "root_cause":[
            {
                "type":"illegal_argument_exception",
                "reason":"Rejecting mapping update to [people] as the final mapping would have more than 1 type: [woman, man]"
            }
        ],
        "type":"illegal_argument_exception",
        "reason":"Rejecting mapping update to [people] as the final mapping would have more than 1 type: [woman, man]"
    },
    "status":400
}

原因:在Elasticsearch 6.0.0或更高版本中创建的索引可能只包含单个mapping type。在具有多种映射类型的5.x中创建的索引将继续像以前一样在Elasticsearch 6.x中运行。映射类型将在Elasticsearch 7.0.0中完全删除。

猜你喜欢

转载自blog.csdn.net/qq_31617637/article/details/85098868