上一章我创建创建了test-index
这个索引,索引的删除操作很简单:
DELETE /index-name
创建索引时,可以指定索引的shard与replica数量:
PUT /products
{
"settings": {
"number_of_shards": 2,
"number_of_replicas": 2
}
}
products
索引此时具有两个shard和两个replica:
pri
是shard数量,rep
是replica的数量:
POST /products/_doc
{
"name":"test-name",
"price":10,
"count":100
}
有一个primary shard + 两个replica shard,所以返回total = 3.
插入数据时,如果没有指定id会自动生成一个id。
当然也可以显式指定id:
GET /index-name/_doc/id
如果查询的id不存在,会返回found: false
:
将上面记录的价格更新为30:
POST /products/_update/123
{
"doc":{
"price":30
}
}
重新查询数据,确认更新成功:
我们可以对已存在的字段进行更新,也可以增加新的字段:
上面的更新操作,是针对某个字段级别的更新,比如替换已有字段或增加新的字段。如果我们想对整个Document进行替换,可以使用以下语法:
PUT /products/_doc/123
{
"doc":{
"name": "Water",
"price":1,
"count":10
}
}
此时原来的文档被覆盖:
DELETE /index-name/_doc/id