Kibana 대시보드에서 Elastic Workplace Search 사용 분석 — 2부
7.10 릴리즈의 Elastic Workplace Search에서는, 새로운 분석 로깅 기능 일부를 소개하며 몇 가지 샘플 분석 시나리오를 간략하게 단계별로 살펴보았습니다. 7.11 릴리즈에서는 유용한 대시보드와 시각화를 통해 쿼리와 클릭 데이터 탐색을 위한 새로운 가능성을 열어주는 분석 필드를 도입하였습니다.
분석 이벤트 로그 출력을 최대한 유연하게 할 수 있도록 구성했습니다. Workplace Search 사용에서 어떤 유형의 분석을 보려는 지에 대한 Elastic 자체의 아이디어가 있지만, 사용자가 적합하다고 생각하는 측정 기준에 따라 세부적으로 분할하실 수도 있습니다. 데이터를 직접 살펴보실 것을 권장하지만 이 포스팅에서 이제 추가 데이터 포인트로 수행할 수 있는 몇 가지 구체적인 사용 사례와 예를 제공해 드리겠습니다.
새로운 내용
7.11 릴리즈에는 다음과 같은 수많은 새로운 분석 필드가 추가되었습니다.
- 쿼리 정제
- 쿼리 필터
- 쿼리 해시 값
- 문서 유형(쿼리 및 클릭)
- 쿼리 피드백 이벤트
지난 번 블로그 포스팅에서는 Kibana Lens를 사용하여 빠르게 시각화하는 방법을 보여드렸습니다. 이 포스팅에서는 한 걸음 더 나아가 이 새로운 필드 위에 좀 더 정교한 시각화 몇 가지를 구축하기 위한 복잡한 과정에 대해 알아보겠습니다.
이전과 마찬가지로, 원시 분석 이벤트 데이터는 인덱스 패턴 .ent-search-workplace-search-analytics-ecs-ilm-logs-*
를 사용하여 확인할 수 있습니다. 몇 가지 더 정교한 쿼리를 위해, Elasticsearch 데이터 트랜스폼 인덱스를 활용하여 여러 필드에서 사전 집계를 수행할 예정입니다. 아래에서 정의한 대시보드 및 메트릭의 경우, 쿼리당 세션 수준에서 다음 메트릭을 집계하는 데이터 트랜스폼(여기에서 소스 gist 이용 가능)을 생성했습니다.
- 모든 쿼리 정제 및 정제 수
- 사용된 모든 쿼리 필터 및 필터 수
- 이 쿼리 세션의 총 클릭 수
- 쿼리 세션의 시작 및 종료 타임스탬프
- 쿼리 세션 시작부터 첫 번째 결과 클릭까지의 시간(초)
데이터 트랜스폼을 생성하고 사용할 때 고려해야 할 특정한 장단점이 있습니다. 데이터의 스크립트로 작성된 집계는 Kibana 시각화와 쌍을 이룰 때 상당히 강력할 수 있습니다. 이는 데이터 트랜스폼을 생성하고 유지하기 위해 추가 계산 및 스토리지 리소스를 할당하는 것입니다. Workplace Search 사용을 분석하려는 메트릭을 정의할 때는 데이터를 통해 무엇을 얻으려는 지를 분명히 알고 데이터를 탐색하는 데 사용할 데이터 트랜스폼 수와 대상을 직접 결정해야 합니다.
분석 대시보드에 대한 시각화 생성
로그된 필드에서 가져올 수 있는 새로운 분석 및 메트릭의 일부를 예시하기 위해, 이 업데이트에서 사용할 수 있는 대부분의 새 분석을 보여주는 Kibana 대시보드를 만들 수 있습니다. 여기에는 다음이 포함됩니다.
- 평균 클릭 위치 및 역순위 평균(MRR): 클릭 이벤트가 발생한 결과의 평균 순위와 그 반대의 역순위 평균입니다.
- 쿼리에서 첫 클릭까지 평균 초: 쿼리를 실행할 때부터 사용자가 결과를 클릭할 때까지의 경과된 시간입니다.
- 상위 트리거 성공률: 클릭 수에 따라 정의된 트리거를 생성한 상위 쿼리입니다.
- 문서 유형별 상위 클릭: 클릭된 상위 문서 유형입니다.
- 콘텐츠 소스별 상위 클릭: 클릭된 문서의 상위 콘텐츠 소스입니다.
- 콘텐츠 소스별 상위 클릭 문서: 콘텐츠 소스당 클릭 수가 가장 많은 문서입니다.
- 클릭이 없는 상위 쿼리: 사용자가 어떤 결과도 클릭하지 않은 가장 일반적인 쿼리입니다. 이를 통해 사용자가 검색하고 있지만 관련 결과를 찾지 못하는 항목을 쉽게 파악할 수 있습니다. 그런 다음 도움이 될 수 있도록 쿼리 결과를 조정하거나 추가 콘텐츠를 만들어 격차를 해소할 수 있습니다.
아래에서 각 대시보드를 만드는 방법에 대해 알아보겠습니다. 이 대시보드를 다시 만들려면 이 gist를 다운로드하여 Kibana로 가져올 수 있습니다.
평균 클릭 위치 및 역순위 평균
Kibana에서 평균 클릭 위치에 대한 메트릭 보기를 생성하려면,
- Lens를 사용하여 위의 일반 인덱스 패턴과 수평 막대 차트 유형을 선택합니다.
- 시각화 메트릭을
SearchMetrics.click.result.rank
필드로 설정합니다.
역순위 평균에 대한 메트릭 시각화를 생성하려면,
- 분석 인덱스 패턴을 사용하여 새 Lens 메트릭 시각화를 생성합니다.
SearchMetrics.click.result.reciprocal_rank
필드에서 시각화 메트릭을 설정합니다.
쿼리에서 첫 클릭까지 평균 초
- 위에서 정의한 데이터 트랜스폼을 사용하여 새 Lens 메트릭 시각화를 생성합니다.
time_to_first_click
필드에서 시각화 메트릭을 설정합니다.
상위 트리거 성공률
- Lens를 사용하여 데이터 트랜스폼 인덱스 패턴과 수평 막대 차트 유형을 선택합니다.
- "1"의 "between"에 대한
query_refinement_count
필드에서 필터를 설정합니다. (그리고 "to" 필드는 비워둡니다.) query_value.keyword
필드에서 시각화 필드를 설정합니다.
콘텐츠 소스별 상위 클릭
- Lens를 사용하여 위의 일반 인덱스 패턴과 수평 막대 차트 유형을 선택합니다.
SearchMetrics.click.result.content_source
필드를 차트 영역으로 끌어서 놓습니다.
문서 유형별 상위 클릭
- Lens를 사용하여 위의 일반 인덱스 패턴과 수평 막대 차트 유형을 선택합니다.
SearchMetrics.click.result.document_type
필드를 차트 영역으로 끌어서 놓습니다.
콘텐츠 소스별 상위 클릭 문서
- Lens를 사용하여 위의 일반 인덱스 패턴과 수평 누적 막대 차트 유형을 선택합니다.
SearchMetrics.click.result.content_source
필드를 차트 영역으로 끌어서 놓습니다.SearchMetrics.click.result.id
필드를 콘텐츠 소스 맨 위의 차트 영역으로 끌어다 놓습니다.
클릭이 없는 상위 쿼리
위의 대시보드에서 이에 대한 시각화는 사용자 정의 스크립트로 작성된 메트릭 집계에서 Vega 스크립트를 사용하여 분석가가 임의 시간 간격으로 데이터를 세부적으로 분할할 수 있도록 합니다. 현재 사전 정의된 집계 유형에서 작동하는 Lens 또는 표준 Kibana 시각화에서는 이 작업이 불가능합니다. 쿼리는 스크립트 메트릭을 사용하여 연결된 클릭이 없는 지정된 시간 범위에 걸친 쿼리 빈도를 집계합니다. 그런 다음 상위 5개 쿼리에 대한 쿼리 수를 쉽게 그래프로 표시할 수 있습니다. 위에서 언급한 바와 같이 Vega 시각화 유형을 활용할 때 좋은 점은 Kibana 전역 타임스탬프 범위도 결과를 필터링하는 매개 변수로 정의할 수 있다는 점입니다.
스크립트 자체는 복잡하지는 않지만 이 블로그 포스팅에 대해서는 다소 큽니다. 그래도 참조하실 수 있는 gist를 생성해 놓았습니다.
기타 메트릭 및 시각화
좀더 복잡하지만 그래도 유용한 분석을 위해 추가 데이터 트랜스폼을 생성할 수 있습니다. 또는 Kibana에서 인덱스의 Elasticsearch SQL과 소스 데이터로 생성한 데이터 트랜스폼을 사용해 데이터를 가져와 Canvas 워크패드를 생성할 수 있습니다. 위의 "클릭이 없는 상위 쿼리" 차트에서 보았듯이, 대시보드에 추가해야 하는 경우 이러한 수동 쿼리를 Vega 스크립트로 변환할 수도 있습니다.
다음은 이 업데이트를 통해 제공되는 새 필드를 사용하는 다른 흥미로운 메트릭의 몇 가지 예입니다.
월간 활성 사용자 수
이것은 클릭 횟수와 쿼리 횟수의 비율을 기준으로 한 메트릭입니다. 검색 결과가 사용자에게 있어 정확한지, 아니면 적어도 흥미로운지를 나타냅니다. 클릭 대 쿼리 비율이 높을수록 검색 중인 사용자에게 그 결과가 좀더 흥미롭다고 가정할 수 있습니다.
이 메트릭은 이 gist에 표시된 대로 날짜 히스토그램과 버킷 스크립팅에 의해 가능합니다. 이 쿼리를 Vega 시각화로 좀더 조정하여 월간, 주간 또는 원하는 다른 시간 프레임별로 시간에 따른 참여를 표시하는 선 차트를 생성할 수 있습니다.
특정일 재방문율
로그된 새로운 분석 이벤트를 사용하여 매주(또는 매일 또는 매월) 작업 영역을 얼마나 많은 사람들이 사용하고 있는지에 대한 인사이트를 얻을 수 있습니다. 사용자 재방문율을 결정하는 기본 공식은 기간 종료 시 고유 사용자 수를 기간 시작 시 고유 사용자 수로 나누는 것입니다.
이 gist에 표시된 대로 날짜 히스토그램과 이동 함수 집계를 사용하여 이 작업을 수행할 수 있는 집계를 만들 수 있습니다. 다시 말씀드리지만, Vega를 사용해 이를 시각화로 전환하여 선 차트를 통해 검색 인스턴스가 얼마나 잘 사용자를 참여시키고 유지하는지 쉽게 확인할 수 있습니다.
결론
Workplace Search에서 수집한 분석 데이터를 통해 여러분과 여러분의 분석가는 사용자의 요구에 더 잘 맞도록 Workplace Search 인스턴스를 조정하는 방법에 대한 인사이트를 얻을 수 있습니다. 이 포스팅에 여러 가지 유용한 사용 사례가 나와 있지만, 궁극적으로 모든 분석가는 자신의 필요에 가장 적합한 사용 사례를 알고 있습니다. 여러분께 필요한 것을 얻을 수 있는 도구를 제공해 드렸기를 바랍니다.
이것은 Workplace Search 분석에 추가한 기능에 대한 간단한 설명이며, 실제로는 훨씬 더 흥미로운 내용이 포함되어 있습니다. 또한 Workspace Search를 계속 사용할 때 보고자 하는 내용을 탐색, 테스트하고 저희에게 피드백해주시길 바랍니다.
Workplace Search는 Slack, GitHub, Google Drive, Salesforce를 비롯하여 조직의 모든 업무 도구 전체에 걸쳐 통합 검색을 제공합니다. 또한 Workplace Search의 수많은 주요 기능을 무료로 사용하실 수 있습니다. Elastic Cloud의 Elastic Workplace Search 무료 체험판에 등록하여 빠르고 실용적인 전사적 검색 경험을 팀에 제공해 보세요.