elk笔记-es的基本增删改查

索引库操作

mappig常用属性

        mapping是对索引库中文档的约束,常用的mapping属性如下:

                type:数据类型

                index:是否创建索引(倒排索引),默认true,不需要参与查询的字段可以设置为false

                analyzer:使用哪种分词器。

                properties:指定该字段的子字段

数据类型(type)表:

type的数据类型

释义 数据示例
text 字符串,可分词的文本

{

    "age": 18, //数值

    "weight": 50.1,//数值

    "isTrue": false, //boolean

    "info": "我是一名java程序猿",//text

    "email": "[email protected]",//一般keyword

//数值,不管数组的类型,只管数组中数据元素的类型

    "score": [30,50,70.1], 

    "name": { //object

        "firstName": "云",

        "lastName": "赵"

    }

}

keyword 精确值,完整的数据,不需要分词的数据。例如品牌、国家、IP等
long、integer、short、byte、double、float 数值
boolean 布尔
date 日期
object 对象

   创建索引库

        语法:

put /索引库名称

{
    "mappings": {
        "_doc": {
            "properties": {
                "字段名": {  "type": "text",  "analyzer": "ik_smart"
                },
                "字段名": { "type": "keyword",   "index": false
                },
                "字段名": { "type": "object", "properties": {
                        "子字段名": {  "type": "keyword"  },
                        "子字段名": {  "type": "keyword" }
                    }
                }

//.....................
            }
        }
    }
}

7.2.0版本后不再支持创建指定类型,索引的默认类型为_doc,如果是这个版本后的json中需要去掉这一层,不然会报错 Root mapping definition has unsupported parameters

elk笔记-es的基本增删改查_第1张图片

 Root mapping definition has unsupported parameters报错信息

elk笔记-es的基本增删改查_第2张图片

 查看索引库

        查看索引库:GET /索引库名称

        示例: GET /my_index

elk笔记-es的基本增删改查_第3张图片
 

修改索引库

        索引库和mapping一旦创建无法修改,但是可以添加新字段,语法如下:

PUT 索引名称/_mapping
{
  "properties": {
    "字段名":{
      "type": "数据类型",
      "其他mapping属性": "属性值"
    }
  }
}

示例:

elk笔记-es的基本增删改查_第4张图片

删除索引库

         删除索引库:DELETE /索引库名称

        示例:DELETE /my_index

文档的操作

新增文档

    语法:

POST /索引库/_doc/文档id (文档id可以省略,如果省略es随机生成)
{
  "字段1":"字段值",
  "字段2":"字段值",
  ......................................
}

示例:

elk笔记-es的基本增删改查_第5张图片    

查询文档

GET /索引库名称/_doc/文档id  (复杂查询逻辑本文档暂不记录)

elk笔记-es的基本增删改查_第6张图片

修改文档

       方式一:全量修改,会删除旧文档添加新文档

        语法:

PUT /索引名称/_doc/文档id

        "字段1":"值",

        "字段2":"值",

        。。。。。。。。。。。。。。。。

        方式2:增量修改,修改指定字段

        语法:

PUT /索引名称/_update/文档id

        "字段1":"值",

        "字段2":"值",

        。。。。。。。。。。。。。。。。

删除文档

 DELETE /索引库名称/_doc/文档id

elk笔记-es的基本增删改查_第7张图片

你可能感兴趣的:(elk,笔记,elasticsearch)