Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档
倒排索引
正排(正向)索引:
ID | content |
---|---|
01 | my name is zhangsan |
02 | my name is lisi |
倒排索引:
keyword | ID |
---|---|
name | 01,02 |
zhang | 01 |
创建索引
创建索引等同于创建数据库
PUT具有幂等性,再次相同数据增加会报错
查询索引&删除
GET 获取信息
GET /shopping
#获取所有索引得详细信息
GET /_cat/indices?v
#删除当前索引
DELETE /shopping
文档创建
POST非幂等性
#根据索引创建文档内容
POST /shopping/_doc
{ "名字": "张三", "年龄": 30, "职业": "工程师", "邮箱": "zhangsan@example.com", "地址": { "国家": "中国", "城市": "北京" }, "爱好": ["阅读", "旅游"], "已婚": true
}
#根据索引创建文档内容,自定义id属性
POST /shopping/_doc/1001
{ "名字": "张三", "年龄": 30, "职业": "工程师", "邮箱": "zhangsan@example.com", "地址": { "国家": "中国", "城市": "北京" }, "爱好": ["阅读", "旅游"], "已婚": true
}
查询主键&全查询
GET
#查询索引为shopping主键为1001得结果
GET /shopping/_doc/1001
#查询索引为shopping所有结果(会将创建时主键为1001和主键随机得信息都会列举出来)
GET /shopping/_search
全量、局部修改&删除
PUT全量
POST 局部
DELETE
#全量数据覆盖,修改年龄为32
PUT /shopping/_doc/1001
{ "名字": "张三", "年龄": 32, "职业": "工程师", "邮箱": "zhangsan@example.com", "地址": { "国家": "中国", "城市": "北京" }, "爱好": ["阅读", "旅游"], "已婚": true
}#局部数据修改,修改年龄为33岁
POST /shopping/_update/1001
{"doc": {"年龄": 33}
}#删除索引主键为1001
DELETE /shopping/_doc/1001