Loving Tina? us on GitHub0.0k

文档

学习

v.Latest
Documentation
搜索概述
目录

TinaCMS 为内容提供了内置的搜索功能。这对于允许编辑者快速查找网站中的内容非常有用。TinaCloud 的内容搜索由 Fergus McDowallsearch-index 库提供支持。

注意:目前在自托管的 Tina 中不支持搜索。

配置

要启用搜索功能,您需要在 Tina 配置中填充 search 字段。使用 TinaCloud 搜索时,搜索配置中唯一必需的元素是 search.tina.indexerToken 字段。这可以从项目的 TinaCloud 仪表板中获取。

export default defineConfig({
//...
schema: {
collections: [
// 集合数组
],
},
search: {
tina: {
indexerToken: '<Your Search Token>',
stopwordLanguages: ['eng'],
},
indexBatchSize: 100,
maxSearchIndexFieldLength: 100,
},
//.. 其他配置
})

定义

属性

描述

search.tina.indexerToken

TinaCloud 搜索令牌 (必需)

search.tina.stopwordLanguages

可选的字符串停用词语言数组。默认为 ['eng']。请参阅 stopword GitHub 仓库以获取支持语言的完整列表。

search.indexBatchSize

由索引过程使用,以确定每个请求要索引的文档数量。默认为 100

search.maxSearchIndexFieldLength

对于可变长度的文本字段,这控制在索引时考虑多少文本。较高的值将增加索引时间和搜索索引的大小。默认为 100 个字符。

构建搜索索引

开发

当搜索配置完成并且站点在本地使用 dev 命令运行时,内容将在启动时自动索引。对本地内容的任何更改也将触发对(本地)搜索索引的更新。

生产

当搜索配置完成并且站点使用 build 命令构建用于生产时,搜索索引将自动创建并上传到 TinaCloud。您站点的每个 Git 分支都有一个单独的搜索索引。

请注意,搜索索引在站点构建后是“实时”的,因此任何新添加或删除的内容可能会在站点部署之前反映在搜索索引中。可以通过将 --skip-search-index cli 选项传递给 build 命令来跳过构建搜索索引。然后可以在站点部署完成后单独运行 search-index 命令。

自定义搜索索引

排除字段

默认情况下,所有集合字段类型(除 image 外)都包含在搜索索引中。您可以通过控制哪些字段包含在搜索索引中来提高内容的可发现性。这可以通过在集合模式中的字段上设置可选的 searchable 属性来完成。例如,要禁用作者字段的索引,请使用类似以下的代码:

// ...
fields: [
// ...
{
label: '作者',
name: 'author',
type: 'reference',
collections: ['author'],
searchable: false, // 禁用作者字段的索引
},
]
//

限制文本字段

默认情况下,构建搜索索引时仅使用文本字段的前 100 个字符。这可以在 search 配置中全局调整(见上文),但也可以在每个字段的基础上进行调整,如下所示:

// ...
fields: [
// ...
{
label: '文章正文',
name: 'body',
type: 'string',
maxSearchIndexFieldLength: 50, // 仅索引此字段的前 50 个字符
},
]
//

替代搜索提供商

目前仅支持 TinaCloud 的搜索 API,但我们计划在不久的将来提供替代提供商,以及实现自定义搜索提供商的文档。如果您希望支持特定的搜索提供商,请告知我们

上次编辑: June 8, 2023