Vespa 시작하기
Vespa 시작하기
Vespa를 띄워 첫 검색을 하는 흐름은 (1) 어플리케이션 패키지 만들기, (2) 로컬 Vespa 실행, (3) 데이터 넣기, (4) 검색의 순서예요. 공식 문서에서 권장하는 빠른 시작은 Docker 기반의 vespa-cli를 쓰는 방식이에요.
vespa-cli 설치
Vespa 커맨드라인 도구인 vespa-cli를 설치해요. macOS에서는 Homebrew로, Linux는 패키지로 설치할 수 있어요. 이후 vespa config set target localhost 등으로 대상을 정해요.
어플리케이션 패키지 만들기
어플리케이션 패키지는 스키마와 배포 설정을 담은 디렉터리예요. vespa init으로 골격을 만들 수 있어요. 예를 들어 myapp 디렉터리를 만들고 스키마를 정의해요.
myapp/
└── schemas/
└── documents.sd
documents.sd는 검색할 도큐먼트 타입과 필드를 정의하는 파일이에요.
로컬 실행과 배포
Docker로 Vespa를 띄우고 배포해요.
docker run --detach --name vespa --hostname vespa-container \
--publish 8080:8080 vespaengine/vespa
vespa deploy --wait 300 myapp
vespa deploy는 패키지를 검증하고 클러스터에 반영해요. 배포가 끝나면 데이터를 넣을 준비가 된 거예요.
데이터 넣기와 검색
도큐먼트를 넣고 검색하는 예시예요.
curl -s -X POST -H "Content-Type: application/json" \
--data-binary '{"fields": {"title": "The Hobbit"}}' \
http://localhost:8080/document/v1/mynamespace/doc/docid/1
검색은 쿼리 API를 통해 해요.
curl -s 'http://localhost:8080/search/?yql=select%20*%20from%20sources%20*%20where%20title%20contains%20%22Hobbit%22%3B'
YQL(Vespa Query Language)로 검색 조건을 표현해요.