- 데이터 전처리 진행(동의어처리, 사용자 정의사전)
1. Tokenizer 사용자 단어 정의
- v2를 복사해서 v3를 만들고 그대로 내용을 붙여 넣는다.
- 그리고 ‘analyzer’ 의 하위 필드인 custom_nori를 만들어주고 내용은 아래와같이 넣는다.
- char_filter = 위에 만들었던 변수명
- tokenizer = 위에 선언했던 변수명
- filter = 적용할 필터 변수명
- 여기서는 아직 위의 필터를 정의하지 않았으므로 임의적으로 동의어필터 라는 단어를 넣었다.
- 바로 위 ‘tokenizer’ 필더의 하위 필더에 ‘custom_nori_tokenizer’를 선언한다.
- 내용은 이와같이 적는다.
- user_dictionry_rules : 에는 단어를 분리하지않고 하나의 단어로 인식할 단어의 목록들을 적는다.
- ex) 무신사는 무, 신사로 나뉘게되므로 무신사를 입력하면 무신사로 분리된다.
- user_dictionry_rules : 에는 단어를 분리하지않고 하나의 단어로 인식할 단어의 목록들을 적는다.
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명을 적는다.
- 위에서 함수를 실행하고 적용된(바뀐 것)을 대쉬보드에 시각화하기위해선 다시 한번 index pattern을 만들어주어야 한다.
- 앞서 말했듯이 키바나에 시각화하기 위해서는 index pattern과정이 필수이기 때문이다.
- 왼쪽 메뉴 클릭 ⇒ Management의 Stack Management 클릭
- Kibana의 Index Patterns 클릭하면 이와같은 창이 뜬다. [Create Indexpattern]을 클릭한다.
- 왼쪽에는 함수를 정의했던 smu_bigdata_201710933_v3파일을 가져온다.
- 원래는 v3뒤에 *을 붙여서 사용할 수 있지만 처음때 *을 붙이지 않았으므로 이렇게 진행한다.
- 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 |