1. 程式人生 > 實用技巧 >elasticsearch 通過查詢修改、刪除

elasticsearch 通過查詢修改、刪除

elasticsearch通過查詢修改

update-by-query

nest

var list = new List<string> { "1", "2" };
client.UpdateByQuery<PostComment>(s => s
    .Index("post_comments")
    .Script(s=>s.Source("ctx._source.content='*'"))
    .Query(q =>
        q.Terms(t => t
            .Field(t => t.PostId)
            .Terms(list)
            )
        )
    );

http

POST http://127.0.0.1:9200/post_comments/_update_by_query
Content-Type: application/json

{
  "query": {
    "terms": {
      "postId": [
        "1",
        "2"
      ]
    }
  },
  "script": {
    "source": "ctx._source.content='*'"
  }
}

elasticsearch通過查詢刪除

delete-by-query

nest

var list = new List<string> { "1", "2" };
client.DeleteByQuery<PostComment>(s => s
    .Index("post_comments")
    .Query(q =>
        q.Terms(t => t
            .Field(t => t.PostId)
            .Terms(list)
            )
        )
    );

http

POST http://127.0.0.1:9200/post_comments/_delete_by_query
Content-Type: application/json

{"query":{"terms":{"postId":["1","2"]}}}