이 문서에서는 Fess 의 v2 검색 API 에 대해 설명합니다. 공통 응답 엔벨로프·오류 모델·CSRF 에 대해서는 API 개요 를 참조하십시오.
베이스 URL은 http://<Server Name>/api/v2/ 입니다 (로컬 환경 예: http://localhost:8080/api/v2 ).
q 파라미터에는 일반 검색 화면과 동일한 검색 구문(AND/OR/NOT 검색, 필드 지정, 와일드카드, 유사 검색 등)을 사용할 수 있습니다. 검색 구문에 대한 자세한 내용은 Fess 사용자 가이드 를 참조하십시오.
문서 검색
요청
| HTTP 메서드 | GET |
| 엔드포인트 | /api/v2/search |
쿼리에 일치하는 문서를 검색하고 공통 엔벨로프로 결과를 반환합니다. 페이로드 내의 필드 이름은 모두 snake_case 입니다.
요청 파라미터
표: 요청 파라미터
응답
성공 시 (200) 에는 공통 엔벨로프의 response 바로 아래에 다음 필드가 반환됩니다.
각 필드에 대해서는 다음과 같습니다.
표: 응답 필드
참고
플러그인이 검색을 실행하는 대신 다른 곳으로 보내는 경우 (예: DuckDuckGo 형식의 !g 같은 뱅), 성공 응답에는 q 와 redirect_url 만 포함됩니다. 클라이언트는 redirect_url 로 이동해야 합니다.
오류 응답
오류 모델의 자세한 내용은 API 개요 를 참조하십시오. 이 엔드포인트가 반환하는 HTTP 상태는 다음과 같습니다.
표: 오류 응답
전체 문서 취득 (스크롤 검색·NDJSON)
요청
| HTTP 메서드 | GET |
| 엔드포인트 | /api/v2/documents/all |
쿼리에 일치하는 모든 문서를 NDJSON ( application/x-ndjson ) 으로 스트림 배신합니다. 각 행은 {"data":{...}} 객체로, QueryFieldConfig#isApiResponseField 가 허용하는 필드를 포함합니다. GET /search 와 달리 검색 점수 score 는 포함되지 않습니다.
스트림 도중에 실패한 경우에는 마지막 행에 다음 행을 출력하고 플러시합니다.
이 때문에 클라이언트는 마지막 행의 첫 번째 키를 확인하여 정상 완료 ( 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) 를 반환합니다. 활성화하려면 fess_config.properties 에서 api.search.scroll=true 를 설정합니다( 검색 결과 일괄 취득 참조).
요청 파라미터
사양에 명시된 파라미터는 다음과 같습니다.
표: 요청 파라미터
응답
성공 시 (200) 의 Content-Type 은 application/x-ndjson 으로, 다음과 같이 1행 1문서로 반환됩니다.
오류 응답
오류 모델의 자세한 내용은 API 개요 를 참조하십시오. 이 엔드포인트가 반환하는 HTTP 상태는 다음과 같습니다.
표: 오류 응답
관련 항목
필드 지정 검색(제목, URL 등으로 좁히기) - 필드 지정 검색
특수 문자 - 특수 문자
와일드카드 검색 - 와일드카드 검색