DSL操作ElasticSearch基础命令


一、DSL操作ES-RESTful风格

在这里插入图片描述

二、DSL操作索引库

# 新增索引库语法
PUT 索引库名

# 查询索引库
GET 索引库名

# 删除索引库
DELETE 索引库名

# 关闭索引库(注意:关闭索引库不能更改数据)
POST 索引库名/_close

# 开放索引库
POST 索引库名/_open

2.1 PUT 添加索引

PUT goods_index

在这里插入图片描述

2.2 GET 查询索引

GET goods_index

在这里插入图片描述

2.3 DELETE 删除索引

DELETE goods_index

在这里插入图片描述

2.4 POST 打开/关闭索引库

关闭索引
POST goods_index/_close

在这里插入图片描述

打开索引库
POST goods_index/_open

在这里插入图片描述

三、DSL操作映射

3.1 数据类型

3.1.1 简单数据类型

1.字符串-text:可以分词,不支持聚合(统计)

分词的数据,内容较为复杂,统计没有意义

2.字符串-keyword:不会分词,将全部内容作为一个词条,支持聚合(统计)

例如:有个文档(相当于数据库一条数据),其中一个字段的值是华为手机
text: 华为、手机
keyword: 华为手机

3.数值
在这里插入图片描述
4.布尔(boolean)

5.二进制(binary)

6.范围类型(integer_range, float_range, long_range, double_range, date_range)

7.日期(date)

3.1.2 复杂数据类型

1.数组 []:没有专用的array数据类型,任何一个字段的值,都可以被添加0个到多个,但要求他们的类型必须一致,当类型一直含有多个值存储到ES中会自动转化成数组类型 [“eric”,“jack”] List Set

2.对象 {} Map User {key:value,key:value}

3.GEO: geo_point 地理位置坐标值

小结:
1.text:适用于分词的场景
2.keyword:适用于结构化精确的查询
3.数字:适合范围查询
4.boolean:适合true或false
5.geo_point:地理位置坐标值

3.2 创建索引库并设置映射

3.2.1 语法格式

# 创建索引库并设置映射语法
PUT person
{
 "mappings": {
   "properties": {
     "属性名":{
       "type": "数据类型"
     },
	 ...
   }
 }
}

3.2.2 举例

#创建索引库并且设置映射(创建person索引库,映射两个字段name、age)
PUT person
{
  "mappings": {
    "properties": {
      "name":{
        "type": "text"
      },
      "age":{
        "type": "integer"
      }
    }
  }
}

在这里插入图片描述

3.3 查询索引库映射

3.3.1 语法格式

# 查询索引库映射语法
GET 索引库名/_mapping

3.3.2 举例

# 查询索引库映射
GET person/_mapping

在这里插入图片描述

3.4 增加映射字段

3.4.1 语法格式

# 增加映射字段语法
PUT 索引库名/_mapping
{
  "properties": {
     "新增属性名":{
       "type": "数据类型"
     }
   }
}

3.4.2 举例

#增加映射字段
PUT person/_mapping
{
  "properties":{
    "sex":{
      "type":"keyword"
    }
  }
}

注意:一旦涉及到ES的映射的字段修改或删除,都必须重建索引库

在这里插入图片描述
注意:ES不能单独修改映射字段名称或类型,不能单独删除某个字段,如果需要修改,直接删除整个索引库再重建

四、DSL操作文档

4.1 添加文档

4.1.1 指定id

4.1.1.1 语法格式
# 添加文档,指定id   
POST 索引库名/_doc/指定id
{
  "属性名":属性值,
  ...
}
4.1.1.2 举例
POST person/_doc/1
{
  "name":"张三",
  "age":18,
  "sex":"男"
}

在这里插入图片描述

4.1.2 不指定id

4.1.2.1 语法格式
# 添加文档,不指定id   
POST 索引库名/_doc
{
  "属性名":属性值,
  ...
}
4.1.2.2 举例
POST person/_doc
{
  "name":"翠花",
  "age":20,
  "sex":"女"
}

在这里插入图片描述

4.2 查询文档

4.2.1 查询单个

GET person/_doc/1   

在这里插入图片描述

GET person/_doc/JHOaYoUBDyHDigT_2Vu8 

在这里插入图片描述

4.2.2 查询全部

GET person/_search

在这里插入图片描述

4.3 修改文档

4.3.1 语法格式

# 修改一条文档数据
PUT 索引库名/_doc/指定id
{
  "属性名":属性值,
  ...
}

4.3.2 举例

PUT person/_doc/1
{
  "name":"如花",
  "age":20,
  "sex":"女"
}

在这里插入图片描述

再次查看
GET person/_doc/1    

在这里插入图片描述

4.4 删除文档

4.4.1 语法格式

# 删除一条文档数据
DELETE 索引库名/_doc/指定id

4.4.2 举例

DELETE person/_doc/1

在这里插入图片描述

五、Kibana客户端提示#! 解决

5.1 问题

Kibana提示#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. Seehttps://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.html to enable security.
在这里插入图片描述

5.2 解决方案

在es的安装路径下的config目录下elasticsearch.yml文件去 配置禁用安全选项xpack.security.enabled,之后重启Elasticsearch和kibana
在这里插入图片描述

network.host: 127.0.0.1
xpack.security.enabled: false

在这里插入图片描述
重启ES
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值