"분명히 파는 상품인데, 손님이 '검색해도 안 나온다'며 그냥 나가버립니다."
"'맨투맨'을 '맨투맨티'라고 치면 결과가 0건이에요. 오타 하나에 매출이 날아갑니다."
— 온라인 셀러 커뮤니티에서 매일 올라오는 하소연
쇼핑몰에서 손님이 가장 먼저 손대는 건 카테고리가 아니라 검색창입니다. 그런데 대부분의 중소 쇼핑몰 검색은 LIKE '%검색어%' 방식, 즉 "글자가 똑같이 들어있는 것만" 찾습니다. 띄어쓰기 하나, 오타 하나만 나도 결과가 텅 비죠. 검색 결과가 0건인 순간, 손님의 40% 이상이 이탈합니다.
여기서 기회가 보입니다. 포스트그레스(PostgreSQL) 전문검색(Full-Text Search)을 도입하면 별도의 값비싼 검색엔진(엘라스틱서치) 없이도, 이미 쇼핑몰이 쓰고 있는 DB 안에서 오타·동의어·부분일치를 처리하는 '구글급' 검색을 만들 수 있습니다. 그리고 이 작업은 AI(코딩 어시스턴트)의 도움을 받으면 비전공자도 대행 서비스로 판매할 수 있습니다.
왜 LIKE 검색은 손님을 놓칠까?
포스트그레스 전문검색의 핵심은 GIN 인덱스입니다. 문서를 통째로 훑는 대신, '토큰(단어 조각)'별로 어느 행에 있는지 미리 색인해 둡니다. 이때 각 행의 물리적 위치를 가리키는 ctid를 포스팅 리스트에 담아두는 TIN(Tuple Identifier)식 ctid 인덱스 방식으로 동작하죠. 덕분에 수십만 개 상품 중에서도 밀리초 단위로 후보를 뽑아냅니다.
5단계 실전 가이드
1단계 · 현황 진단: '안 나오는 검색어'부터 찾는다
가장 먼저 할 일은 코딩이 아니라 관찰입니다. 쇼핑몰의 검색 로그를 뽑아 "결과 0건이었던 검색어 TOP 100"을 정리하세요. 여기에 이미 개선 포인트가 다 들어있습니다. AI에게 "이 검색어 목록을 오타/띄어쓰기/동의어/신조어로 분류해줘"라고 시키면 5분 만에 진단서가 나옵니다.
2단계 · tsvector와 GIN 인덱스 만들기
상품명과 설명을 합쳐 검색용 tsvector 컬럼을 만들고, 거기에 GIN 인덱스를 겁니다. AI 코딩 어시스턴트에게 스키마를 보여주고 "상품 테이블에 전문검색 컬럼과 인덱스를 추가하는 SQL을 만들어줘"라고 하면 됩니다.
ALTER TABLE products ADD COLUMN search_vec tsvector; UPDATE products SET search_vec = to_tsvector('simple', name || ' ' || description); -- ctid 기반으로 후보 행을 빠르게 찾는 GIN 인덱스 CREATE INDEX idx_products_search ON products USING GIN (search_vec);
GIN 인덱스는 단어→ctid(행 위치) 매핑을 미리 만들어 둡니다. 그래서 30만 개 상품이든 300만 개든 검색 속도가 거의 일정합니다. LIKE 검색과 달리 데이터가 늘어도 느려지지 않는 게 최대 강점입니다.
3단계 · 오타와 동의어 대응
'구글급'의 진짜 비밀은 여기입니다. pg_trgm 확장으로 글자 유사도(오타 보정)를, 동의어 사전으로 '나이키=Nike=나이끼', '원피스=드레스' 같은 매칭을 처리합니다. 셀러의 상품 특성에 맞는 동의어 사전을 만드는 것 자체가 대행의 핵심 노하우이자 차별화 포인트가 됩니다.
4단계 · 랭킹 튜닝 & 자동완성
ts_rank로 관련도 점수를 매기되, 실무에서는 여기에 인기순·재고 있음·마진율을 섞어 정렬합니다. "검색은 되는데 품절 상품만 위에 뜬다"는 흔한 불만을 잡아주면 셀러 만족도가 급상승합니다.
5단계 · 성과 리포트로 '월 구독'을 만든다
단발성 구축으로 끝내면 손해입니다. 검색 0건 비율, 검색 이탈률, 검색 전환율을 매달 리포트로 보내세요. 숫자로 성과가 보이면 셀러는 유지보수 명목의 월 100만원을 아까워하지 않습니다. 신상품 입고에 맞춰 동의어 사전을 갱신하는 것만으로도 계약이 유지됩니다.
상품 수가 많고 검색 의존도가 높은 곳일수록 효과가 큽니다. 쇼핑몰·오픈마켓 셀러(상품명 표기 제각각), 중고거래 플랫폼(사용자 작성 글이라 오타 천지), 부동산 플랫폼(지역명·평형 검색) 이 3곳이 최고의 타깃입니다.
비싼 검색엔진을 새로 붙이지 않고, 이미 쓰던 포스트그레스 안에서 이 정도 성과가 나옵니다. 기술은 이미 무료로 열려 있고, 부족한 건 '이걸 실무로 엮는 방법'뿐입니다.
비전공자도 대행이 가능한 이유
위 5단계의 SQL·설정은 이제 AI 코딩 어시스턴트가 대부분 초안을 써줍니다. 여러분이 할 일은 문제를 정의하고(어떤 검색어가 안 나오는지), 결과를 검증하고(제대로 나오는지), 성과를 설명하는 것입니다. 이 세 가지는 코딩 실력이 아니라 '일머리'의 영역이죠.
다만 AI가 뱉은 코드를 그대로 붙였다가 인덱스가 엉뚱하게 걸리거나, 동의어 사전이 검색을 오히려 망치는 경우가 많습니다. '왜 이렇게 동작하는지'를 이해하고 검증하는 눈이 있어야 월 100만원짜리 결과물이 나옵니다.
TTJ 코딩클래스 정규반에서는 이번 글의 포스트그레스 전문검색처럼 'AI로 만들어 실제 대행 수익까지 연결하는' 실전 프로젝트를 다룹니다. 코드를 외우는 게 아니라, 문제를 진단하고 검증하는 안목을 길러 비전공자도 수익형 서비스를 굴릴 수 있도록 함께합니다. 검색창 하나로 손님을 붙잡는 기술, 여러분의 다음 수입원이 될 수 있습니다.