v4のスタートガイド
このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →
はじめに
DocSearch v4は以前のバージョンから大幅に進化し、アクセシビリティの向上、レスポンシブ対応の強化、ドキュメント検索体験の改善を実現しています。Algolia Autocompleteを基盤とするDocSearch v4は、世界中の主要ドキュメントサイトから信頼されるシームレスな統合を提供します。
インストール
Composable APIのドキュメントをお探しですか?こちらでご覧いただけます。
DocSearchパッケージはnpmレジストリで入手可能です。
- JavaScript
- React
yarn add @docsearch/js@4
# or with npm
npm install @docsearch/js@4
Without package manager
Include CSS in your website's <head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@4" />
And the JavaScript at the end of your <body>:
<script src="https://cdn.jsdelivr.net/npm/@docsearch/js@4"></script>
yarn add @docsearch/react@4
# or
npm install @docsearch/react@4
Without package manager
Include CSS in your website's <head>:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@4" />
And the JavaScript at the end of your <body>:
<script src="https://cdn.jsdelivr.net/npm/@docsearch/react@4"></script>
初回クエリのパフォーマンス最適化
preconnectを使用してユーザーの初回検索体験を向上させましょう(詳細は後述のパフォーマンス最適化を参照)
実装方法
- JavaScript
- React
DocSearch requires a dedicated container in your HTML
<div id="docsearch"></div>
Initialize DocSearch by passing your container:
import docsearch from '@docsearch/js';
import '@docsearch/css';
docsearch({
container: '#docsearch',
appId: 'YOUR_APP_ID',
indexName: 'YOUR_INDEX_NAME',
apiKey: 'YOUR_SEARCH_API_KEY',
});
DocSearch generates an accessible, fully-functional search input for you automatically.
Integrating DocSearch into your React app is straightforward:
import { DocSearch } from '@docsearch/react';
import '@docsearch/css';
function App() {
return (
<DocSearch
appId="YOUR_APP_ID"
indexName="YOUR_INDEX_NAME"
apiKey="YOUR_SEARCH_API_KEY"
/>
);
}
export default App;
DocSearch generates a fully accessible search input out-of-the-box.
クイックテスト(認証情報なし)
自身の認証情報なしでDocSearchをすぐにテストしたい場合は、デモ設定をご利用ください:
- JavaScript
- React
docsearch({
appId: 'PMZUYBQDAK',
apiKey: '24b09689d5b4223813d9b8e48563c8f6',
indexName: 'docsearch',
askAi: 'askAIDemo',
});
<DocSearch
appId="PMZUYBQDAK"
apiKey="24b09689d5b4223813d9b8e48563c8f6"
indexName="docsearch"
askAi="askAIDemo"
/>
または新しく公開されたDocSearch Playgroundをご利用ください
DocSearchとAsk AIの連携
DocSearch v4では、Algoliaの高度なAI検索機能「Ask AI」のサポートを導入しました。Ask AIはドキュメントから直接文脈に沿ったインテリジェントな回答を提供することで、ユーザー体験を大幅に向上させます。
Ask AIを有効化するには、Algolia Assistant IDを文字列として指定するか、より高度な設定(異なるインデックスの指定、認証情報、検索パラメータなど)を行う場合はオブジェクト形式を使用します:
- String
- Object
docsearch({
appId: 'YOUR_APP_ID',
indexName: 'YOUR_INDEX_NAME',
apiKey: 'YOUR_SEARCH_API_KEY',
askAi: 'YOUR_ALGOLIA_ASSISTANT_ID',
});
docsearch({
appId: 'YOUR_APP_ID',
indexName: 'YOUR_INDEX_NAME',
apiKey: 'YOUR_SEARCH_API_KEY',
askAi: {
indexName: 'YOUR_MARKDOWN_INDEX', // Optional: use a different index for Ask AI
apiKey: 'YOUR_SEARCH_API_KEY', // Optional: use a different API key for Ask AI
appId: 'YOUR_APP_ID', // Optional: use a different App ID for Ask AI
assistantId: 'YOUR_ALGOLIA_ASSISTANT_ID',
searchParameters: {
facetFilters: ['language:en', 'version:1.0.0'], // Optional: filter Ask AI context
},
suggestedQuestions: true // Optional: enable loading suggested questions on the Ask AI new conversation screen
},
});
-
シンプルな設定には文字列形式を使用
-
オブジェクト形式を使用すると、Ask AIが利用するインデックス・認証情報・フィルタをカスタマイズ可能
-
提案される質問機能は、ダッシュボードのAsk AIセクションで制御できます。
検索結果のフィルタリング
キーワード検索
ウェブサイトでDocSearchメタタグを使用している場合、または設定にカスタム変数を追加している場合、facetFiltersオプションを使用して検索結果をfacetにスコープできます
これは検索範囲を特定の言語やバージョンに限定する際に有用です。
- JavaScript
- React
docsearch({
searchParameters: {
facetFilters: ['language:en', 'version:1.0.0'],
},
});
<DocSearch
searchParameters={{
facetFilters: ['language:en', 'version:1.0.0'],
}}
/>
Ask AI
フィルタリング機能はAsk AI使用時にも適用され、LLMの検索範囲を関連性の高い結果のみに限定するのに有用です。
複数言語対応のインデックスやファセットが豊富なインデックスでAsk AIを使用する際は、facetFiltersオプションの利用を推奨します。
- JavaScript
- React
docsearch({
askAi: {
assistantId: 'YOUR_ALGOLIA_ASSISTANT_ID',
searchParameters: {
facetFilters: ['language:en', 'version:1.0.0'],
},
},
});
<DocSearch
askAi={{
assistantId: 'YOUR_ALGOLIA_ASSISTANT_ID',
searchParameters: {
facetFilters: ['language:en', 'version:1.0.0'],
},
}}
/>
facetFilters: ['type:content']を使用すれば、Ask AIがtype属性がcontentのレコード(実際にコンテンツを含むレコード)のみを利用するようにできます。これはインデックスにナビゲーション、メタデータ、その他の非コンテンツタイプのレコードが含まれる場合に特に有用です。
イベント送信
DocSearchインスタンス作成時にinsightsパラメータを渡すことで、検索イベントをDocSearchインデックスに送信できます。
- JavaScript
- React
docsearch({
// other options
+ insights: true,
});
<DocSearch
// other options
+ insights={true}
/>
パフォーマンス最適化
Preconnect
以下のスニペットをウェブサイトの<head>セクションに追加して、初期検索リクエストの読み込み速度を改善できます:
<link rel="preconnect" href="https://YOUR_APP_ID-dsn.algolia.net" crossorigin />
これによりブラウザがAlgoliaとの接続を迅速に確立し、特にモバイルデバイスでのユーザー体験が向上します。