검색창 하나 붙이는 데 무엇이 붙나요 | 견적서에서 볼 6가지
기능 목록에 '검색 기능'이라고 한 줄 적히는 일이 실제로는 찾기·나누기·줄 세우기 세 겹이에요. 자료가 몇 건인지, 한국어를 어떻게 쪼갤지, 검색 엔진을 따로 둘지에 따라 개발이 3~5일에서 3~6주까지 벌어져요. 값이 어디서 갈리는지와 견적서에서 확인할 6가지를 정리했어요.

핵심 요약 — 기능 목록에 “검색 기능”이라고 한 줄 적히는 일은 실제로 세 겹이에요. 찾고, 조건으로 나누고, 결과를 줄 세우는 일이요. 자료가 몇백 건이고 제목만 찾으면 데이터베이스가 원래 가진 기능으로 3~5일이면 끝나요. 본문을 찾아야 하고 한국어 띄어쓰기가 틀려도 찾아야 하면 형태소를 다루는 일이 붙어서 1~2주로 늘어요. 자료가 수십만 건을 넘어 검색 엔진을 따로 두면 색인 설계와 동기화까지 3~6주가 되고, 이때부터는 개발비보다 매달 켜두는 값이 먼저 눈에 들어와요. 견적서에서 어디를 봐야 하는지 운영해본 개발사 기준으로 정리했어요.
“검색창 하나만 넣어주시면 돼요.”
기능 목록 맨 아래에 이 한 줄이 붙어 있는 걸 자주 봐요. 화면으로 보면 정말 한 줄이 맞아요. 입력칸 하나에 돋보기 아이콘 하나니까요. 그런데 저희가 견적을 잡을 때 이 줄에서 가장 오래 걸려요. 뒤에 붙는 조건에 따라 사흘짜리 일이 되기도 하고 한 달 반짜리 일이 되기도 하거든요.
1. “검색되게 해주세요”가 왜 한 줄이 아닐까요

검색은 하나의 기능처럼 보이지만 실제로는 세 가지 일이 겹쳐 있어요.
| 겹 | 하는 일 | 발주자가 정할 것 |
|---|---|---|
| 찾기 | 입력한 말이 들어간 자료를 골라내요 | 어디까지 뒤질까요 — 제목만? 본문도? 첨부 파일 안까지? |
| 나누기 | 조건으로 결과를 좁혀요 | 분류·기간·가격대 같은 조건이 몇 개인가요 |
| 줄 세우기 | 어떤 걸 위에 보여줄지 정해요 | 정확도순인가요, 최신순인가요, 우리 규칙이 따로 있나요 |
발주 문서에는 대개 첫 번째 줄만 적혀 있어요. 그런데 개발 시간은 두 번째와 세 번째에서 붙어요. 특히 세 번째는 기술 문제가 아니라 업무 규칙이라서, 개발사가 정할 수도 없어요.
2. 무엇을 검색하느냐가 값을 먼저 갈라요

같은 “검색”이라도 대상에 따라 난이도가 달라져요.
- 짧은 이름 찾기 — 상품명, 회원 이름, 거래처명. 가장 쉬워요. 글자 몇 개만 맞으면 되니까요.
- 긴 글 찾기 — 게시글 본문, 상담 기록, 공지사항. 여기부터 말을 쪼개는 일이 필요해요.
- 첨부 파일 안 찾기 — PDF, 워드, 한글 문서 속 글자까지. 파일에서 글자를 뽑아내는 단계가 하나 더 붙어요.
- 숫자·기간 섞어 찾기 — “3월에 들어온 10만 원 이상 주문”. 검색이라기보다 조건 조회에 가까워요.
세 번째 줄이 견적에서 자주 사고가 나는 자리예요. 문서 관리 시스템을 만들면서 “자료 검색”이라고만 적어두면, 발주자는 파일 안까지 찾을 거라 생각하고 개발사는 파일 이름만 찾을 거라 생각해요. 오픈하고 나서야 서로 다른 그림을 그렸다는 걸 알게 돼요.
3. 한국어라서 생기는 일이 따로 있어요

