【ElasticSearch】(三)—— 索引及文档操作

本文详细介绍了ElasticSearch中的索引库操作,包括创建映射、查询、修改和删除,以及文档的新增、查询、删除和修改。强调了映射的重要性,如字段的数据类型、是否创建索引等,并展示了使用Kibana编写DSL操作索引库的语法。同时,讲解了文档的全量和增量修改方法。
摘要由CSDN通过智能技术生成

 

目录

一.索引库操作

1) mapping映射属性

2)索引库的CRUD

1.创建索引库和映射

2.查询索引库

3.修改索引库

4.删除索引库

3)总结

二.文档操作

1)新增文档

2)查询文档

3)删除文档

4)修改文档

1.全量修改

2.增量修改

5)总结


一.索引库操作

索引库就类似数据库表,mapping映射就类似表的结构。

我们要向es中存储数据,必须先创建“库”和“表”。

1) mapping映射属性

mapping是对索引库中文档的约束,常见的mapping属性包括:

  • type:字段数据类型,常见的简单类型有:

    • 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)

    • 数值:long、integer、short、byte、double、float、

    • 布尔:boolean

    • 日期:date

    • 对象:object

  • index:是否创建索引,默认为true

  • analyzer:使用哪种分词器

  • properties:该字段的子字段

例如下面的json文档:

{
    "age": 18,
    "weight": 66,
    "isMarried": false,
    "info": "我爱elasticsearch",
    "email": "es@qq.com",
    "score": [99.1, 99.5, 98.9],
    "name": {
        "firstName": "白",
        "lastName": "李"
    }
}

对应的每个字段映射(mapping):

  • age:类型为 integer;参与搜索,因此需要index为true;无需分词器

  • weight:类型为float;参与搜索,因此需要index为true;无需分词器

  • isMarried:类型为boolean;参与搜索,因此需要index为true;无需分词器

  • info:类型为字符串,需要分词,因此是text;参与搜索,因此需要index为true;分词器可以用ik_smart

  • email:类型为字符串,但是不需要分词,因此是keyword;不参与搜索,因此需要index为false;无需分词器

  • score:虽然是数组,但是我们只看元素的类型,类型为float;参与搜索,因此需要index为true;无需分词器

  • name:类型为object,需要定义多个子属性

    • name.firstName;类型为字符串,但是不需要分词,因此是keyword;参与搜索,因此需要index为true;无需分词器

    • name.lastName;类型为字符串,但是不需要分词,因此是keyword;参与搜索,因此需要index为true;无需分词器

2)索引库的CRUD

这里我们统一使用Kibana编写DSL的方式来演示。

1

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机智兵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值