EN
프로젝트로 돌아가기
아카이빙 서비스

아카이빙 서비스

한국어 검색 품질·권한 정합성·메타데이터 동기화를 한 묶음의 설계로 잡은 사내 통합 아카이빙 서비스

2024년 5월 - 2024년 9월 4개월

기술 스택

PythonDjangoCeleryElasticsearchPostgreSQLRedisNGINXDockerNCP

개요

사내 곳곳에 흩어져 있던 프로젝트 자료·파일·고객 정보를 한 곳에서 관리하고 검색할 수 있도록 만든 사내 통합 아카이빙 서비스의 백엔드입니다. Django + DRF가 도메인을, PostgreSQL이 메타데이터를, Elasticsearch가 검색 인덱스를, Naver Object Storage가 원본 파일을 담당하며, 트리 구조의 파일함과 프로젝트·세일즈 단위 워크스페이스 위에 통합 검색이 얹혀 있습니다.

검색이 단순 키워드 매칭으로 끝나지 않는 환경 — 한국어 형태소 분해와 부분 매칭이 같은 인덱스에서 동시에 통해야 하고, 사용자·그룹별 권한이 검색 결과에 일관되게 강제되어야 하며, 상위 객체(프로젝트·세일즈) 메타데이터가 바뀌면 하위 문서들의 인덱스도 따라가야 하는 — 인 점이 설계의 출발점이었습니다.

기술 스택

역할

PM 1·FE 1·BE 3 팀에서 백엔드 3인 중 한 명. 파일함·검색·CRM·인증/권한 영역을 직접 담당했고, 인덱스 매핑과 analyzer 설계, ResourceShare 기반 권한 모델, 신호 기반 인덱싱 파이프라인, 검색 쿼리 튜닝까지 검색·권한 영역의 설계 결정을 책임졌습니다.

주요 기여

트러블슈팅

의의

검색 품질·권한 정합성·메타데이터 동기화 세 축이 서로 흔들리지 않도록 인덱스 매핑·쿼리 구조·권한 경계·신호 파이프라인을 한 묶음의 설계로 잡은 사례입니다. 인턴 기간에 진행한 작업이지만, “검색 엔진의 책임”과 “앱의 책임”을 명확히 가르고 그 경계 위에 한국어 검색 품질을 얹는 결정을 내려본 경험이 가장 가치 있었습니다.

모든 프로젝트 보기
Close