es 修改字段的值

如何手动修改es内容的值呢?给某个字段赋值,或是字段间进行赋值

用script

http://127.0.0.1:9200/car_statics_index/_update_by_query

{
    "script": {
        "inline": "ctx._source.form_serial = ctx._source.form_data.ORDER_NUM"
    },
    "query": {
        "terms": {
            "data_id": ["1605148490022"]
        }
    }
}

“inline”: “ctx._source.form_serial = ctx._source.form_data.ORDER_NUM”

ctx._source 是固定的,form_serial 是要处理的字段,可以直接赋值,或是赋值其他字段的内容。

postman:

《es 修改字段的值》

如果想批量操作的话,跟根据数据的类型了。 如果没有,就只能一一查出对应的id了

只查对应的id

GET /car_statics_index/_search

{
	"_source": {
		"includes": ["data_id"]
	},
	"size": 20,
	"from": 0,
	"query": {
		"bool": {
			"must": [{
				"match": {
					"color": "red"
				}
			}]
		}
	}
}

使用  “_source“: {  “includes“: [“data_id“] }  指定要展示的字段,就不会一堆内容,然后复制出相应的id,再进行修改。

总结:

     手动修改es的数据,用postman操作会更方便,当然也可以重新put相应的数据,但是内容多的时候,就变得不方便了。

    原文作者:天狼1222
    原文地址: https://blog.csdn.net/qq_35461948/article/details/122670521
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