前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch(7.2.2)-⽂档的增删改查

ElasticSearch(7.2.2)-⽂档的增删改查

作者头像
cwl_java
发布2019-10-30 20:03:10
3680
发布2019-10-30 20:03:10
举报
文章被收录于专栏:cwl_Javacwl_Java

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102798546

简介:⼿把⼿演示⽂档的增删改查

新增文档
  • PUT localhost:9200/nba/_doc/1 (指定id)
代码语言:javascript
复制
{
 "name":"哈登",
 "team_name":"⽕箭",
 "position":"得分后卫",
 "play_year":"10",
 "jerse_no":"13"
 
}
代码语言:javascript
复制
{
	"_index": "nba",
	"_type": "_doc",
	"_id": "1",
	"_version": 1,
	"result": "created",
	"_shards": {
		"total": 2,
		"successful": 1,
		"failed": 0
	},
	"_seq_no": 0,
	"_primary_term": 1
}
  • POST localhost:9200/nba/_doc (不指定id)
代码语言:javascript
复制
{
 "name":"库⾥",
 "team_name":"勇⼠",
 "position":"组织后卫",
 "play_year":"10",
 "jerse_no":"30"
 
}
代码语言:javascript
复制
{
	"_index": "nba",
	"_type": "_doc",
	"_id": "cVi582sB6wrnBnZnFqog",
	"_version": 1,
	"result": "created",
	"_shards": {
		"total": 2,
		"successful": 1,
		"failed": 0
	},
	"_seq_no": 1,
	"_primary_term": 1
}
⾃动创建索引
  • 查看auto_create_index开关状态,请求http://localhost:9200/_cluster/settings
  • 当索引不存在并且auto_create_index为true的时候,新增⽂档时会⾃动创建索引
  • 修改auto_create_index状态
    • PUT localhost:9200/_cluster/settings
代码语言:javascript
复制
{
	"persistent": {
		"action.auto_create_index": "false"
	}
}
代码语言:javascript
复制
{
	"acknowledged": true,
	"persistent": {
		"action": {
			"auto_create_index": "false"
		}
	},
	"transient": {}
}
  • 当auto_create_index=false时,指定⼀个不存在的索引,新增⽂档
    • PUT localhost:9200/wnba/_doc/1
代码语言:javascript
复制
{
 "name":"杨超越",
 "team_name":"梦之队",
 "position":"组织后卫",
 "play_year":"0",
 "jerse_no":"18"
 
}	
代码语言:javascript
复制
{
	"error": {
		"root_cause": [{
			"type": "index_not_found_exception",
			"reason": "no such index [wnba]",
			"resource.type": "index_expression",
			"resource.id": "wnba",
			"index_uuid": "_na_",
			"index": "wnba"
		}],
		"type": "index_not_found_exception",
		"reason": "no such index [wnba]",
		"resource.type": "index_expression",
		"resource.id": "wnba",
		"index_uuid": "_na_",
		"index": "wnba"
	},
	"status": 404
}
  • 当auto_create_index=true时,指定⼀个不存在的索引,新增⽂档
代码语言:javascript
复制
{
 "name":"杨超越",
 "team_name":"梦之队",
 "position":"组织后卫",
 "play_year":"0",
 "jerse_no":"18"
 
}
代码语言:javascript
复制
{
	"_index": "wnba",
	"_type": "_doc",
	"_id": "1",
	"_version": 1,
	"result": "created",
	"_shards": {
		"total": 2,
		"successful": 1,
		"failed": 0
	},
	"_seq_no": 0,
	"_primary_term": 1
}
  • 指定操作类型
    • PUT localhost:9200/nba/_doc/1?op_type=create
