[NDC] 유저동향분석 시스템인 '유저보이스2.0'에 Elastic Search를 적용한 경험담
NDC 넥슨 · YouTube
AI 핵심 요약
유저보이스는 여러 사이트의 게임 관련 게시글을 모아 유저 반응을 살피는 시스템이었지만, 기존 MariaDB와 Sphinx 구성은 복잡한 검색과 데이터 증가에 따른 처리 요구를 감당하기 어려웠다. 유저보이스 2.0에서는 크롤러와 Elasticsearch 사이에 API를 두고 Elasticsearch를 주 저장소 겸 검색 엔진으로 적용해 MariaDB와 Sphinx를 대체했다. HTML 태그 제거, 한국어 분석기 설정, 복합 검색 쿼리와 집계 기능을 구현해 이슈 추이와 트렌드 키워드를 확인할 수 있게 했다. 검색 엔진을 바꿀 때는 기능을 그대로 옮기는 데 그치지 않고, 실제 검색 사례를 바탕으로 분석 설정과 쿼리의 한계를 검증해야 한다는 점을 보여줬다.
- 검색 대상에 HTML이 섞여 있다면 Elasticsearch의 HTML strip 필터로 태그를 제거해 검색 품질을 높일 수 있다.
- 한국어 형태소 분석기와 n-gram 설정은 실제 검색어 사례로 검증하고, 짧은 검색어에서 생기는 오탐도 확인해야 한다.
- 복합 검색 조건은 must, filter, must_not, should를 조합해 표현하고, 와일드카드 등 기본 기능의 한계는 데이터 전처리로 보완할 수 있다.
- 날짜별 집계에는 date histogram을, 검색어 위치를 보여주는 기능에는 highlighting을 활용할 수 있다.
소개
NDC 2018 [유저동향분석 시스템인 '유저보이스2.0'에 Elastic Search를 적용한 경험담] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 허성오 2. 발표자 소개 : 넥슨 인프라기술팀에서 유저동향분석 시스템인 '유저보이스' 프로젝트를 담당하고 있는 2년 차 프로그래머 입니다. 3. 세션 소개 : 유저보이스는 실시간으로 넥슨 게임에 관련된 게시글을 수집하고, 텍스트 데이터를 분석하여, 게임 유저들의 반응을 파악하는 웹페이지입니다. 이번에 버전업된 유저보이스2.0은 유저들의 동향을 찾아가는 것에서 더 나아가, 새로운 인사이트를 발견해주는 기능들이 많이 추가되었습니다. 이때, 새로운 기능들을 위해 Elastic Search가 어떻게 활용되었고, 어떤 점이 어려웠는지를 예시를 통해 말하고자 합니다. 또한, Sphinx와 RDB를 유지하지 않고 Elastic Search를 선택하게 된 이유도 세션내용에 포함되...
비슷한 학습 자료
컨퍼런스 NDC
NDC 2019 [그것이 알고 싶다 : 복귀유저와 신규유저는 어떻게 다른가] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 김슬기 2. 발표자 소개 : 현재 넥슨 인텔리전스랩스 UX분석팀에서 2파트장으로 근무하고 있으며, 신규/라이브게임을 비롯한 넥슨닷컴 등의 플랫폼과 인텔리전스랩스 내부 서비스의 UX 리서치, 분석 및 개선을 담당하고 있습니다. 3. 세션 소개 : 넥슨 인텔리전스랩스 UX분석팀에서는 넥슨의 신규/라이브 게임들을 FGT/UT/FGI 등 여러 방법을 통해 테스트하고, 테스트로 확인된 유저의 반응을 다양한 방법으로 분석하고 있습니다. 이번 발표에서는 PC 게임 〈던전앤파이터〉와 모바일 게임 〈히트:리부트〉의 UT(사용성 평가) 사례를 통해, 동일한 상황에서의 복귀/신규 유저의 전혀 다른 반응을 관찰할 수 있도록 도와드립니다. 더 나아가 무엇이 이런 차이를 만들었는지 생각해보고, 이를 통해 복귀...
UI/UX 프로덕트 지표 · 실험
컨퍼런스 NDC
[NDC] 소프트웨어 2.0을 활용한 게임 어뷰징 검출
컨퍼런스 NDC
NDC 2018 [소프트웨어 2.0을 활용한 게임 어뷰징 검출] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 김정주 2. 발표자 소개 : 현재 웹젠에서 TD로서 게임 로그 수집 및 분석을 담당하고 있습니다. 이전에는 NHN과 NPLUTO에서 게임 엔진 개발 및 기술 지원 역할을 하였습니다. 지난 NDC 2016에서 게임 어뷰징 검출, PyConKR 2017에서 강화학습 관련 내용을 발표한 바 있습니다. 이번 발표에서는 참관객 여러분들에게 소프트웨어 2.0의 개념과, 이를 이용해 좀 더 고도화된 게임 어뷰징 검출 방법을 소개해 드릴 예정입니다. 3. 세션 소개 : 최근 기계학습과 딥러닝의 대두는 인공지능에 대한 다양한 우려를 불러일으키고 있습니다. 그러나, 저는 개인적으로 인공지능을 데이터를 학습하여 기능을 구현하는 진보된 형태의 소프트웨어 패러다임 정도로 보고 있습니다. 딥러닝의 대가 안드레이 카패시의 소프트웨어...
딥러닝 · 머신러닝
컨퍼런스 NDC
NDC 2018 ['던전앤파이터' 유저대응, 오래된 라이브를 우상향시키는 방법] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 이원만 2. 발표자 소개 : 현재 액션스튜디오 모바일 2D던파 프로젝트에서 신규 개발을 진행하고 있으며, 이전에는 던전앤파이터 프로젝트 부실장으로 한국라이브를 담당하였습니다. 이번 발표에서는 참관객 분들께 한국라이브를 맡으면서 던전앤파이터 유저분들과 호흡했던 경험들을 전달해드리고 싶습니다. 3. 세션 소개 : 던전앤파이터 한국 라이브를 담당하게 되면서 초반에 겪었던 어려움과 그 어려움을 해결하고 도약하기 위해 어떠한 시스템들을 도입하였고 어떠한 컨텐츠들을 투입하였는지 다루어 보려고 합니다. 그리고 이 모든 고민들의 핵심은 결국은 게임 유저 분들과 맞닿아 있었으며 왜 라이브 개발에서 유저대응이 가장 핵심인지를 다룰 것입니다. 최근에 쏟아지는 타이틀의 홍수 속에서 지속가능성에 대해 고민이 있으...
게임 기획
컨퍼런스 NDC
NDC 2018 ['야생의 땅: 듀랑고'의 데이터 엔지니어링 이야기-로그 시스템 구축 경험 공유] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 전효준 2. 발표자 소개 : 현재 왓 스튜디오에서 '야생의 땅: 듀랑고'의 데이터 엔지니어링을 주로 담당하고 있습니다. 데이터에 관심이 많은 주니어 백엔드 엔지니어입니다. 3. 세션 소개 : 본 발표는 게임플레이 시 발생하는 로그를 수집하고 변환, 적재하고 분석기반을 제공하는 로그 시스템에 대한 '야생의 땅: 듀랑고'의 데이터 엔지니어링 이야기입니다. 듀랑고에서는 게임 플레이 시 수집되는 로그를 통해 다양한 지표를 추출하고, 분석하고, 모니터링하며 데이터 중심적 의사결정을 내리고 있습니다. 이를 위해서는 다양한 형태로 존재하는 대용량의 로그를 수집하고, 잘 활용할 수 있도록 정제하고, 분석할 수 있는 기반을 만드는 것도 중요한 요소로 자리 잡고 있습니다. 그에 따라 높은...
데이터베이스 데브옵스 · 인프라 프로덕트 지표 · 실험
컨퍼런스 NDC
[NDC] 서버 개발 생산성 향상을 위한 ORM 구현 경험 공유
컨퍼런스 NDC
NDC 2018 [서버 개발 생산성 향상을 위한 ORM 구현 경험 공유] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 남승현 2. 발표자 소개 : 현재 아이펀팩토리에서 아이펀엔진을 개발하고 있으며, 주로 네트워크, ORM, 분산처리 기능을 담당하고 있습니다. 이전에는 넥슨 신기술개발실에서 게임서버엔진을 개발에 참여했었으며, 조이맥스 플랫폼본부에서 미들웨어 서버 및 P2P 관련 개발을 수행했었습니다. NDC 발표를 통해 게임서버 개발 생산성 향상을 위한 ORM 개발 경험을 공유하고자 합니다. 3. 세션 소개 : 게임서버 개발시 ORM 이 어떻게 쓰일 수 있는지에 대해 소개하고 상용 게임서버 엔진의 ORM 을 개발하며 얻은 경험을 발표하려 합니다. 구현에 대해 코드 수준으로 자세히 설명하지는 않지만 최대한 전체 구현에 대해 이해하실 수 있도록 설명드리려 합니다. ORM 을 이용하여 단순히 DB 읽고 쓰기 코드를 줄이...
백엔드 데이터베이스
컨퍼런스 엔지니어링데이 2025
늘어가는 조회트래픽 Elasticsearch로 분산시키기
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025(5월)에서 발표되었던 세션을 공개합니다. [발표 내용] 점점 늘어가던 플레이스 조회트래픽을 메인DB로부터 Elasticsearch(Opensearch)로 분산한 경험을 공유합니다. (#Elasticsearch #Opensearch #트래픽 분산 #CQRS #slow query #feature toggle #feature flag #자동 fallback) [강의 대상] * 트래픽 분산 및 Elasticsearch(Opensearch)에 관심이 있으신 분들 * 난이도 : 하~중하 (트래픽 분산경험 / ES 운용경험이 없으신 주니어 개발자분들도 이해하시기 좋은 정도) [목차] * 조회 DB 도입 배경 - 기존 리뷰조회 flow - 호출량이 점점 늘어가던 플랫폼, 증가하는 조회필터 / 정렬조건 - DB 인덱스 추가의 한계 - 조회용 DB를 도입한다면? * Elasticsearch를 조회DB로...
백엔드 데이터베이스