ElasticSearch学习2

1、索引的操作

1、创建索引

        对ES的操作其实就是发送一个restful请求,kibana中在DevTools中进行ES操作

        创建索引时需要注意ES的版本,不同版本的ES创建索引的语句略有差别,会导致失败

如下创建一个名为people的索引,settings,一些设置,mappings字段映射

PUT people

{
    "settings":{
        "number_of_shards":3,
        "number_of_replicas":1
    },
    "mappings":{
        "man":{
            "properties":{
                "name":{
                    "type":"text"
                },
                "country":{
                    "type":"keyword"
                },
                "age":{
                    "type":"integer"
                },
                "date":{
                    "type":"date",
                    "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
                }
            }
        }    
    }
}

ElasticSearch学习2_第1张图片

我的版本是7.0之前的老版本,需要指定索引类型,所以需要带上,如果是7.0之后的可以用下方语句

PUT people1
{
    "settings": {
        "number_of_shards": 3,
        "number_of_replicas": 1
    },
    "mappings": {
        "properties": {
            "name": {
                "type": "text"
            },
            "country": {
                "type": "keyword"
            },
            "age": {
                "type": "integer"
            },
            "date": {
                "type": "date",
                "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
            }
        }
    }
}

ElasticSearch学习2_第2张图片

 索引创建成功

2、查询索引信息

GET /people

ElasticSearch学习2_第3张图片

3、删除索引

DELETE /people

2、数据操作

有了索引以后,就相当于有了表,然后就可以对表进行增、删、改、查数据。

2、1 添加数据

  • PUT /索引名/类型名/文档id:创建一个指定id的文档
  • POST /索引名/类型名: 不指定ID插入时会自动生成,需要使用POST请求

以下三种方式请求是正确的:

put /test_1/test/1
{
  "id":1,
  "name":"小明",
  "age":20,
  "desc":"三好学生",
  "depName":"中学部"
}
post /test_1/test
{
  "id":2,
  "name":"小红",
  "age":22,
  "desc":"三好学生干部",
  "depName":"小学部"
}

post /test_1/test/3
{
  "id":3,
  "name":"小张",
  "age":18,
  "desc":"优秀干部",
  "depName":"大学部"
}

put请求后必现跟文档id,否则报错

ElasticSearch学习2_第4张图片

 2、2修改数据

通过继续提交PUT覆盖原来的值,需要带文档id,不带报错

ElasticSearch学习2_第5张图片

POST请求不加文档id和_update,表示的是新增数据

ElasticSearch学习2_第6张图片

 添加了文档id报错

ElasticSearch学习2_第7张图片

 ElasticSearch学习2_第8张图片

2、3查询数据

GET /索引名称/类型名称/文档id      根据id查询单条数据

ElasticSearch学习2_第9张图片

 查询数据不存在时:

ElasticSearch学习2_第10张图片

 2、4删除数据

删除数据是逻辑删除

ElasticSearch学习2_第11张图片

 3、复杂查询

1、查询所有(默认返回结果是分页的,只返回了第一页10条)

ElasticSearch学习2_第12张图片

ElasticSearch学习2_第13张图片

 2、带条件查询

ElasticSearch学习2_第14张图片

 只查询想要的字段_source指定

ElasticSearch学习2_第15张图片

 3、分页查询

from 第几页,size每页数量

ElasticSearch学习2_第16张图片

 4、排序

ElasticSearch学习2_第17张图片

5、多条件查询&范围查询

 

你可能感兴趣的:(ElasticSearch,微服务相关,elasticsearch,学习,大数据)