영어는 띄어쓰기로 단어가 나뉘어서 쪼개기가 쉬워요. 한국어는 안 그래요. “크리에이티브소프트에서”라는 한 덩어리에서 “크리에이티브소프트”를 꺼내려면 조사를 떼어내야 하고, “먹었다”에서 “먹다”를 찾아내려면 어미도 다뤄야 해요.
용어 풀이 — 형태소 분석기 한국어 문장을 뜻이 있는 최소 단위로 쪼개주는 도구예요. 검색 엔진 쪽에서는 노리(Nori)가 널리 쓰이고, 엘라스틱서치와 오픈서치에 함께 들어 있어요. 실무에선 “이게 있어야 조사가 붙어도 찾아진다”고 이해하시면 맞아요.
이걸 안 붙이면 이런 일이 생겨요. 사용자가 “노트북 가방”이라고 쳤는데 “노트북가방”으로 등록된 상품이 안 나와요. 회원이 “김민수”를 찾는데 “김 민수”로 저장돼 있으면 안 나오고요. 사용자 눈에는 검색이 고장 난 걸로 보여요.
그리고 하나 더 있어요. 우리 업계에서만 쓰는 말은 형태소 분석기도 몰라요. 제품명, 약어, 브랜드명 같은 것들이요. 이건 사전에 직접 등록해야 해서 자료를 아는 쪽에서 목록을 만들어줘야 해요. 견적서에는 잘 안 적히는데, 실제로는 발주자 쪽 작업 시간이 들어가는 항목이에요.
4. 자료가 얼마나 되면 검색 엔진이 필요해질까요

처음부터 검색 엔진을 붙일 필요는 없어요. 판단 기준을 정리하면 이래요.
| 상황 | 어떻게 만드나요 | 자사 실무 기준 기간 |
|---|---|---|
| 수백~수천 건, 제목만 | 데이터베이스 기본 기능 | 3~5일 |
| 수천~수만 건, 본문까지 | 데이터베이스 전문 검색 + 형태소 처리 | 1~2주 |
| 수십만 건 이상, 정확도 순서 필요 | 검색 엔진 따로 두기 | 3~6주 |
| 자동완성·오타 교정·연관 검색 추가 | 위 구성에 얹기 | 1~3주 더 |
※ 기간은 저희가 일정을 잡을 때 쓰는 대략치예요. 프로젝트마다 달라져요.
값으로 감을 잡고 싶으시면 공식 노임을 참고선으로 쓰실 수 있어요. 한국소프트웨어산업협회가 공표한 응용SW 개발자 월 평균임금이 약 712만 원인데, 이걸 주 단위로 나누면 1주에 약 178만 원이에요. 3~6주짜리 일이면 대략 530만~1,070만 원 구간이 나와요. 다만 이건 공식 노임을 그대로 환산한 추정치고, 실제 외주 단가에는 관리·마진이 얹히니 그보다 높게 잡히는 게 보통이에요.
넘어가는 신호는 규모만이 아니에요. 목록을 여는 데 3초 넘게 걸리기 시작하면, 자료가 아직 몇만 건이어도 구조를 바꿀 때예요. 이 부분은 사용자가 늘면 무엇부터 느려질까요 | 확장 비용이 생기는 자리에서 더 자세히 다뤘어요.
5. 검색 엔진을 쓰면 운영비가 어떻게 붙나요

여기가 이 글에서 제일 중요한 대목이에요. 검색 엔진은 쓴 만큼이 아니라 켜둔 만큼 돈이 나가요.
아마존 오픈서치를 예로 들면 두 가지 방식이 있어요. 관리형 클러스터는 인스턴스를 켜둔 시간으로 계산하고, 저장 공간과 데이터를 주고받는 값이 따로 붙어요. 서버리스 방식은 처리 단위(OCU) 시간으로 계산하는데, 최소 구성이 색인용 0.5와 검색용 0.5를 합쳐 1 OCU부터 시작해요. 운영 환경에서는 한쪽이 죽어도 버티게 하려고 각각 1 OCU씩 총 2 OCU로 잡는 게 일반적이고요.
무슨 뜻이냐면, 아무도 검색을 안 한 달에도 값이 나가요. 트래픽이 적은 서비스일수록 이 구조가 부담스러워요.
여기에 하나가 더 있어요. 검색 엔진은 버전 지원 기간이 정해져 있어서, 오래된 버전을 계속 쓰면 확장 지원 비용이 따로 붙거나 올려야 해요. 3년쯤 지나 갑자기 나타나는 값이라 초기 견적에는 거의 안 적혀요.
운영사 Tip 저희는 자체 SaaS를 굴리면서 이 판단을 여러 번 했어요. 결론은 늘 비슷했어요. 자료가 확실히 클 걸 아는 게 아니라면 처음엔 데이터베이스 안에서 버티는 쪽이 총액이 낮아요. 검색 엔진을 붙이는 순간 서버가 하나 늘어나는 셈이고, 늘어난 서버는 만드는 값보다 지키는 값이 더 들거든요. 그리고 옮기는 일은 나중에도 할 수 있어요. 반대로 처음부터 붙였다가 걷어내는 건 훨씬 번거로워요.
6. 결과 순서는 누가 정하나요

