Elaticsearch 更新文档示例

Elasticsearch提供了更新功能,包括单条更新和批量更新。

1. 更新单个文档

POST hockey/_update/1
{
  "script": {
    "lang": "painless",
    "source": "ctx._source.last = params.last",
    "params": {
      "last": "hockey"
    }
  }
}

2. 更新多个字段

POST /seats/_update/3
{
  "script": {
    "source": "ctx._source.sold = true; ctx._source.cost = params.sold_cost",
    "lang": "painless",
    "params": {
      "sold_cost": 26
    }
  }
}

更可读的新脚本:

POST hockey/_update/1
{
  "script": {
    "lang": "painless",
    "source": """
      ctx._source.last = params.last;
      ctx._source.nick = params.nick
    """,
    "params": {
      "last": "gaudreau",
      "nick": "hockey"
    }
  }
}

3. 批量更新文档

POST addresses/_update_by_query
{
    "script":
    {
        "lang": "painless",
        "source":"""
          ctx._source.data.url = ctx._source.data.url.replace('http', 'https');
          ctx._source.data.type = ctx._source.tcode.substring(0, 3)
        """
    },
    "query":
    {
        "query_string":
        {
            "query": "http://*",
            "analyze_wildcard": true
        }
    }
}

4. 总结

本文通过几个实例展示如何更新Elasticsearch文档信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值