Elasticsearch Rest风格操作索引操作

Posted 老李笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch Rest风格操作索引操作相关的知识,希望对你有一定的参考价值。

Elasticsearch Rest风格操作(一)索引操作

基本Rest命令说明

methodurl地址描述
PUT127.0.0.1:9200/索引名称/类型名称/文档id创建文档(指定文档id)
POST127.0.0.1:9200/索引名称/类型名称创建文档(随机文档id)
POST127.0.0.1:9200/索引名称/类型名称/文档id/_update修改文档
DELETE127.0.0.1:9200/索引名称/类型名称/文档id删除文档
GET127.0.0.1:9200/索引名称/类型名称/文档id查询文档通过文档id
POST127.0.0.1:9200/索引名称/类型名称/_search查询所有数据

1、rest风格 curl命令行操作

1.1、基础操作

# 查询ES里面有多少个库
GET _cat/indices?v
curl localhost:9200/_cat/indices?v

# GET请求-基础
curl localhost:9200/test1/test1/101

# put请求
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' \\
-d '"message":"bbbb","exchange_id":"123"' 'localhost:9200/test1/test1/101'

# POST请求-创建文档
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \\
 -d '"message":"cccc","exchange_id":"123"' 'localhost:9200/test1/test1'

# POST请求-查询文档
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \\
 'localhost:9200/test1/_search'

# delete请求
curl -X DELETE 'localhost:9200/test1/test1/100'

1.2、实战

# 查询索引 hao 、查询结果格式化、查询条件 name 为 xmp、返回列包括 name
curl -X POST --header 'Content-Type: application/json' \\
 --header 'Accept: application/json' 'localhost:9200/hao/_search?pretty' \\
 -d '"query":"match":"name":"xmp","_source":["name"]'

# 批量删除符合条件的集合
# _delete_by_query 表示:删除 根据 查询的条件
curl -X POST --header 'Content-Type: application/json' \\
 --header 'Accept: application/json' 'localhost:9200/hao/_delete_by_query' \\
 -d '"query":"match":"name":"png"'

2、索引

2.1、创建索引

PUT /test1/type1/1

  "name":"洪七公",
  "age":3


2.2、复制索引(重命名)

POST localhost:9200/_reindex

  "source": 
    "index": "indexName"
  ,
  "dest": 
    "index": "newIndexName"
  

rest请求

curl -X POST --header 'Content-Type: application/json' \\
 --header 'Accept: application/json' 'localhost:9200/_reindex' \\
 -d '"source": "index": "old_name","dest": "index": "new_name"'

3、指定字段的类型

常见字段类型

字符串类型 text , keyword
数值类型 long , integer , short , byte , double , float , half float , scalet float
日期类型 date
布尔类型 boolean
二进制类型 binary
等等 …

举例:执行如下脚本

PUT /test2

  "mappings": 
    "properties": 
      "name":
        "type": "text"
      ,
      "age":
        "type": "long"
      ,
      "birthday":
        "type": "date"
      
    
  


查看结果:

4、GET命令

GET test2

5、获取健康值

GET _cat/health

6、获取版本信息

GET _cat/indices?v

7、修改

7.1、修改方式1

POST /test1/type1/1

  "name":"张三丰",
  "age":33

执行:

查询:

7.2、修改方式2

POST /test1/type1/1/_update

  "doc":
    "name":"六小龄童"
  

8、删除

DELETE test2


特别鸣谢:狂神说Java

以上是关于Elasticsearch Rest风格操作索引操作的主要内容,如果未能解决你的问题,请参考以下文章

第130天学习打卡(ElasticSearch Rest风格说明 索引 文档 )

ElasticSearch 数据操作

Elasticsearch 7.X RESTful 风格 索引文档映射操作

Elasticsearch总结笔记

操作ElasticSearch(增删改查)

Elastisearch 简介 使用 Query DSL 映射 分词 Elasticsearch-Rest-Client