사용자가 검색 요청을 하면 다음 과정을 거칩니다.
1. 클라이언트가 /search/tweets 또는 /search/users 엔드포인트로 GET 요청을 보냅니다. 이때 검색 쿼리와 페이지네이션에 필요한 매개변수(옵셔널)를 포함합니다.
2. 검색 서비스는 요청을 받아 검색 쿼리를 분석합니다.
3. 분석한 쿼리를 엘라스틱서치에서 사용할 수 있는 쿼리로 변환하며, 적절한 쿼리 빌더와 필터를 적용합니다.
4. 변환된 쿼리를 엘라스틱서치로 보내면 엘라스틱서치는 인덱싱한 데이터를 기준으로 검색 작업을 수행합니다.
5. 엘라스틱서치는 검색 조건에 맞는 트윗이나 사용자 데이터를 찾아 반환합니다.
6. 검색 서비스는 데이터를 받아 필요할 경우 추가적으로 필터링, 정렬, 페이지네이션 같은 작업을 처리합니다.
7. 그렇게 처리해서 만든 데이터는 최종적으로 클라이언트에 반환합니다.