本快速入门将引导您安装 Meilisearch、添加文档并执行首次搜索。 要学习本教程,您需要:
使用 Meilisearch 云?请查看专用指南:Meilisearch 云入门

设置与安装

首先,您需要下载并安装 Meilisearch。此命令会将最新版本的 Meilisearch 安装到您的本地机器上。
# Install Meilisearch
curl -L https://install.meilisearch.com | sh
本指南的其余部分假设您在本地使用 Meilisearch,但您也可以通过云服务(例如 Meilisearch 云)使用 Meilisearch。 安装指南中了解更多其他安装选项。

运行 Meilisearch

接下来,在您的终端中运行以下命令以启动 Meilisearch
# Launch Meilisearch
./meilisearch --master-key="aSampleMasterKey"
本教程使用 `aSampleMasterKey` 作为主密钥,但您可以将其更改为任何 16 字节或更多字节的字母数字字符串。在大多数情况下,一个字符对应一个字节。
您应该会看到类似以下的响应:
888b     d888          d8b 888 d8b                                            888
8888b   d8888          Y8P 888 Y8P                                            888
88888b.d88888              888                                                888
888Y88888P888  .d88b.  888 888 888 .d8888b   .d88b.   8888b.  888d888 .d8888b 88888b.
888 Y888P 888 d8P  Y8b 888 888 888 88K      d8P  Y8b     "88b 888P"  d88P"    888 "88b
888  Y8P  888 88888888 888 888 888 "Y8888b. 88888888 .d888888 888    888      888  888
888   "   888 Y8b.     888 888 888      X88 Y8b.     888  888 888    Y88b.    888  888
888       888  "Y8888  888 888 888  88888P'  "Y8888  "Y888888 888     "Y8888P 888  888

Database path:       "./data.ms"
Server listening on: "localhost:7700"
现在您的终端窗口中正在运行一个 Meilisearch 实例。在本教程的其余部分保持此窗口打开。
上述命令使用 `--master-key` 配置选项来保护 Meilisearch。设置主密钥是可选的,但在开发环境中强烈建议这样做。在生产环境中,主密钥是强制性的。
要了解有关保护 Meilisearch 的更多信息,请参阅安全教程

添加文档

在本快速入门中,您将搜索电影集。 要继续操作,请首先点击此链接下载文件:movies.json。然后,将下载的文件移动到您的工作目录中。
Meilisearch 接受 JSON、NDJSON 和 CSV 格式的数据。
打开一个新的终端窗口并运行以下命令
curl \
  -X POST 'MEILISEARCH_URL/indexes/movies/documents?primaryKey=id' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer aSampleMasterKey' \
  --data-binary @movies.json
Meilisearch 以离散记录的形式存储数据,这些记录称为文档。每个文档都是一个由多个字段组成的对象,这些字段是属性和值对。
{
  "attribute": "value"
}
文档被分组到称为索引的集合中。 前面的命令将 `movies.json` 中的文档添加到一个名为 `movies` 的新索引中。它还将 `id` 设置为主键。
每个索引都必须有一个主键,该主键是该索引中所有文档共有的属性。如果您尝试向索引添加文档,即使只有一个文档缺少主键,所有文档都将无法存储。如果您没有显式设置主键,Meilisearch 会从您的数据集中推断它。
添加文档后,您应该会收到如下响应:
{
    "taskUid": 0,
    "indexUid": "movies",
    "status": "enqueued",
    "type": "documentAdditionOrUpdate",
    "enqueuedAt": "2021-08-11T09:25:53.000000Z"
}
使用返回的 `taskUid` 来检查文档状态
curl \
  -X GET 'MEILISEARCH_URL/tasks/0' \
  -H 'Authorization: Bearer aSampleMasterKey'
Meilisearch 中的大多数数据库操作都是异步的。与即时处理不同,API 请求被添加到队列中并逐个处理
如果文档添加成功,响应应如下所示:
{
   "uid": 0,
   "indexUid": "movies",
   "status": "succeeded",
   "type": "documentAdditionOrUpdate",
   "canceledBy": null,
   "details": {
      "receivedDocuments": 19547,
      "indexedDocuments": 19547
   },
   "error": null,
   "duration": "PT0.030750S",
   "enqueuedAt": "2021-12-20T12:39:18.349288Z",
   "startedAt": "2021-12-20T12:39:18.352490Z",
   "finishedAt": "2021-12-20T12:39:18.380038Z"
}
如果 `status` 为 `enqueued` 或 `processing`,您只需稍等片刻并再次检查即可。一旦任务 `status` 变为 `succeeded`,即可继续下一步。 现在您已经设置好 Meilisearch,可以开始搜索了!
curl \
  -X POST 'MEILISEARCH_URL/indexes/movies/search' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer aSampleMasterKey' \
  --data-binary '{ "q": "botman" }'
本教程使用主密钥查询 Meilisearch。在生产环境中,这存在安全风险。在任何面向公众的应用程序中,优先使用 API 密钥访问 Meilisearch 的 API。
在上述代码示例中,参数 `q` 表示搜索查询。此查询指示 Meilisearch 在您在上一步中添加的文档中搜索 `botman`
{
  "hits": [
    {
      "id": 29751,
      "title": "Batman Unmasked: The Psychology of the Dark Knight",
      "poster": "https://image.tmdb.org/t/p/w1280/jjHu128XLARc2k4cJrblAvZe0HE.jpg",
      "overview": "Delve into the world of Batman and the vigilante justice tha",
      "release_date": "2008-07-15"
    },
    {
      "id": 471474,
      "title": "Batman: Gotham by Gaslight",
      "poster": "https://image.tmdb.org/t/p/w1280/7souLi5zqQCnpZVghaXv0Wowi0y.jpg",
      "overview": "ve Victorian Age Gotham City, Batman begins his war on crime",
      "release_date": "2018-01-12"
    },

  ],
  "estimatedTotalHits": 66,
  "query": "botman",
  "limit": 20,
  "offset": 0,
  "processingTimeMs": 12
}
默认情况下,Meilisearch 仅返回搜索查询的前 20 个结果。您可以使用`limit` 参数更改此设置。

下一步是什么?

您现在已了解如何安装 Meilisearch、创建索引、添加文档、检查异步任务的状态以及发出搜索请求。 如果您想使用简洁的浏览器界面而不是终端来搜索您刚刚添加的文档,可以使用我们内置的搜索预览。您还可以了解如何快速构建自己的前端界面 有关更高级的方法,请查阅API 参考
© . This site is unofficial and not affiliated with Meilisearch.