• ElasticSearh更新nested字段(Array数组)。怎么根据查询条件(query)复制一个(index)到新的Index how to update by query a nested fields data for elasticsearch


    GET usernested/_search
    {
      "query": {
        "nested": {
          "path": "tags",
          "query": {
            "bool": {
              "must": [
                {
                  "term": {
                    "tags.brandid": "93a8296c-5b64-49ea-bd92-b19192def2e9"
                  }
                },
                {
                  "term": {
                    "tags.site": "163"
                  }
                }
              ]
            }
          }
        }
      }
    }
    
    
    //按照条件新建一个index 作为测试数据使用
    POST _reindex
    {
      "source": {
        "index": "usernested",
        "query": {
          "nested": {
            "path": "tags",
            "query": {
              "bool": {
                "must": [
                  {
                    "term": {
                      "tags.brand": "c55fd643-1333-4647-b898-fb3e5e4e6d67"
                    }
                  },
                  {
                    "term": {
                      "tags.site": "163"
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "dest": {
        "index": "new_usernested"
      }
    }
    
    
    //查询
    GET new_usernested/_search
    {
      "query": {
        "nested": {
          "path": "tags",
          "query": {
            "bool": {
              "must": [
                {
                  "term": {
                    "tags.brand": "c55fd643-1333-4647-b898-fb3e5e4e6d67"
                  }
                },
                {
                  "term": {
                    "tags.site": "163"
                  }
                }
              ]
            }
          }
        }
      }
    }
    
    //根据条件更新一个 nested的文档
    GET usernested/_update_by_query
    {
      "query": {
        "nested": {
          "path": "tags",
          "query": {
            "bool": {
              "must": [
                {
                  "term": {
                    "tags.brand": "c55fd643-1333-4647-b898-fb3e5e4e6d67"
                  }
                },
                {
                  "term": {
                    "tags.site": "163"
                  }
                }
              ]
            }
          }
        }
      },
      "script": {
        "inline": "for(e in ctx._source.tags){e.brand = 'test2';}" //更新nested字段
    //"inline":"ctx._source.userid = 'testid'" //更新普通字段 } }
  • 相关阅读:
    最佳买卖股票时期含冷冻期
    牛客网刷题笔记
    交换字符中的元素
    刷题总结
    牛客基础网刷题笔记
    买卖股票的最佳时机 II
    Solution -「51nod 1355」斐波那契的最小公倍数
    Solution -「51nod 1584」加权约数和
    Solution -「CF 1375G」Tree Modification
    Solution -「洛谷 P5787」「模板」二分图(线段树分治)
  • 原文地址:https://www.cnblogs.com/haoliansheng/p/6475637.html
Copyright © 2020-2023  润新知