본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


엘라스틱서치(Elasticsearch)

윈도우 엘라스틱서치 + 노리설치(window elasticsearch nori)

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2021. 6. 8.

윈도우 환경에서 노리(nori) 분석기를 설치하는 것은 매우 쉽습니다.

윈도우 버전의 엘라스틱 서치는 zip 형태로 되어 있으며 압축을 푼 다음에 배치(bat)파일을 실행하는 형태로 되어 있습니다.(2021년 6월 8일 기준)

 

만약 엘라스틱서치(elasticsearch)가 동작 중 이라면 종료하여 줍니다.

그리고 엘라스틱서치가 존재하는 bin 디렉토리에서 아래 파일을 찾아 줍니다.

elasticsearch-plugin.bat

 

해당 파일이 보이면 아래 명령어를 입력하여 실행 합니다.

elasticsearch-plugin.bat install analysis-nori

간단한 경고문구와 함께 엘라스틱서치 플러그인인 노리(nori)가 설치 되었습니다.

 

다시 엘라스틱서치를 구동한 뒤에 노리가 설치되어 있는지 확인하여 봅니다.

엘라스틱 주소에 분석을 통한 요청을 전송하면 노리 설치여부를 확인 할 수 있습니다.

글이 어려무으로 아래 사진을 보도록 합니다.

분석기를 nori로 지정하여 결과를 받았습니다.

 

엘라스틱에서 _analyze 요청은 원하는 단어를 분석하여 결과를 받는 것을 의미 합니다.

위 사진처럼 노리(nori) 설치여부를 쉽게 확인 할 수 있습니다.

* 노리 설치여부 확인 방법

POST
http://주소/_analyze

{
  "tokenizer": "nori_tokenizer",
  "text": ["동해물과 백두산이"]
}

 

엘라스틱서치에서 한글과 관련된 데이터를 저장하게 되면 기본적으로 엘라스틱서치에서 제공하는 기본버전(standard)으로 데이터 형식이 저장되게 됩니다.

이를 위해서는 인덱스에 매핑규칙을 정의 해 주는 것이 중요 합니다.

 

구글링을 하다 보면 다양한 불용어, 신조어를 등록해서 사용 할 수 있긴한데..

간단하게 적용하여 테스트를 하려면 _mapping 요청을 통해 할 수 있습니다.

saveData라는 인덱스에 KorText라는 필드를 정의하여 보았습니다.

 

saveddata라는 인덱스에 KorText필드를 노리로 지정하여 보았습니다.

이제 KorText는 기본 형태(standard)로 저장되는 것이 아니라 노리(nori) 형태로 저장이 될 것 입니다.

* 매핑 규칙 추가 방법

PUT
http://주소/대상인덱스/_mapping

{
  "properties": {
    "대상필드": {
          "type": "text",
          "analyzer": "nori",
          "fielddata": true
    }
  }
}

 

실제로 데이터가 들어간 모습입니다.

* 요청 : GET http://주소/인덱스/_search

필드가 4개입니다. 여기서 KorText는 노리를 지정한 필드 입니다.

 

기본적인 설치 방법에 대해서 작성하여 보았습니다.

기타 궁금한 점이나 틀린 부분은 언제든 연락주세요! : )

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글