本教程演示如何使用 Meilisearch API 的一个设置子路由来检查和更改索引设置。 如果您是 Meilisearch 云用户,您也可以使用 Meilisearch 云界面配置索引设置

要求

  • 一个新的 Meilisearch 云项目或至少有一个索引的自托管 Meilisearch 实例
  • 安装了 curl 的命令行终端

获取单个索引设置的值

首先检查可搜索属性索引设置的值。 使用 /settings/searchable-attributes 子路由的 GET 端点,将 INDEX_NAME 替换为您的索引:
curl \
  -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/searchable-attributes'
根据您的设置,您可能还需要将 localhost:7700 替换为适当的地址和端口。 您应该立即收到响应:
[
  "*"
]
如果这是一个新索引,您应该看到默认值 [”*”]。这表示 Meilisearch 在搜索时会遍历所有文档属性。

更新索引设置

所有文档都包含一个主键属性。在大多数情况下,此属性不包含任何相关数据,因此您可以通过将其从可搜索属性列表中明确删除来改善您的应用程序搜索体验。 使用 /settings/searchable-attributes 子路由的 PUT 端点,将 INDEX_NAME 替换为您的索引,并将示例属性 "title""overview" 替换为数据集中存在的属性:
curl \
  -X PUT 'MEILISEARCH_URL/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 'MEILISEARCH_URL/tasks/TASK_UID'
Meilisearch 将响应一个任务对象
{
  "uid": 1,
  "indexUid": "INDEX_NAME",
  "status": "succeeded",
  "type": "settingsUpdate",

}
如果 statusenqueuedprocessed,请再等待片刻并再次检查任务状态。如果 statusfailed,请确保您使用了有效的索引和属性,然后重试。 如果任务 statussucceeded,则您已成功更新索引的可搜索属性。使用子路由检查新设置的值:
curl \
  -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/searchable-attributes'
Meilisearch 应该返回一个包含新值的数组
[
  "title",
  "overview"
]

结论

您已使用 Meilisearch API 检查了索引设置的值。这揭示了提高项目性能的机会,因此您更新了此索引设置以使您的应用程序更好、响应更快。 本教程使用了可搜索属性设置,但无论您编辑哪个索引设置,过程都是相同的。 有关所有索引设置的完整参考,请查阅设置 API 参考
© . This site is unofficial and not affiliated with Meilisearch.