代码语言:javascript
复制
{
 "name":"哈登",
 "team_name":"⽕箭",
 "position":"得分后卫",
 "play_year":"10",
 "jerse_no":"13"
 
}
代码语言:javascript
复制
{
	"error": {
		"root_cause": [{
			"type": "version_conflict_engine_exception",
			"reason": "[1]: version conflict, document already
			exists(current version[2])
			",
			"index_uuid": "oPdc9qAjRO-IlzPfymnpkg",
			"shard": "0",
			"index": "nba"
		}],
		"type": "version_conflict_engine_exception",
		"reason": "[1]: version conflict, document already exists
			(current version[2])
		",
		"index_uuid": "oPdc9qAjRO-IlzPfymnpkg",
		"shard": "0",
		"index": "nba"
	},
	"status": 409
}
查看⽂档
  • GET localhost:9200/nba/_doc/1
代码语言:javascript
复制
{
	"_index": "nba",
	"_type": "_doc",
	"_id": "1",
	"_version": 3,
	"_seq_no": 3,
	"_primary_term": 1,
	"found": true,
	"_source": {
		"name": "哈登",
		"team_name": "⽕箭",
		"position": "得分后卫",
		"play_year": "10",
		"jerse_no": "13"
	}
}
查看多个文档
  • POST localhost:9200/_mget
代码语言:javascript
复制
{
	"docs": [{
			"_index": "nba",
			"_type": "_doc",
			"_id": "1"
		},
		{
			"_index": "nba",
			"_type": "_doc",
			"_id": "2"
		}
	]
} {
	"docs": [{
			"_index": "nba",
			"_type": "_doc",
			"_id": "1",
			"_version": 3,
			"_seq_no": 3,
			"_primary_term": 1,
			"found": true,
			"_source": {
				"name": "哈登",
				"team_name": "⽕箭",
				"position": "得分后卫",
				"play_year": "10",
				"jerse_no": "13"
			}
		},
		{
			"_index": "nba",
			"_type": "_doc",
			"_id": "2",
			"found": false
		}
	]
}
  • POST localhost:9200/nba/_mget
代码语言:javascript
复制
{
	"docs": [{
			"_type": "_doc",
			"_id": "1"
		},
		{
			"_type": "_doc",
			"_id": "2"
		}
	]
}
  • POST localhost:9200/nba/doc/mget
代码语言:javascript
复制
{
	"docs": [{
			"_id": "1"
		},
		{
			"_id": "2"
		}
	]
}
  • GET localhost:9200/nba/doc/mget
代码语言:javascript
复制
{
 	"ids" : ["1", "2"]
}
修改⽂档
  • 根据提供的⽂档⽚段更新数据
    • POST localhost:9200/nba/_update/1
代码语言:javascript
复制
{
	"doc": {
		"name": "哈登",
		"team_name": "⽕箭",
		"position": "双能卫",
		"play_year": "10",
		"jerse_no": "13"
	}
}
  • 向_source字段,增加⼀个字段
    • POST localhost:9200/nba/_update/1
代码语言:javascript
复制
{
	 "script": "ctx._source.age = 18"
}
  • 从_source字段,删除⼀个字段
    • POST localhost:9200/nba/_update/1
代码语言:javascript
复制
{
 	"script": "ctx._source.remove(\"age\")"
}
  • 根据参数值,更新指定⽂档的字段
    • POST localhost:9200/nba/_update/1
代码语言:javascript
复制
{
	"script": {
		"source": "ctx._source.age += params.age",
		"params": {
			"age": 4
		}
	}
}
  • upsert 当指定的⽂档不存在时,upsert参数包含的内容将会被插⼊到索引中,作为⼀个新⽂档;如果指定的⽂档存在,ElasticSearch引擎将会执⾏指定的更新逻辑。
    • POST localhost:9200/nba/_update/3
代码语言:javascript
复制
{
	"script": {
		"source": "ctx._source.allstar += params.allstar",
		"params": {
			"allstar": 4
		}
	},
	"upsert": {
		"allstar": 1
	}
}
删除⽂档
  • DELETE localhost:9200/nba/_doc/1
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新增文档
  • ⾃动创建索引
  • 查看⽂档
  • 查看多个文档
  • 修改⽂档
  • 删除⽂档
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档