使用 Meilisearch API 配置索引设置
本教程展示了如何使用 Meilisearch API 的设置子路由之一来检查和更改索引设置。
如果您是 Meilisearch Cloud 用户,您也可以使用 Meilisearch Cloud 界面配置索引设置。
要求
- 一个新的Meilisearch Cloud项目或至少有一个索引的自托管 Meilisearch 实例
- 安装了
curl
的命令行终端
获取单个索引设置的值
首先检查可搜索属性索引设置的值。
使用 /settings/searchable-attributes
子路由的 GET
端点,将 INDEX_NAME
替换为您的索引
curl \
-X GET 'https://127.0.0.1:7700/indexes/INDEX_NAME/settings/searchable-attributes'
根据您的设置,您可能还需要将 localhost:7700
替换为相应的地址和端口。
您应该立即收到响应
[
"*"
]
如果这是一个新的索引,您应该看到默认值 ["*"]
。这表示 Meilisearch 在搜索时会查找所有文档属性。
更新索引设置
所有文档都包含一个主键属性。在大多数情况下,此属性不包含任何相关数据,因此您可以通过显式将其从可搜索属性列表中删除来改善您的应用程序搜索体验。
使用 /settings/searchable-attributes
子路由的 PUT
端点,将 INDEX_NAME
替换为您的索引,并将示例属性 "title"
和 "overview"
替换为您数据集中存在的属性
curl \
-X PUT 'https://127.0.0.1:7700/indexes/INDEX_NAME/settings/searchable-attributes' \
-H 'Content-Type: application/json' \
--data-binary '[
"title",
"overview"
]'
这次,Meilisearch 不会立即处理您的请求。相反,当搜索引擎有足够的资源更新您的索引设置时,您将收到一个摘要的任务对象
{
"taskUid": 1,
"indexUid": "INDEX_NAME",
"status": "enqueued",
"type": "settingsUpdate",
"enqueuedAt": "2021-08-11T09:25:53.000000Z"
}
处理索引设置更改可能需要一些时间,具体取决于您的索引中有多少文档。等待几秒钟,并使用任务对象的 taskUid
来监控您的请求状态
curl \
-X GET 'https://127.0.0.1:7700/tasks/TASK_UID'
Meilisearch 将响应一个任务对象
{
"uid":1,
"indexUid":"INDEX_NAME",
"status":"succeeded",
"type":"settingsUpdate",
…
}
如果 status
是 enqueued
或 processed
,请稍等片刻,然后再次检查任务状态。如果 status
是 failed
,请确保您使用了有效的索引和属性,然后重试。
如果任务 status
为 succeeded
,则您已成功更新索引的可搜索属性。使用子路由检查新设置的值
curl \
-X GET 'https://127.0.0.1:7700/indexes/INDEX_NAME/settings/searchable-attributes'
Meilisearch 应返回一个包含新值的数组
[
"title",
"overview"
]
结论
您已使用 Meilisearch API 检查索引设置的值。这揭示了一个可以提高项目性能的机会,因此您更新了此索引设置,以使您的应用程序更好、响应更快。
本教程使用了可搜索属性设置,但无论您编辑哪个索引设置,该过程都是相同的。
有关所有索引设置的全面参考,请参阅设置 API 参考。