제8편elasticsearch의 대량 삭제 검사

4856 단어 elasticsearch

1. 대량 조회


1.1 mget 조회의 문법

GET /_mget
{
   "docs" : [
      {
         "_index" : "test_index",
         "_type" :  "test_type",
         "_id" :    1
      },
      {
         "_index" : "test_index",
         "_type" :  "test_type",
         "_id" :    2
      }
   ]
}

1.2 조회된document는 index의 다른 type입니다

GET /test_index/_mget
{
   "docs" : [
      {
         "_type" :  "test_type",
         "_id" :    1
      },
      {
         "_type" :  "test_type",
         "_id" :    2
      }
   ]
}

1.3 조회된 데이터가 같은 index에서 같은 type에서

GET /test_index/test_type/_mget
{
   "ids": [1, 2]
}
  • mget의 중요성 mget은 매우 중요하다. 일반적으로 조회를 할 때 한 번에 여러 개의 데이터를 조회하려면 반드시batch로 대량으로 조작하는api를 사용해야 한다. 가능한 한 네트워크 비용을 줄이고 성능을 몇 배, 심지어 수십 배까지 향상시킬 수 있다. 매우 중요하다

  • 2.bulk 대량 삭제 수정

  • bulk 문법
  • POST /_bulk
    // 
    { "delete": { "_index": "test_index", "_type": "test_type", "_id": "3" }} 
    // 
    { "create": { "_index": "test_index", "_type": "test_type", "_id": "12" }}
    {"test_field1": "test1", "test_field2": "test2"}
    // 
    { "index":  { "_index": "test_index", "_type": "test_type", "_id": "2" }}
    {"test_field1": "test1", "test_field2": "test2"}
    //partial update 
    { "update": { "_index": "test_index", "_type": "test_type", "_id": "1", "_retry_on_conflict" : 3} }
    { "doc" : {"test_field2" : "bulk test1"} }
  • bulk size의 최적 크기인bulk request는 메모리에 불러옵니다. 너무 크면 성능이 오히려 떨어지기 때문에 최적한bulk size를 반복적으로 시도해야 합니다.일반적으로 1000~5000개의 데이터를 시작으로 점차적으로 증가하려고 시도한다.또한 크기를 보면 5~15MB 사이가 가장 좋습니다..

  • bulkapi는 json의 문법에 대해 엄격한 요구가 있습니다. 모든 json 문자열은 줄을 바꿀 수 없고 한 줄만 놓을 수 있습니다. 동시에 하나의 json 문자열과 하나의 json 문자열 사이에는 반드시 줄을 바꾸어야 합니다.

    좋은 웹페이지 즐겨찾기