Weaviate REST API
Weaviate REST API
Weaviate는 REST API를 기본 인터페이스로 제공해요. /v1 아래에 콜렉션 관리, 오브젝트 CRUD, 검색, 스키마, 인증 등의 엔드포인트가 있어요. GraphQL API와 함께 많이 쓰이는데, 특히 자료 조작(create/update/delete)과 관리 작업은 REST가 편리해요.
오브젝트 CRUD
오브젝트를 하나 만들려면 POST /v1/objects를 써요.
curl -X POST http://localhost:8080/v1/objects \
-H "Content-Type: application/json" \
-d '{
"class": "Movie",
"properties": {"title": "The Matrix", "year": 1999}
}'
생성된 오브젝트는 응답에 포함된 id로 조회·수정·삭제할 수 있어요. 컬렉션이 없는 상태에서 오브젝트를 만들면 스키마가 자동으로 생성되기도 해요.
배치 업로드
여러 오브젝트를 한 번에 넣으려면 배치 엔드포인트를 써요.
curl -X POST http://localhost:8080/v1/batch/objects \
-H "Content-Type: application/json" \
-d '{
"objects": [
{"class": "Movie", "properties": {"title": "The Matrix"}},
{"class": "Movie", "properties": {"title": "Inception"}}
]
}'
스키마와 컬렉션 관리
컬렉션(클래스)을 만들려면 POST /v1/schema, 조회는 GET /v1/schema, 삭제는 DELETE /v1/schema/{class}를 써요. 오브젝트 검색은 GraphQL이 주로 담당하고, 단순 조회는 GET /v1/objects나 GET /v1/objects/{id}로도 가능해요.
인증
Weaviate를 키 또는 OIDC로 보호하면, REST 요청에 Authorization: Bearer <token> 헤더를 붙여 인증해요. 클라우드 인스턴스도 같은 방식으로 접근해요.