Meilisearch
직접 운영하는 검색 엔진. 오타에 강하고 키워드와 의미 검색을 하나의 REST API로 함께 다루는 하이브리드 검색
Meilisearch는 직접 돌리는 검색 엔진입니다. Rust로 만든 단일 바이너리와 REST API로 사이트나 앱에 오타에 강한 입력 중 검색을 제공하고, 키워드 일치와 의미 기반 검색을 한 번의 질의로 섞을 수 있습니다. 2026년 9월 4일 기준 GitHub 스타 59,175개, 2026년 8월 13일에 v1.53.1을 공개했고, 핵심은 MIT 라이선스이며 규모 확장용 일부 기능만 별도의 상용 라이선스입니다. 창업자가 계획해야 할 대상은 검색창이 아닙니다. 거기에 입력되는 질의가 가장 값싼 수요 조사이고, 당신이 결정하지 않으면 아무도 그것을 기록해 주지 않는다는 점입니다.
Meilisearch는 무엇인가
Meilisearch(github.com/meilisearch/meilisearch)는 프랑스에 본사를 둔 Meili SAS가 Rust로 작성하는 검색 엔진입니다. 바이너리를 실행하고, JSON 문서를 색인에 넣고, HTTP로 질의합니다. 주요 언어를 위한 공식 클라이언트가 있습니다. 프로젝트는 2018년 4월에 시작해 개발이 끊이지 않았습니다. 릴리스는 2026년 8월 3일 v1.52.0부터 2026년 8월 13일 v1.53.1까지 이어졌고, 기본 브랜치에는 거의 매일 기능 커밋이 들어오며, 수집 시점에 열린 이슈가 315건이었습니다.
- 오타 허용과 입력 중 검색이 기본값 쓸 만한 검색창을 얻기 위해 관련도 파이프라인을 조율할 필요가 없습니다. 프로젝트가 내건 목표는 50밀리초 미만의 결과이고, 철자가 틀린 질의도 걸립니다.
- 하이브리드 검색이 한 번의 질의로 실행된다 키워드 일치와 벡터 검색을 결합하므로, 문서와 단어를 하나도 공유하지 않는 표현도 의미로 맞출 수 있습니다. 임베딩 모델은 사용하는 쪽에서 붙입니다.
- 필터, 패싯, 정렬, 지리 검색이 함께 온다 검색창을 둘러보기 인터페이스로 바꾸는 부분입니다. 무언가를 조회하는 것과 카탈로그를 돌아다니게 하는 것의 차이가 여기서 갈립니다.
- 멀티테넌시는 테넌트 토큰으로 처리한다 사용자별로 볼 수 있는 범위를 제한하는 키입니다. 고객마다 색인을 따로 두지 않고도 다수 고객을 받는 제품 안쪽에 검색을 넣는 방법입니다.
- 지원 언어를 명시한다는 점이 중요하다 프로젝트는 중국어, 일본어, 히브리어, 라틴 문자권 언어에 최적화된 처리를 명시합니다. 자기 언어는 추측하지 말고 그 목록과 대조하세요.
- AI 스택과 연결된다 LangChain 연동과 Model Context Protocol 서버가 있어, 사람이 아니라 에이전트가 색인을 조회하게 할 수도 있습니다.
라이선스 경계선과 그 위치
도입을 정하기 전에 읽어 둘 만합니다. 이 저장소는 단순한 MIT가 아닙니다. LICENSE 파일은 `SPDX-License-Identifier: MIT AND BUSL-1.1`을 선언합니다. Community Edition은 MIT이고 상업적 사용도 자유로운 반면, Enterprise Edition — 샤딩과 S3 스트리밍 스냅샷 — 은 Business Source License 1.1 아래에 있으며 상업 계약 없이는 운영 환경에서 허용되지 않는다고 프로젝트가 직접 밝힙니다. 전형적인 오픈 코어 분할이고, 유용한 정보는 경계선이 어디에 그어졌는가입니다. 단일 노드는 전부 MIT입니다. 상업적 경계에 닿는 시점은 한 대로 부족해질 때이고, 대부분의 초기 제품에게는 한참 뒤의 일입니다.
설치 시점에 정해 두면 좋은 작은 항목이 둘 있습니다. 호스팅 옵션인 Meilisearch Cloud는 단순한 호스팅이 아니라, 프로젝트가 추가 요소로 분석과 모니터링을 언급합니다. 이는 다음 절과 바로 이어집니다. 그리고 자체 운영 바이너리는 기본적으로 익명 텔레메트리를 수집합니다. 끄는 방법은 문서에 있으니, 설정 파일을 열어 둔 김에 의식적으로 선택해 두세요.
성장 논리는 검색창이 아니라 질의 로그에 있다
사이트 내 검색은 방문자가 아무도 시키지 않았는데 자기 말로 "무엇을 찾을 줄 알았는지"를 알려 주는 유일한 자리입니다. 설문처럼 예의를 차릴 동기가 없고, 키워드 조사와 달리 양은 적지만 의도는 부정할 수 없습니다. 이미 사이트에 와 있고, 이미 관심이 있고, 원하는 것을 직접 입력한 사람들이니까요.
Meilisearch는 질의에 답합니다. 다만 자체 운영판은 무엇이 검색되었는지 보여 주는 대시보드를 주지 않습니다. 분석은 Cloud 쪽 추가 요소로 명시되어 있습니다. 즉 기록은 당신이 붙여야 할 부분입니다. 반나절이면 되고, 보상의 대부분이 거기 있습니다. 다음 순서로 하세요.
- 모든 질의를 결과 건수와 함께 기록한다 입력된 문자열, 돌아온 결과 수, 어느 페이지에서 입력되었는지. 두 개의 열과 시각이면 시작으로 충분하고, 나중에 늘리면 됩니다.
- 결과가 0인 질의부터 읽는다 로그 전체에서 가장 값진 줄입니다. 누군가 직접 입력할 만큼 구체적으로 무언가를 원했는데 당신은 아무것도 돌려주지 못했습니다. 일부는 엔진이 흡수했어야 할 오타이고, 일부는 없는 기능이며, 일부는 아무도 쓰지 않는 이름으로 이미 갖고 있는 기능입니다.
- 나머지를 빈도순으로 정렬해 상위 스무 개를 소리 내어 읽는다 고객이 쓰는 단어는 대개 홈페이지의 단어와 다릅니다. 그 간극이 공짜 포지셔닝 조사이고, 읽는 수고 외에 드는 비용이 없습니다.
- 제품보다 어휘를 먼저 고친다 동의어는 설정 변경입니다. 사람들이 "계산서"로 검색하는데 제품이 "청구"라고 말한다면, 수요에 대해 결론을 내리기 전에 색인에 둘 다 가르치세요.
- 남은 것을 콘텐츠와 키워드 작업으로 넘긴다 이미 사이트에 있는 사람이 입력한 질의는 도구가 추정한 검색량보다 강한 검색 의도의 표명입니다. 스타트업 키워드 조사도 함께 보세요.
우리 경험에서 나온 경고를 하나 덧붙입니다. 이건 겉으로 드러나지 않는 종류의 실패이기 때문입니다. 우리는 여덟 개 언어로 발행합니다. 고객용 문구에서 금지한 단어를 단어 경계 검색으로 자사 카피 전체에 대해 점검했더니 결과는 "문제 없음"이었습니다. 실제로는 149건이 파일에 그대로 있었습니다. 그 패턴은 중국어, 일본어, 한국어 문장에 전혀 걸리지 않았습니다. 이 언어들은 단어를 공백으로 나누지 않으니까요. 점검은 침묵을 돌려줬고 우리는 그 침묵을 건강함으로 읽었습니다. 검색도 정확히 같은 모양입니다. 색인이 공백으로 쪼갠다면 일본어 방문자의 질의는 아무것도 돌려주지 못하고, 로그는 "일본어로 검색하는 사람이 없다"로 읽힙니다. 사실은 "일본어 검색이 망가졌다"인데도요. Meilisearch는 특정 언어군에 대한 최적화된 처리를 명시합니다. 그 바깥의 문자 체계에서 판다면, 로그를 믿기 전에 그 문자로 실제 질의를 직접 쳐 보세요.
어디에 맞고, 어디에는 맞지 않는가
검색이 있으면 좋은 것에서 필요한 것으로 넘어가는 지점은, 대체로 내비게이션이 한 화면에 담기지 않게 되는 순간입니다. 문서 모음, 블로그 축적분, 상품 카탈로그, 디렉터리는 생각보다 빨리 그 선을 넘습니다. 우리 자체 마케팅 사이트는 이미 한참 넘었습니다. 이 글을 쓰는 시점에 여덟 개 언어로 약 450개 페이지가 있고, 방문자에게는 메뉴를 뒤지는 것보다 입력하는 편이 나은 규모입니다.
다만 한계에는 정직하세요. 검색 품질은 인프라의 옷을 입은 콘텐츠 문제입니다. 얇고 제목이 나쁜 문서 위에 빠른 엔진을 얹으면 빠르고 나쁜 결과가 돌아올 뿐이고, 어떤 조정으로도 구제되지 않습니다. 직접 운영하는 것도 운영상의 약속입니다. 프로세스, 디스크, 백업, 업그레이드. 많은 소규모 사이트에서는 CMS 내장 검색이나 호스팅 서비스가 옳은 답이고, Meilisearch가 자리를 얻는 경우는 관련도를 직접 통제하고 싶을 때, 자사 애플리케이션 안쪽에 필요할 때, 데이터가 어디에 있는지가 중요할 때입니다. 아래 계층부터 고르는 중이라면 앱 백엔드는 PocketBase가, 문서 쪽은 docmd가 다룹니다.
권하는 순서는 이렇습니다. 방문자에게 필요하니 검색을 내보내고, 저장 비용이 거의 없고 지나간 것은 되살릴 수 없으니 질의는 첫날부터 남기고, 성능 지표가 아니라 고객 조사로서 매달 읽으세요. 거기서 알게 된 것을 페이지와 포지셔닝, 아웃바운드로 바꾸는 일이 느린 절반이고, 그 지점에서 AgentCeres — AI 그로스 오피서, agentceres.com — 가 당신 옆에서 초안을 쓰고, 밖으로 나가는 것은 사람이 승인합니다.
FAQ
- 사이트에 이미 검색이 있다면 Meilisearch가 필요할까요
- 아마 필요 없습니다. CMS나 프레임워크, 쓰고 있는 플랫폼의 내장 검색이 이미 맞는 결과를 돌려준다면 그것은 해결된 문제이고, 교체는 눈에 보이는 이득 없는 작업입니다. 전용 엔진이 값을 하는 경우는 단순 일치로는 무너질 만큼 크거나 다국어인 문서 집합, 마케팅 사이트가 아니라 자사 제품 안쪽에 필요한 검색, 그리고 실제로 조정 가능한 관련도가 필요할 때입니다. 검색이 "가지고 있어야 할 인프라"처럼 들려서가 아니라 이 중 하나를 이유로 도입하세요.
- 상업용 제품에 MIT 부분만으로 충분한가요
- 단일 노드 배포라면 충분합니다. Community Edition은 MIT이고 상업적 사용이 자유롭다고 프로젝트가 명시합니다. Enterprise Edition은 샤딩과 S3 스트리밍 스냅샷을 Business Source License 1.1로 다루며, 운영 환경 사용에는 상업 계약이 필요하다고 프로젝트가 밝힙니다. 확장 기능 위에 무언가를 올리기 전에 저장소의 LICENSE와 LICENSE-EE를 직접 읽으세요. 분할은 릴리스마다 움직일 수 있고, 요약은 파일을 대신하지 못합니다.
- 검색 로그에서 실제로 무엇을 배우나요
- 주로 어휘와 공백입니다. 결과가 0인 질의는 사람들이 있으리라 기대한 것을 이름으로 짚어 줍니다. 방문자가 직접 쓴 제품과 콘텐츠 백로그인 셈입니다. 자주 나오는 질의는 당신이 파는 것을 그들이 어떤 단어로 부르는지 보여 주는데, 그 단어는 대개 홈페이지의 단어가 아닙니다. 둘 다 고객과 직접 대화하는 것을 대신하지는 못하지만, 둘 다 공짜이고 계속되며 누가 읽든 말든 이미 벌어지고 있습니다.
You built it. Now grow it.
AgentCeres is a managed AI marketing team — specialists draft the SEO, social, and outreach that fill your links, you approve what ships. 14-day free trial, from $39/month.