검색 엔진의 기본 순서는 “검색어가 자주 나오고, 흔치 않은 단어일수록 위”예요. 기술적으로는 합리적인데 장사에는 잘 안 맞아요.
실제로는 이런 규칙이 필요해요.
- 쇼핑몰이면 품절 상품은 아래로 내려야 해요
- 자료실이면 최근 문서가 위로 와야 하는 경우가 많아요
- 회원 검색이면 정확히 일치하는 이름이 언제나 1등이어야 해요
- 광고나 추천 상품을 위에 고정해야 할 수도 있어요
이 규칙은 업무를 아는 쪽에서 정해줘야 해요. 그래서 저희는 착수 전에 “이 검색어를 넣으면 무엇이 1등이어야 하나요”를 열 개쯤 같이 적어봐요. 목록이 있으면 순서 조정이 하루 이틀 일이 되고, 없으면 오픈하고 나서 몇 달을 고치게 돼요.
흔한 실수 하나 더. 검색 결과가 하나도 없을 때 화면을 안 정해두는 경우가 많아요. 빈 화면만 뜨면 사용자는 서비스가 고장 났다고 생각해요. 비슷한 검색어를 제안하거나 인기 항목을 보여주는 화면이 필요한데, 이건 견적서에 따로 안 적으면 안 만들어져요.
7. 견적서에서 확인할 6가지

- 검색 대상 범위 — 제목만인가요, 본문까지인가요, 첨부 파일 안까지인가요
- 한국어 처리 방식 — 형태소 분석기를 쓰나요, 우리 업계 용어 사전은 누가 만드나요
- 구현 방식 — 데이터베이스 안인가요, 검색 엔진을 따로 두나요
- 매달 나가는 값 — 검색 엔진을 둔다면 월 얼마인가요, 트래픽이 늘면 어떻게 변하나요
- 결과 순서 규칙 — 기본값인가요, 우리 규칙을 넣나요, 나중에 바꿀 수 있나요
- 부가 기능 — 자동완성, 오타 교정, 검색어 기록. 각각 따로 적혀 있나요
네 번째 줄이 견적서에 없으면 반드시 물어보세요. 개발비는 한 번이고 이 값은 매달이라, 2~3년으로 보면 여기가 더 큰 경우도 있어요. 여섯 번째 줄의 검색어 기록은 값이 거의 안 드는데 효과가 커요. 사용자가 무엇을 찾다가 못 찾았는지가 그대로 남거든요. 다음에 무엇을 채울지 알려주는 목록이에요.
검색을 붙이려는데 어느 방식이 맞을지 판단이 안 서시면, 자료 규모부터 같이 보면서 정리해드릴 수 있어요 →
8. 자주 묻는 질문 (FAQ)
나중에 붙이면 더 비싼가요?
붙이는 값 자체는 비슷해요. 대신 나중에 붙이면 이미 쌓인 자료를 전부 다시 색인해야 하고, 그 사이에 서비스를 멈출지 말지도 정해야 해요. 처음부터 검색 엔진을 쓸 필요는 없지만, 나중에 옮길 수 있게 자료 구조를 정리해두는 정도는 초기에 해두시는 게 좋아요.
구글 검색을 우리 사이트에 붙이면 안 되나요?
공개된 페이지만 찾으면 되는 경우엔 가능해요. 다만 로그인해야 보이는 자료나 회원 정보는 못 찾아요. 사내 시스템이나 관리자 화면의 검색은 직접 만들어야 해요.
검색이 느린데 서버를 키우면 해결되나요?
대개는 아니에요. 느린 원인이 서버 성능이 아니라 찾는 방식일 때가 많아서요. 자료 전체를 처음부터 훑는 구조면 서버를 키워도 잠깐만 나아져요. 서버를 늘리기 전에 어떤 방식으로 찾고 있는지부터 확인해보세요.
9. 마무리 — 검색은 오픈한 날부터 자라요
검색은 만들고 끝나는 기능이 아니에요. 자료가 쌓이면 느려지고, 사용자가 쓰는 말이 바뀌면 안 찾아지고, 상품이 늘면 순서 규칙을 다시 정해야 해요. 그래서 저희는 견적 단계에서 화면보다 두 가지를 먼저 봐요. 자료가 1년 뒤에 몇 배가 될지, 그리고 결과 순서를 나중에 우리 손으로 바꿀 수 있는지요.
검색 기능을 넣을 계획이시라면 자료 규모와 찾을 범위부터 함께 정리해보실 수 있어요 → 저희는 10년 넘게 50개가 넘는 프로젝트를 진행하고 자체 SaaS 4종을 직접 운영해온 개발사예요. 롯데·캐논 같은 곳과도 함께해 왔고요. 검색은 저희도 여러 번 걷어내고 다시 붙여봐서, 어디서 값이 새는지는 몸으로 아는 편이에요.
관련해서 함께 보면 좋은 글이에요.