v4 入门指南
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
简介
DocSearch v4 相比之前版本有重大升级,提供了更强的可访问性、响应能力,并为您的文档带来更佳的搜索体验。它基于 Algolia Autocomplete 构建,确保无缝集成,已被全球领先的文档站点所信赖。
安装
在寻找组合式 API 文档?您可以在此处找到。
DocSearch 包已发布在 npm registry 上。
- 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
搭配 Ask AI 使用 DocSearch
DocSearch v4 引入了对 Ask AI 的支持,这是 Algolia 先进的 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。这有助于将大型语言模型的搜索范围限定在相关结果内。
当在多种语言或任何多面索引中使用 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 建立快速连接,从而提升用户体验,尤其在移动设备上