검색
여러분의 웹사이트에 검색을 추가할 수 있는 몇 가지 옵션이 있습니다.
- 🥇 알골리아 DocSearch (공식)
- 👥 Typesense DocSearch
- 👥 로컬 검색
- 👥 직접 작성한
SearchBar
컴포넌트
🥇 도큐사우루스는 알골리아 DocSearch에 대한 최고 수준의 지원을 제공합니다.
👥 다른 옵션은 커뮤니티에서 관리하고 있습니다. 버그는 해당 저장소에 보고해주세요.
🥇 알골리아 DocSearch 사용하기
도큐사우루스는 알골리아 DocSearch에 대한 공식 지원을 제공합니다.
서비스는 모든 오픈 소스 프로젝트에 대해 무료입니다. 대상 여부를 확인하고 DocSearch 프로그램에 지원하세요.
DocSearch는 웹사이트를 일주일에 한 번 크롤링하고(일정은 웹 화면에서 설정할 수 있습니다) 알골리아 인덱스의 모든 콘텐츠를 수집합니다. 웹 사이트에서는 알골리아 API를 사용해 수집된 콘텐츠에 대한 검색을 실행할 수 있습니다.
여러분의 웹 사이트가 무료로 제공되는 문서 검색 기능에 적합하지 않거나 방화벽 뒤에 있거나 내부에서만 공개한 경우에는 문서 검색 크롤러를 직접 관리할 수 있습니다.
기본적으로 도큐사우루스 사전 설정은 알골리아 크롤러에서 사용할 수 있는 sitemap.xml 파일을 생성합니다.
블로그 게시물이나 DocSearch 마이그레이션 문서에서 기존 DocSearch 환경에서 마이그레이션하는 방법을 자세히 살펴볼 수 있습니다.
색인 설정
애플리케이션이 승인되고 배포되면 프로젝트에 DocSearch를 추가하기 위해 필요한 모든 세부 사항이 담긴 이메일을 받게 됩니다. 크롤링 설정을 수정하거나 관리하는 것은 웹 인터페이스를 통해 처리할 수 있습니다. 인덱스는 배포 후 바로 사용할 수 있는 상태가 되기 때문에 별도 구성은 필요치 않습니다.
도큐사우루스 2 웹사이트 설정과 유사한 설정을 사용하는 것을 권장합니다.
알골리아 연결하기
도큐사우루스 @docusaurus/preset-classic
에서는 기본으로 알골리아 DocSearch 통합을 지원합니다. classic preset을 사용한다면 추가적인 설치가 필요하지 않습니다.
@docusaurus/preset-classic
을 사용하지 않을 때 설치 단계입니다.
- 패키지를 설치합니다.
- npm
- Yarn
- pnpm
npm install --save @docusaurus/theme-search-algolia
yarn add @docusaurus/theme-search-algolia
pnpm add @docusaurus/theme-search-algolia
docusaurus.config.js
에 테마를 등록합니다.
module.exports = {
title: 'My site',
// ...
themes: ['@docusaurus/theme-search-algolia'],
themeConfig: {
// ...
},
};
그리고 themeConfig
에 algolia
필드를 추가합니다. **Apply for DocSearch**에 접속해서 여러분을 위한 알골리아 index 값과 API 키를 발급받을 수 있습니다.
module.exports = {
// ...
themeConfig: {
// ...
algolia: {
// 알골리아에서 제공한 appId를 사용하세요.
appId: 'YOUR_APP_ID',
// 공개 API 키: 커밋해도 문제가 생기지 않습니다.
apiKey: 'YOUR_SEARCH_API_KEY',
indexName: 'YOUR_INDEX_NAME',
// 옵션: 아래 문서를 참고
contextualSearch: true,
// 옵션: history.push 대신 window.location을 통해 탐색해야 하는 도메인을 지정합니다. 여러 문서 사이트를 크롤링하고 window.location.href를 사용하여 해당 사이트로 이동하려는 경우에 유용한 알골리아 설정입니다.
externalUrlRegex: 'external\\.com|domain\\.com',
// 옵션: 알골리아에서 URL 일부를 바꿉니다. 다른 baseUrl을 사용하는 여러 배포본에 대해 같은 검색 인덱스를 사용할 경우 유용합니다. `from` 파라미터에 정규식이나 문자열을 사용할 수 있습니다. 예를 들면 localhost:3000 과 myCompany.com/docs 같은 경우입니다.
replaceSearchResultPathname: {
from: '/docs/', // or as RegExp: /\/docs\//
to: '/',
},
// 옵션: 알골리아 검색 파라미터
searchParameters: {},
// 옵션: 기본적으로 활성화된 검색 페이지 경로(비활성화하려면 `false`로 설정)
searchPagePath: 'search',
//... 다른 알골리아 파라미터
},
},
};