피드로 돌아가기
Dev.toFrontend
원문 읽기
Index Sharding 기반 Pagefind 도입으로 초기 로드 30KB 달성 및 비용 제로화
Static site search for Astro in 2026: why I picked Pagefind over Algolia and Lunr
AI 요약
Context
500~1,000개의 엔트리를 보유한 AI 디렉토리 사이트의 검색 기능 구현 필요성 대두. 기존 Client-side Indexing 방식의 선형적 인덱스 크기 증가로 인한 초기 로딩 지연과 상용 SaaS 솔루션의 높은 유지 비용이 병목 지점으로 작용.
Technical Solution
- Build-time Indexing을 통한 정적 파일 생성 및 서버리스 인프라 최적화
- Index Sharding 기법을 적용하여 사용자 쿼리에 따른 Lazy Loading 구조 설계
- WASM(WebAssembly) 기반 브라우저 쿼리 처리를 통한 클라이언트 연산 효율 증대
- Critical Path 최적화를 위해 SearchDialog 오픈 시점에만 스크립트를 로드하는 Lazy Loading 전략 채택
- First Deploy 시 발생 가능한 404 에러 대응을 위한 s.onerror 예외 처리 로직 구현
실천 포인트
- 검색 인덱스 크기가 페이지 로드 성능에 영향을 주는지 확인 후 Sharding 도입 검토 - UI 라이브러리 로드 시점을 사용자 인터랙션 시점으로 미루는 Lazy Load 적용 - 정적 파일 기반 검색 도입 시 First Build 시점의 파일 부재에 따른 에러 핸들링 설계 - 분석 데이터(Query Logging) 및 Fuzzy Matching 필요 여부에 따라 Self-hosted와 SaaS 간 Trade-off 분석