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" } }
Nice to see you all!