플랫 파일 CMS는 데이터베이스를 사용하지 않습니다. 그렇다면 검색은 어떻게 구현됩니까? 데이터베이스 기반 검색과 비교할 때 이러한 유형의 설치로 계산적으로 비용이 많이 들지 않습니까?플랫 파일 CMS에서 검색을 수행하는 방법
답변
정적 사이트와 함께 검색 할 때 문제는 정의에 의한 것이고 다른 하나는 매우 동적 인 것입니다. 상자 밖에서 두 사람이 행복하게 함께 살 수있는 간단한 방법은 없습니다.
정적 파일 CMS는 정적 웹 사이트가 아닙니다. 파일 구문 분석은 데이터베이스 구문 분석 (일반적으로?)보다 비용이 많이 들지만 기본 CMS에서는 검색 기능을 쉽게 제공 할 수 있습니다. 원하는 것을 제공 할 수있는 플러그인을 찾습니다.
그러나 인프라 및 볼륨에 따라 사이트가 서버 측 계산을 수행 할 수 있는지 여부 (중력 수, 개츠비 및 휴고 수 없음)에 따라 원하는 것을 달성 할 수있는 간단한 솔루션이 있습니다.
가장 간단한 방법은 특수 파일에 모든 콘텐츠의 색인을 만든 다음이를로드하고 검색 클라이언트 측에서 수행하는 것입니다. 이 옵션을 사용하면 이미 만들어진 패키지를 사용하여 개발 시간을 단축 할 수도 있습니다. (예 : https://www.npmjs.com/package/react-fuzzy-search)
프로는 매우 사소한 것입니다. 단점은 대형 측면에서 인덱스가 상당히 커지고 모든 검색이 클라이언트 측에서 수행된다는 것입니다 (따라서 인덱스가 충분히 큰 경우 사용자를 기다리는 시간이 길어질 수 있음). 이 솔루션은 잘 확장되지 않습니다.
또 다른 방법은 검색 서비스를 (SAAS 또는 자신의 전제로) 검색 기능을 외부화하는 것입니다. 기본적으로이 서비스는 서버를 실행하고 API를 통해 콘텐츠를 색인화하고 API를 통해 검색 할 수있는 방법을 제공합니다. 검색 API가 공개인지 확인하고 클라이언트 측에서 실시간으로 쿼리 할 수 있습니다.
이 솔루션은 규모에 따라 서비스가 이루어지기 때문에 실제로 확장 성이 뛰어납니다! 그러나 설치 비용이 너무 높고 수백만 페이지로 확장 할 계획이 없다면 그만한 가치는 없습니다.