grep

Engineering

여기어때 검색서비스 ‘키워드 통합 시스템’ 구축사례

김정훈Dovy(도비) / 검색개발팀여기어때

2025년 11월 11일

원문에서 보기 ↗

여기어때 검색플랫폼 ‘키워드 통합 시스템’ 구축기

1. 프로젝트 개요 — 분산된 데이터의 통합 필요성

안녕하세요. 여기어때 검색플랫폼개발팀 도비 입니다.

여기어때의 검색 서비스는 국내 숙소, 해외 숙소, 관광지 등 다양한 도메인별 데이터 소스 를 기반으로 발전해왔습니다.

초기에는 각 도메인에 맞춘 빠른 검색 품질을 유지하는 데 효과적이었지만,

서비스 확장과 데이터 연관성이 커지면서 일관된 관리 체계와 데이터 재활용성 확보가 중요한 과제로 떠올랐습니다.

이에 검색 플랫폼팀은 ‘키워드 통합 시스템’ 구축 프로젝트 를 추진했습니다.

목표는 다음과 같습니다.

2. 기존 구조 분석 및 개선 방향

(1) 기존 구조의 장점

(2) 개선의 필요성 — 비효율 해소

개선 방향 : 기존의 장점을 유지하면서 데이터 구조를 단일화하여 확장성과 일관성을 극대화

시스템 구성도 (simple version)

3. 핵심 설계 — MongoDB 기반 통합 저장소

(1) MongoDB 기반 통합 구조 설계

각 데이터 출처의 특성을 반영하면서도

공통 속성(keyword, address, coordinate, rankScore 등)을 중심으로 하나의 통합 스키마를 정의했습니다.

MongoDB를 선택한 이유는 다음과 같습니다.

예시 스키마 (simple version)

/** 예시 MongoDB 스키마 (간략화) **/
{
  "keyword": "강릉 카페거리",
  "category": "관광지",
  "address": "강원도 강릉시",
  "coordinate": { "type": "Point", "coordinates": [128.896, 37.751] },
  "synonyms": ["강릉 커피거리"],
  "relatedKeywords": ["안목해변", "감성숙소"],
  "rankScore": 85,
  "popularity": 1200,
  "source": "내부DB",
  "nearbyPOI": ["강릉역", "경포대"],
  "transitInfo": ["버스", "택시"]
}

(2) Elasticsearch 자동완성 구조 단순화

기존에는 다수의 DB 및 API에서 데이터를 취합해 색인하던 복잡한 구조였으나, 이제는 MongoDB 통합 저장소 하나만 바라보는 단일 구조로 개선했습니다.

4. 통합 스키마 설계 및 데이터 처리 전략

예시 스키마 (simple version)

[
  {
    "id": "PROPERTY001",
    "type": "domestic",
    "name": "서울 롯데호텔",
    "address": {
      "country": "대한민국",
      "state": "서울특별시",
      "city": "중구",
      "district": "을지로 30"
    }
  },
  {
    "id": "PROPERTY002",
    "type": "oversea",
    "mappingGroup": "LOTTE_GUAM",
    "aliases": ["Lotte Hotel Guam", "롯데괌호텔", "Guam Lotte"],
    "address": {
      "country": "Guam",
      "state": "Tamuning",
      "city": "Tumon",
      "district": "185 Gun Beach Rd"
    }
  }
]

5. 주요 성과 — 단일화, 효율화, 확장성

(1) 데이터 관리의 단일화

(2) 자동완성 데이터 흐름 단순화

(3) 데이터 활용성 확장

6. 향후 과제 — 키워드 관계 중심의 확장

이번 통합으로 단일 데이터 허브가 완성되었으며,

다음 단계로는 ‘키워드 간 관계’를 중심으로 한 확장을 계획하고 있습니다.

(1) 키워드 그래프 (Keyword Graph)

(2) 지리 기반 키워드 클러스터링 (Spatial Clustering)

(3) 콘텐츠 및 SEO 자동화 확장

맺음말

이번 프로젝트는 단순한 DB 통합을 넘어,

‘키워드 간 관계’를 중심으로 데이터의 비즈니스 활용 가능성을 확장한 기반 구축이었습니다.

검색 플랫폼팀은 앞으로도 데이터 구조와 검색 경험의 정교화 를 통해,

사용자에게 더 나은 탐색 경험을 제공할 수 있도록 끊임없이 고민하고 발전해 나가겠습니다.