최대 1 분 소요

Managing

조회

GET /products/_doc/100

수정

POST /products/_update/100
{
  "doc": {
    "in_stock": 3
  }
}

갱신

elastic search는 문서를 찾아 갱신하는 것이 아니라 지웠다가 다시 등록한다.

POST /products/_doc
{
  "name": "Coffee Maker",
  "price": 64,
  "in_stock": 10
}

_id키를 지정할려면 PUT을 사용한다.

PUT /products/_doc/100
{
  "name": "Toaster",
  "price": 49,
  "in_stock": 4
}

삭제

DELETE /products/_doc/100

스크립트 업데이트

# _in_stock을 하나 뺀다.
POST /products/_update/100
{
  "script": {
    "source": "ctx._source.in_stock--"
  }
}
POST /products/_update/100
{
  "script": {
    "source": "ctx._source.in_stock-= params.quantity",
    "params": {
      "quantity": 4
    }
  }
}
POST /products/_update/100
{
  "script": {
    "source": """
      if (ctx._source.in_stock == 0) {
        ctx.op = 'noop';
      }
      ctx._source.in_stock--;
      """
    }
  }
}

Upsert

조건에 따라 문서를 조건부로 업데이트하거나 삽입하는 것을 의미

댓글남기기