이 문서에서는 Fess 의 v2 검색 API 에 대해 설명합니다. 공통 응답 엔벨로프·오류 모델·CSRF 에 대해서는 API 개요 를 참조하십시오.
베이스 URL은 http://<Server Name>/api/v2/ 입니다 (로컬 환경 예: http://localhost:8080/api/v2 ).
문서 검색
요청
| HTTP 메서드 | GET |
| 엔드포인트 | /api/v2/search |
쿼리에 일치하는 문서를 검색하고 공통 엔벨로프로 결과를 반환합니다. 페이로드 내의 필드 이름은 모두 snake_case 입니다.
요청 파라미터
표: 요청 파라미터
응답
성공 시 (200) 에는 공통 엔벨로프의 response 바로 아래에 다음 필드가 반환됩니다.
각 필드에 대해서는 다음과 같습니다.
표: 응답 필드
오류 응답
오류 모델의 자세한 내용은 API 개요 를 참조하십시오. 이 엔드포인트가 반환하는 HTTP 상태는 다음과 같습니다.
| 상태 코드 | 설명 |
| 400 Bad Request | 요청이 잘못된 경우. |
| 405 Method Not Allowed | HTTP 메서드가 허용되지 않는 경우. |
| 500 Internal Server Error | 서버 내부 오류가 발생한 경우. |
표: 오류 응답
전체 문서 취득 (스크롤 검색·NDJSON)
요청
| HTTP 메서드 | GET |
| 엔드포인트 | /api/v2/documents/all |
쿼리에 일치하는 모든 문서를 NDJSON ( application/x-ndjson ) 으로 스트림 배신합니다. 각 행은 {"data":{...}} 객체로, QueryFieldConfig#isApiResponseField 가 허용하는 필드를 포함합니다.
스트림 도중에 실패한 경우에는 마지막 행에 다음 행을 출력하고 플러시합니다.
이 때문에 클라이언트는 마지막 행의 첫 번째 키를 확인하여 정상 완료 ( data ) 인지 서버 이상 ( error ) 인지 구별해야 합니다.
쿼리는 GET /search 와 동일한 파라미터 세트 ( q , sort , num , lang , ex_q , sdh , fields.* , as.* , track_total_hits , facet.* , geo.* ) 로 구성됩니다. api.search.scroll=false 로 스크롤 검색이 비활성화된 경우에는 invalid_request (400) 를 반환합니다.
요청 파라미터
사양에 명시된 파라미터는 다음과 같습니다.
표: 요청 파라미터
응답
성공 시 (200) 의 Content-Type 은 application/x-ndjson 으로, 다음과 같이 1행 1문서로 반환됩니다.
오류 응답
오류 모델의 자세한 내용은 API 개요 를 참조하십시오. 이 엔드포인트가 반환하는 HTTP 상태는 다음과 같습니다.
| 상태 코드 | 설명 |
| 400 Bad Request | 잘못된 쿼리, num <= 0 , 또는 api.search.scroll=false 로 스크롤 검색이 비활성화된 경우. |
| 405 Method Not Allowed | HTTP 메서드가 허용되지 않는 경우. |
| 500 Internal Server Error | 서버 내부 오류가 발생한 경우. |
표: 오류 응답