반응형
Search After
-
21. Search After for JAVA (10,000건 이상 조회)BackEnd/Elasticsearch 2021. 12. 30. 20:43
엘라스틱서치의 페이징 처리는 from과 size를 사용하여 구현할 수 있습니다. 그러나, 검색 요청은 from + size에 비례하여 힙 메모리와 시간이 들기에 기본값을 10,000건으로 제한하고 있습니다(index.max_result_window). Scroll api 사용이 가능하지만 스크롤 컨텍스트 비용이 많이 들기에 실시간 사용자 요청에는 Search After를 사용합니다. Search After는 많은 쿼리를 병렬로 스크롤하는 솔루션으로, 이전 페이지의 결과를 사용하여 다음 페이지를 조회합니다. 문서의 고유한 값이 있는 필드를 순위 결정자로 사용해야 합니다. 그렇지 않으면 정렬 순서가 정의되지 않아 결과가 누락되거나 중복될 수 있습니다. Search After는 순위 결정자가 제공한 값과 완전..