如何手动修改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:

如果想批量操作的话,跟根据数据的类型了。 如果没有,就只能一一查出对应的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相应的数据,但是内容多的时候,就变得不方便了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