elastaticsearch简单操作

1. 索引库操作

1.1 mapping映射属性

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

- type:字段数据类型,常见的简单类型有:
  - 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)
  - 数值:long、integer、short、byte、double、float、
  - 布尔:boolean
  - 日期:date
  - 对象:object
- index:是否创建索引,默认为true
- analyzer:使用哪种分词器
- properties:该字段的子字段

1.2索引操作

- 创建索引

PUT /test
{
"mappings": { "properties": { "info": { "type": "text", "analyzer": "ik_smart" }, "email": { "type": "keyword", "index": "false" }, "name": { "type": "object", "properties": { "firstName": { "type": "keyword" } } } } } }

- 查看索引

GET /test

- 修改索引

PUT /test/_mapping
{
    "properties": {
        "test": {
            "type": "text",
            "analyzer": "ik_smart"
        }
    }
}

- 删除索引

DELETE /test

  

2. 文档操作

- 创建文档:POST /{索引库名}/_doc/文档id { json文档 }

POST /test/_doc/1
{
  "email":"year12@163.com",
  "info" : "test",
  "name" : {
    "firstName" : "zhan"
  }
}

- 查询文档:GET /{索引库名}/_doc/文档id

GET /test/_doc/1


- 删除文档:DELETE /{索引库名}/_doc/文档id

DELETE /test/_doc/uI9C5oABPNlvKwN1uKJ5


- 修改文档:
- 全量修改:PUT /{索引库名}/_doc/文档id { json文档 }

PUT /test/_doc/1
{
  "email":"year12@163.com",
  "info" : "test2",
  "name" : {
    "firstName" : "zhan"
  }
}


- 增量修改:POST /{索引库名}/_update/文档id { "doc": {字段}}

如果mapping不存在该字段,会新增

POST /test/_doc/1
{
  "name" : {
    "firstName" : "zhan2"
  }
}

 

posted @ 2022-05-21 17:59  year12  阅读(171)  评论(0编辑  收藏  举报