Kibana/kibana 시각화기능

10. Dev Tools(Tokenizer, Synonym)

seongduck 2022. 7. 13. 16:29
  • 데이터 전처리 진행(동의어처리, 사용자 정의사전)

 

1. Tokenizer 사용자 단어 정의

  • v2를 복사해서 v3를 만들고 그대로 내용을 붙여 넣는다.
  • 그리고 ‘analyzer’ 의 하위 필드인 custom_nori를 만들어주고 내용은 아래와같이 넣는다.
    • char_filter = 위에 만들었던 변수명
    • tokenizer = 위에 선언했던 변수명
    • filter = 적용할 필터 변수명
  • 여기서는 아직 위의 필터를 정의하지 않았으므로 임의적으로 동의어필터 라는 단어를 넣었다.

 

  • 바로 위 ‘tokenizer’ 필더의 하위 필더에 ‘custom_nori_tokenizer’를 선언한다.
  • 내용은 이와같이 적는다.
    • user_dictionry_rules : 에는 단어를 분리하지않고 하나의 단어로 인식할 단어의 목록들을 적는다.
      • ex) 무신사는 무, 신사로 나뉘게되므로 무신사를 입력하면 무신사로 분리된다.

 

2. Synonyms 동의어 처리

  • 동의어 처리를 해보겠다. ‘filter’에 하위 필더로 ‘korean_synonym’을 만들어 준다.
  • 우선 필터를 한 번 만들어야 한다. synonym은 동의어라는 뜻이다.
    • lenient = true는 추후에 에러가 있는 부분은 넘기겠다 라는 뜻이다.
    • synonyms : [A,B ⇒ A,B] 부분은 모두 단어들이 서로 동의어다 라는 의미이다.
  • 즉, 왼쪽의 단어 A,B들이 ⇒ 이후 오른쪽 단어들 A,B와 모두 동의어다. 
    • A는 A,B와 같다. B는 A,B와 같다 라는 의미다.

 

 

  • 아까 만들어 놓은 하위 필드에 위에서 선언한 korean_synonym을 비롯해 이와 같이 넣어 적용시켜준다.

 

  • ‘mappings’으로 들어가 standard_stem아래에 custom_stem을 만들어준다.
  • 형식은 이와같이 만들고 analyzer은 custom_nori를 적어 적용시켜준다.

 

3. Test

  • 내용을 확인해보기 위해 Index/_analyze문법을 이용한다.
  • 확인할 필드는 detail항목의 custom_stem이고검색할 텍스트는 배달의민족이라는 단어이다.
  • 우리는 ‘settings’에서 이미 동의어 처리를 (synonym)했기 때문에 배달의민족을 검색하면 우아한형제들이 뜬다.

 

  • search기능을 이용해보자 이와같이 문법을 작성하고 detail의 custom_stem에서 :쿼리는(단어)는 “배민”(배달의민족으로 쳐도 같은 결과)으로 친다. 
  • 그러면 결과가 아래와 같다.

 

  • 그럼 결과가 이와같이 뜬다. took 즉 배민관련된 (동의어 처리했으므로) 단어의결제는 총 2번있다.
  •  거래수단, 대분류, 형태, 날짜, 금액 등등 쭉 상세내역을 확인할 수 있다.

 

  • 이렇게 json형식으로 여러가지 조건을 넣어서 출력형태를 수정할 수 있다.
  • 여기서는 종암이라는 곳에서 detail 크기는 20개, 총 금액, 그 금액의 평균을 출력하도록 쿼리를 작성했다.

 

4. 적용

  • POST _reindex는 데이터를 정재전 데이터를 이러한 과정을 거치며 정재한 데이터로 바꿔주는 함수이다. 
  • 첫 번째 source: 에는 원래 index명을적고 dest : 이후에는 새롭게 업데이트할 index명을 적는다.

 

  1. 위에서 함수를 실행하고 적용된(바뀐 것)을 대쉬보드에 시각화하기위해선 다시 한번 index pattern을 만들어주어야 한다. 
  2. 앞서 말했듯이 키바나에 시각화하기 위해서는 index pattern과정이 필수이기 때문이다.
  3. 왼쪽 메뉴 클릭 ⇒ Management의 Stack Management 클릭
  4. Kibana의 Index Patterns 클릭하면 이와같은 창이 뜬다. [Create Indexpattern]을 클릭한다.

 

  1. 왼쪽에는 함수를 정의했던 smu_bigdata_201710933_v3파일을 가져온다.
  2. 원래는 v3뒤에 *을 붙여서 사용할 수 있지만 처음때 *을 붙이지 않았으므로 이렇게 진행한다.
  3. Name을 이와같이 적고 Index pattern을 만들어준다.

 

  • [DashBoard] ⇒ [All types] ⇒ [Aggregation based] ⇒ [Tag cloud]클릭하면 이와같은 화면이 나온다.
  •  그러면 맨 아래 새롭게 추가된 것을 확인할 수 있다. 
  • 추가됐으므로 이를 이용해서 대쉬보드에서 전처리한 데이터를 사용해 시각화할수 있다.

'Kibana > kibana 시각화기능' 카테고리의 다른 글

9. Dev tools(GET, PUT, DELETE)  (0) 2022.07.13
8. Dev Tools(Setting & Mapping)  (0) 2022.07.13
7. Maps  (0) 2022.07.13
6. Tag Cloud  (0) 2022.07.13
5. Matric  (0) 2022.07.13