一.创建索引
PUT twitter
{
"settings" : {
"index" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}
}
语法规则:https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
备注:
1.number_of_shards:索引分片数
2.number_of_replicas:索引副本数
3.index可以简写
具体索引字段见:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html
二.获取索引
1.GET /twitter
{
"twitter": {
"aliases": {},
"mappings": {},
"settings": {
"index": {
"creation_date": "1505635897531",
"number_of_shards": "3",
"number_of_replicas": "2",
"uuid": "VpozplmDTIObzv-lUXryuw",
"version": {
"created": "5060099"
},
"provided_name": "twitter"
}
}
}
}
2.GET twitter/[_settings|_mappings|_aliases] - 分别获取与之对应的内容节点信息
三.删除索引
DELETE /twitter
四.关闭和开启索引
1.关闭索引
POST /twitter/_close
2.开启索引
POST /twitter/_open
五.创建索引类型
PUT twitter
{
"mappings": {
"tweet": {
"properties": {
"message": {
"type": "text"
}
}
}
}
}
注:如果索引不存在则创建,已存在则会报错.如下:
{
"error": {
"root_cause": [
{
"type": "index_already_exists_exception",
"reason": "index [twitter/Exa9xht9SUe_djnaOhX4fA] already exists",
"index_uuid": "Exa9xht9SUe_djnaOhX4fA",
"index": "twitter"
}
],
"type": "index_already_exists_exception",
"reason": "index [twitter/Exa9xht9SUe_djnaOhX4fA] already exists",
"index_uuid": "Exa9xht9SUe_djnaOhX4fA",
"index": "twitter"
},
"status": 400
}
那么如果针对已存在的索引增加一个类型?
PUT twitter/_mapping/user
{
"properties": {
"name": {
"type": "text"
}
}
}
批量给多个索引增加一个操作类型
PUT aa,bb,cc/_mapping/test
{
"properties": {
"name": {
"type": "text"
}
}
}
文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html
六.获取索引类型
1.获取某个索引下单个类型
GET /twitter/_mapping/game
2.全局匹配某个类型
GET /_mapping/game
3.获取全部类型
GET /_all/_mapping
GET /_mapping
七.添加数据
PUT twitter/tweet/1
{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
注:
1.不存则添加否则更新.
2.索引/类型/主键ID
3.twitter/tweet/1?op_type=create只负责创建,存在则报错
8.乐观锁
PUT twitter/tweet/1?version=2
{
"message" : "elasticsearch now has versioning support, double cool!"
}
9.主键ID自增
POST twitter/tweet/
{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
主键ID生成格式:AV6PKkAT4fkb07FW6KlE
10.获取数据
1.正常返回数据格式
GET twitter/tweet/0
返回:
{
"_index": "twitter",
"_type": "tweet",
"_id": "1",
"_version": 4,
"found": true,
"_source": {
"user": "kimchy",
"post_date": "2009-11-15T14:12:12",
"message": "trying out Elasticsearch"
}
}
2.获取source原数据
GET /twitter/tweet/1/_source
{
"_index": "twitter",
"_type": "tweet",
"_id": "1_source=false",
"found": false
}
文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
11.修改数据
POST twitter/tweet/1/_update
{
"script" : {
"source": "ctx._source.user += params.user",
"lang": "painless",
"params" : {
"user" : "blue"
}
}
}
注:更新tweet类型中user字段,拼接更新.最终结果:??????blue
合并更新
POST test/type1/1/_update
{
"doc" : {
"user" : "new_name"
}
}
文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html
12.删除数据
DELETE /twitter/tweet/1
结语
推荐使用一款软件:postman