ServBay에서 Meilisearch 검색 엔진 설정 및 활용 가이드
Meilisearch는 강력하면서도 매우 빠르고 사용이 간편한 오픈 소스 검색 엔진으로, 탁월한 ‘입력 즉시 검색’ 경험을 제공하도록 설계되었습니다. 간단한 RESTful API를 통해 다양한 기능을 갖추고 있습니다. ServBay와 함께라면 macOS 로컬 환경에서 완성도 높은 Meilisearch 인스턴스를 누구나 쉽게 배포할 수 있습니다.
개요
ServBay는 Meilisearch를 그래픽 관리 인터페이스에 통합하여, 개발자가 복잡한 명령줄이나 의존성 걱정 없이 한 번의 클릭으로 설치하고 쉽게 설정할 수 있도록 해줍니다. 또한 ServBay에서는 Meilisearch용 내장 웹 대시보드를 자동으로 구성해주며, https://meilisearch.servbay.host/
라는 편리한 도메인으로 바로 접속해 인덱스 관리, 검색 테스트, 인스턴스 상태 확인 등을 할 수 있습니다.
사전 준비 사항
- macOS에 ServBay가 정상적으로 설치되고 실행 중이어야 합니다.
- 검색 기능을 통합할 개발 프로젝트가 있습니다.
- 검색엔진의 기본 개념(인덱스 Index, 문서 Document, API 키 등)에 대해 기본적인 이해가 필요합니다.
단계별 사용법
1. Meilisearch 패키지 설치
먼저 ServBay 패키지 관리기에서 Meilisearch를 설치하세요:
- ServBay 앱을 실행합니다.
- 왼쪽 내비게이션 바에서 **패키지(Packages)**를 클릭합니다.
- 패키지 목록에서
검색
-Meilisearch
를 찾으세요. Meilisearch
오른쪽의 설치 버튼을 클릭하고 설치가 완료될 때까지 기다립니다.- 활성화 버튼을 클릭해
Meilisearch
서비스를 실행합니다.
2. Meilisearch 서비스 설정
설치가 완료되면 Meilisearch의 상세 설정이 가능합니다:
ServBay 왼쪽 내비게이션 바에서 **Search(검색)**를 클릭합니다.
드롭다운 메뉴에서 Meilisearch를 선택해 설정 화면으로 진입합니다.
필요에 따라 아래 설정 항목을 조정합니다:
- Bind IP (바인드 IP): Meilisearch 서비스가 바인딩되는 IP 주소입니다. 기본값
127.0.0.1
은 로컬에서만 서비스가 열리며, 로컬 개발 환경에서 보안을 위해 권장되는 설정입니다. - Port (포트): Meilisearch API가 사용하는 포트입니다. 기본값은
7700
입니다. 실제 서비스는 이 포트로 동작하지만, ServBay가 제공하는https://meilisearch.servbay.host
도메인을 통해 이용하실 것을 적극 권장합니다. - Master Key (마스터 키): Meilisearch 인스턴스를 보호하는 가장 중요한 인증 수단입니다. 모든 API 요청(인덱스 생성, 수정, 삭제 등)은 이 키를 통해 권한이 부여되어야 합니다. 복잡하면서도 유일한 키를 설정하고 안전하게 보관하세요.
- Data Path (데이터 경로): Meilisearch의 모든 인덱스와 데이터베이스 파일이 저장되는 로컬 경로입니다. 기본 경로는
/Applications/ServBay/data/meilisearch
이며, 우측 폴더 아이콘을 클릭하면 Finder에서 바로 이 디렉토리를 열 수 있습니다. - Runtime Environment (실행 환경):
Development(개발)
또는Production(운영)
을 선택할 수 있습니다. 개발 모드는 더 풍부한 에러 리포트와 API 안내를 제공하여 개발 단계에 적합합니다. 운영 모드는 상세 정보를 비활성화해 성능과 보안을 우선시합니다. - Log Level (로그 레벨): 로그 출력의 상세 수준을 지정합니다.
INFO
,DEBUG
,WARN
,ERROR
등 선택이 가능하며, 문제 디버깅 시 유용합니다.
- Bind IP (바인드 IP): Meilisearch 서비스가 바인딩되는 IP 주소입니다. 기본값
3. 설정 저장 및 서비스 시작
- 모든 설정을 마쳤다면, 우측 하단의 Save(저장) 버튼을 클릭합니다.
- ServBay가 자동으로 설정을 적용하고 Meilisearch 서비스를 시작(또는 재시작)합니다.
- Meilisearch 항목 옆에 있는 상태 표시등을 확인해 녹색 불이 들어오면 서비스가 정상 동작 중임을 의미합니다.
4. Meilisearch 웹 대시보드 접속
ServBay는 Meilisearch 내장 관리 패널 접근을 매우 손쉽게 제공합니다:
방법 1 (추천): Meilisearch 설정 화면 오른쪽 상단의 **브라우저 아이콘(나침반 모양)**을 클릭하면, ServBay가 기본 브라우저에서 대시보드를 자동으로 엽니다.
방법 2: 브라우저 주소창에
https://meilisearch.servbay.host/
를 수동으로 입력합니다.
이 대시보드에서 다음 작업이 가능합니다:
- 인덱스 생성 및 관리
- 검색 쿼리 테스트 및 결과 시각화
- 작업 상태(문서 추가, 설정 변경 등) 확인
- API 키 관리
5. 앱에 Meilisearch 통합
공식 또는 커뮤니티 제공 Meilisearch 클라이언트 라이브러리를 활용해 로컬 인스턴스와 쉽게 연동할 수 있습니다.
연결 시 아래 정보를 사용하세요:
- Host (호스트):
https://meilisearch.servbay.host
(https://
포함) - API Key (API 키): 2단계에서 지정한 마스터 키
PHP 코드 예시 (meilisearch/meilisearch-php
활용)
먼저 PHP 프로젝트에 클라이언트 라이브러리를 설치하세요:
bash
composer require meilisearch/meilisearch-php
1
코드 내 연결 및 사용 예시:
php
<?php
require_once 'vendor/autoload.php';
use MeiliSearch\Client;
// Meilisearch 클라이언트 초기화
$client = new Client('https://meilisearch.servbay.host', 'YOUR-STRONG-MASTER-KEY'); // 마스터 키를 여러분의 것으로 변경
try {
// 1. 인덱스 생성 또는 가져오기
$index = $client->index('movies');
// 2. 문서 추가
$documents = [
['id' => 1, 'title' => 'Carol', 'genres' => ['Romance', 'Drama']],
['id' => 2, 'title' => 'Wonder Woman', 'genres' => ['Action', 'Adventure']],
['id' => 3, 'title' => 'Life of Pi', 'genres' => ['Adventure', 'Drama']],
['id' => 4, 'title' => 'Mad Max: Fury Road', 'genres' => ['Action', 'Adventure']],
['id' => 5, 'title' => 'Moana', 'genres' => ['Fantasy', 'Action']],
['id' => 6, 'title' => 'Philadelphia', 'genres' => ['Drama']],
];
$index->addDocuments($documents);
echo "'movies' 인덱스에 문서가 추가되었습니다.\n";
// Meilisearch가 인덱싱 작업을 처리할 시간을 잠시 대기
sleep(1);
// 3. 검색 실행
$searchResults = $index->search('max');
print_r($searchResults->getHits());
} catch (\Exception $e) {
echo "Meilisearch 오류: {$e->getMessage()}\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
자주 묻는 질문 (FAQ)
- Q: 마스터 키를 잊어버렸어요. 어떻게 해야 하나요?
- A: ServBay Meilisearch 설정 화면에서 새로운 마스터 키를 직접 입력 후 저장 버튼을 누르세요. ServBay가 서비스를 재시작해 새 키를 자동 적용합니다.
- Q: Meilisearch 서비스가 시작되지 않을 때 어떻게 해야 하나요?
- A: 우선 Meilisearch 설정화면 우측 상단의 로그 아이콘을 클릭해 실시간 로그를 확인하세요. 대부분의 경우 상세한 오류 메시지가 포함되어 있습니다. 추가로, 로컬 포트
7700
이 다른 프로그램에서 사용 중인지도 확인해 보세요.
- A: 우선 Meilisearch 설정화면 우측 상단의 로그 아이콘을 클릭해 실시간 로그를 확인하세요. 대부분의 경우 상세한 오류 메시지가 포함되어 있습니다. 추가로, 로컬 포트
- Q: 실행 환경(“Runtime Environment”)의
Development
와Production
은 무엇이 다른가요?- A:
Development
모드는 오류 발생 시 매우 상세한 스택 트레이스를 포함한 API 응답을 제공하여 디버깅에 용이합니다. 반면Production
모드는 일반적인 에러 메시지로 대체해 내부 정보를 숨기고, 더 안전하고 빠른 운영 환경에 적합합니다.
- A:
요약
ServBay와 Meilisearch를 결합하면 macOS 개발자에게 강력하면서도 매끄러운 로컬 검색 개발 환경을 제공합니다. 간소화된 그래픽 관리와 사전 구성된 웹 대시보드를 통해 번거로운 환경 설정에 시간 쓰지 않고, 핵심 검색 기능 개발에 집중하세요.