1、按条件更新文档:
    kibana语法

    1. POST /rec_userinfo_v1/_update_by_query?conflicts=proceed
    2. {
    3. "query": {
    4. "terms": {"uid":[470979096, 331290690]}
    5. },
    6. "script":{
    7. "lang":"painless",
    8. "inline":"ctx._source.uidstatus = params.last",
    9. "params": {"last":6}
    10. }
    11. }
    12. // 查询修改结果
    13. GET /rec_userinfo_v1/_search
    14. {
    15. "query": {
    16. "terms": {
    17. "uid": [
    18. 470979096, 331290690
    19. ]
    20. }
    21. }
    22. }
    1. // 模糊搜索结果做条件
    2. updateBody = {
    3. "query": {
    4. "query_string": {"default_field": "topic", "query": "*{}*".format(topicstr)}
    5. },
    6. "script": {
    7. "inline": "ctx._source.state = params.index",
    8. "params": {
    9. "index": 2
    10. },
    11. "lang": "painless"
    12. }
    13. }
    14. // 精准条件
    15. updateBody = {
    16. "query": {
    17. "terms": {"tid": [123,456]}
    18. },
    19. "script": {
    20. "inline": "ctx._source.state = params.index",
    21. "params": {
    22. "index": 2
    23. },
    24. "lang": "painless"
    25. }
    26. }
    27. print(updateBody)
    28. es_client.update_by_query(index="topic", body=updateBody)