es修改数据

Posted lajiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es修改数据相关的知识,希望对你有一定的参考价值。

# 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#bulk-routing
* es修改数据:
# update_by_query:
    def update_order_info_by_id(data_list):
        update_body = {
             "query": {
                 "term": {"_id": id_}
 
            },
            "script": {
                "inline": "ctx._source.order_info=params.order_info",
                "params": {
                    ‘order_info‘ : {"test": "999qwwe", ‘aa‘:"sssqweee"}
                }
            }
        }

     resp = es.update_by_query(index=index, doc_type=doc_type, body=update_body)

    
    # 批量修改
    def update_order_info_by_id(data_list):
      # res_set = set()
    res_set = []
    for id_ in data_list:
        res_dict = dict()
        res_dict["_index"] = index
        res_dict["_op_type"] = "update"
        res_dict["_type"] = doc_type
        res_dict["_id"] = "AWZb5L8Kt4yMTep0SgOS" # 批量修改时id必须传递
        update_body = {
            "script": {
                "inline": "ctx._source.order_info=order_info",
                "params": {
                    ‘order_info‘ : {"test": "999qwwe", ‘aa‘:"sssqweee"}
                }
            }
        }
        res_dict.update(update_body)
        res_set.append(res_dict)
 success, _ = helpers.bulk(es, actions=res_set)

以上是关于es修改数据的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL ES 学习教程(十三) Stencil_TEST(模板缓冲测试)

30秒就能看懂的JavaScript 代码片段

spring boot动态修改es的连接地址

ES增量同步方案

ES6解构赋值

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段