본문 바로가기

카테고리 없음

[Elasticsearch] Reindex

기존 Index에서 analysis 만 바꾸고 싶을 때 사용 하는 API를 알아보자.

1. Template 변경
2. reIndex 실행
3. analysis 변경 확인
4. 검색 쿼리 요청

 

1. Template 변경

cerebro를 사용해서 index_dump를 만들고 update 한다.

예) my-index -> my-index-dump

2. reIndex 실행

kibana>Dev Tools에서 아래와 같이 간단하게 reIndex가 가능하다.

POST _reindex
{
  "source": {
    "index": "my-index"
  },
  "dest": {
    "index": "my-index-dump"
  }
}

조건을 붙여서 reIndex하고 싶으면 아래와 같이 "query"문을 넣어서 수행해도 된다.

POST _reindex
{
  "source": {
    "index": "my-index",
    "_source": {
      "includes": ["field1", "field2"]
    },
    "size": 10000,
    "query": {
      "bool": {
        "filter": [
          {
            "match_phrase": {
              "field1": "search_keyword"
            }
          },
          {
            "range": {
              "datetime": {
                "gte": "2018-07-05T05:05:54.000Z"
              }
            }
          }
        ]
      }
    }
  },
  "dest": {
    "index": "my-index-dump"
  }
}

3. analysis 변경 확인

_analyze api를 활용해 reIndex가 정상 적으로 수행 됐는지 확인한다.

GET my-index-dump/_analyze
{
  "analyzer": "english_whitespace",
  "text": [
    "CJ ENM"
  ]
}

4. 검색 쿼리 요청

직접 검색도 해본다. 잘 reIndex 됐는지 꼭 확인하자.

GET unified-search/_search
{
  "size": 10000,
  "query": {
    "bool": {
      "should": [
        {
          "query_string": {
            "query": "cj enm*",
            "fields": [
              "names_eng.*^8.0",
            ]
          }
        }
      ],
      "adjust_pure_negative": true,
      "minimum_should_match": "1",
      "boost": 1
    }
  }
}




반응형
사업자 정보 표시
라울앤알바 | 장수호 | 서울특별시 관악구 봉천로 13나길 58-10, 404호(봉천동) | 사업자 등록번호 : 363-72-00290 | TEL : 010-5790-0933 | Mail : shjang@raulnalba.com | 통신판매신고번호 : 2020-서울관악-0892호 | 사이버몰의 이용약관 바로가기