2018년 7월 27일 금요일

Elasticsearch 활용(scripted field)

키바나 기능 중에 'scripted field'라는 게 있다. 무엇에 쓰는 물건인가 싶어 찾아보니 중요한 값을 스키마에서 별도 필드로 정의하지 못하였거나 또는 두 개 필드를 결합하여 단일 필드로 처리하고자 하는 경우에 유용한 기능이라고.

Management > Index Patterns > scripted filelds

로그스태시 연동할 때 깜박하고 로그 필드 정의 빼먹었다가 처음부터 다시 하는 불상사를 막을 수 있다는 얘기. 로그스태시 연동 중 필터 과정이 데이터 전처리라면, scripted field는 데이터 후처리.

다음은 웹로그 중 요청 메소드와 응답코드 발생 현황. 두 필드를 합치고 싶다면?


다음은 scripted filed 생성 과정. 이름 주고, 데이터 타입 정하고, 스크립트 작성하면 끝.


지정된 필드값을 가져오는 'doc['필드명'].value'가 기본 구문인데, 사칙연산을 포함해서 다양한 데이터 가공이 가능하다.


참고로 scripted field를 만들 때 사용하는 스크립트 언어 이름이 'painless(고통스럽지 않다?)'. 그만큼 쉽다는 뜻이겠지. 백인들 작명 센스는 참 자유분방한 듯.

중딩 때 록밴드 'Michael learns to rock'의 이름을 'Michael runs to rock'으로 잘못 듣고, 마이클이 록으로 달려가? 이름 막 짓는구나 싶어 신기했었는데, 록으로 달려가는 마이클이나 록 배우는 마이클이나(..) 노래는 좋다. 드라이브할 때 frostbite 추천.

글이 산으로 가네 다음은 scripted field 기능을 이용해서 요청 메소드와 응답코드 필드를 합친 'method - status' 필드 조회 결과.


집계도 되고, 도움말을 보면 알 수 있지만 꽤 다양한 데이터 가공이 가능하다. 알아두면 요긴할 듯.


관련 글

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스