mapping操作
新增索引及mapping
先新增索引
PUT http://localhost:9200/job
新增映射
post http://localhost:9200/job/_mapping
{
"properties": {
"jid": {
"type": "long"
},
"title": {
"type": "text"
},
"company": {
"type": "text"
},
"salary": {
"type": "integer_range"
},
"city": {
"type": "keyword"
},
"description": {
"type": "text"
},
"req_time": {
"type":"date",
"format": "yyyy-MM-dd HH:mm:ss||date_optional_time||epoch_millis"
},
}
}
或者上述两步和为一步(创建索引,及创建mapping)
post http://localhost:9200/job/_mapping
{
"mappings": {
"properties": {
"jid": {
"type": "long"
},
"title": {
"type": "text"
},
"company": {
"type": "text"
},
"salary": {
"type": "integer_range"
},
"city": {
"type": "keyword"
},
"description": {
"type": "text"
},
"req_time": {
"type":"date",
"format": "yyyy-MM-dd HH:mm:ss||date_optional_time||epoch_millis"
}
}
}
}
对已存在的index增加映射
只能增加原有不存在的字段
POST /job/_mapping
{
"properties": {
"test1": {
"type": "long"
},
"test2": {
"type": "integer"
}
}
}
如何修改mapping?
创建一个全新的索引,映射包含调整后的字段或类型
将原有索引的数据迁移到新的索引
删除原有索引
将新的索引的别名设置为原来索引相同名称
文档的操作
创建文档
创建一个
post http://localhost:9200/job/_create/1
{
"jid": 1,
"title": "Java开发工程师",
"company": "北京威米信科技有限公司",
"salary": {
"gte": 9000,
"lte": 15000
},
"city": "北京",
"description": "xxx"
}
重建文档(全量更新)
post http://localhost:9200/job/_doc/1
{
"jid": 1,
"title": "Java开发工程师",
"company": "北京威米信科技有限公司",
"salary": {
"gte": 9000,
"lte": 15000
},
"city": "北京",
"description": "xxx"
}
更新操作
全量更新与局部更新
若原文档为{"a":1,"b":2}
全量更新是:若更新数据为{"a":111},则get整个文档变为{"a":111}
局部更新是:若更新数据为{"a":111},则get整个文档变为{"a":111,"b":2}
https://liuhuiyao.blog.csdn.net/article/details/120849094
条件更新
// POST /lhy_test/_update_by_query
// {
// "query": {
// "terms" : {
// "_id" : ["_create"]
// }
// },
// "script": {
// "source": "ctx._source.salary=100",
// "lang": "painless"
// }
// }
单个更新
// POST /xxx/_update/1?refresh=true
// {
// "doc":{
// "isec_opt_state":1
// },
// "doc_as_upsert":false//#重要:false当id为1的记录不存在时会更新报错,true当id为1的记录不存在时会创建索引并插入记录
//
// }
批量新增、更新操作
https://liuhuiyao.blog.csdn.net/article/details/121488282文章来源:https://www.toymoban.com/news/detail-501477.html
删除文档
delete http://localhost:9200/job/_doc/1文章来源地址https://www.toymoban.com/news/detail-501477.html
网上案例
一,索引文档
// 称之为index一个文档,指定ID,Put创建必须指定ID
// 如果文档存在,会先删除文档,重新创建
PUT lcy_test/_doc/1
{
"name":"lch"
}
二,create文档
// 指定ID,同时指定是create,如果id存在,则报错
PUT lcy_test/_doc/1?op_type=create
{
"name":"lch"
}
三,create文档2
// 另外一种create的方法,
//指定Id,同时指定是create,如果id存在,则报错
PUT lcy_test/_create/4
{
"name":"lch"
}
四,post创建文档
// POST创建文档,不用指定id
POST lcy_test/_doc
{
"name":"james2"
}
生成新文档有2中方式:一是指定ID,索引文档、create文档,put和post都可以;
二是不指定ID:post方式自动生成ID,只有post,put不行;
五,update文档
// update,修改内容必须包含在doc中
POST lcy_test/_update/1
{
"doc":{
"name":"lcy2",
"first name":"yong"
}
}
六,查询文档
GET lcy_test/_doc/2FJtCHcBTCkjMQHa_GD1
七,批量操作 bulk
// 批量操作1
// bulk
POST _bulk
{"index":{"_index":"lcy_test"}}
{"name":"get"}
{"delete":{"_index":"lcy_test","_id":"2FJtCHcBTCkjMQHa_GD1"}}
{"create":{"_index":"lcy_test","_id":1}}
{"name":"get"}
八,批量查询 mget
// 批量查询 _mget
GET _mget
{
"docs":[
{
"_index":"lcy_test",
"_id":1
},
{
"_index":"lcy_test",
"_id":2
}
]
}
九,批量查询 mquery
// 批量查询 _mquery
POST kibana_sample_data_ecommerce/_msearch
{}
{"query":{"match_all":{}},"size":1}
{"index":"kibana_sample_data_flights"}
{"query":{"match_all":{}},"size":2}
到了这里,关于es elasticsearch 新增更新索引,新增更新文档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!