ES中常见查询语句总结(4)(*)

1.查询所有的索引库

GET _cat/indices?v

2.创建索引(sdb为一个索引)

put /sdb

如果你想禁止自动创建索引,你可以通过在 config/elasticsearch.yml 的每个节点下添加下面的配置:action.auto_create_index: false

3.查看索引(sdb为一个索引)

GET /sdb

4.修改索引副本数

PUT /sdb/_settings
{
    "number_of_replicas": 2
}

5.删除单个索引和多个索引

DELETE /sdb
DELETE /sd*
DELETE /sdb,/sda
删除全部索引
DELETE /_all 或者 DELETE /*

一般来说这样删除太过随意,也太过危险,因此我们可以elasticsearch.yml 做如下配置:
action.destructive_requires_name: true
这个设置使删除只限于特定名称指向的数据, 而不允许通过指定 _all 或通配符来删除指定索引库。

6.创建单个索引并创建字段

PUT /test
{
  "mappings": {
    "properties": {
      "title":{"type": "text"},
      "name":{"type": "text"},
      "age":{"type": "integer"},
      "created":{
        "type": "date",
        "format": "strict_date_optional_time||epoch_millis"
      }
    }
  },
  "settings": {
    "index":{
      "number_of_shards":1,
      "number_of_replicas":0
    }
  }
}

7.查看索引的settting

GET /test/_settings

8.看索引的mapping

GET /test/_mapping

9.查询索引里面主键为1的内容

GET /test/_doc/1

10.查询索引里面主键为1的age字段的内容

GET /test/_doc/1?_source=age

11.查询索引里面所有的数据

GET /test/_search
{
  "query": {
    "match_all": {}
  },
  "size": 100
}

12.根据name来查询,不会模糊查询

# 根据name来查询,不会模糊查询
GET /test/_search
{
  "query": {
    "match": {
      "name": "zs"
    }
  }
  "size":1
}

13.排序查询

GET /test/_doc
{
  "query":{
    "match": {
      "name": "ww"
    }
  },
  "sort":[
    {
      "date":{
        "order":"desc"
      }  
    }
  ]
}

14.附带分页的查询方式

GET /test/_search
{
  "query": {
    "match_all": {
      
    }
  },
  "from": 0,
  "size": 3
}

15.在所有的索引库中查询数据

GET _search
{
   "query":{
        "match":{
            "title":"金融"
        }
    },
    "size":1
}

16.往索引里面写数据

PUT /test/_doc/5
{
  "name":"zw",
  "title":"张五",
  "age":28,
  "created":"2020-11-01"
}

17.覆盖式修改数据

PUT /test/_doc/1
{
  "name":"zs",
  "title":"张三",
  "age":18,
  "created":"2020-01-01"
}

18.修改文档里面的某些字段

POST /test/_doc/1/_update
{
  "doc":{
    "age":20
  }
}

19.删除索引里面的主键为FOHEW3ABPeUHy0w_4ugQ的数据

DELETE /test/_doc/1

你可能感兴趣的:(消息中间件,java)