使用 /network 路由创建 Meilisearch 实例网络。这在与联合搜索结合使用时特别有用,可以实现水平数据库分区策略,例如分片。

这是一项实验性功能。请使用 Meilisearch Cloud UI 或实验性功能端点激活它

curl \
  -X PATCH 'MEILISEARCH_URL/experimental-features/' \
  -H 'Content-Type: application/json' \
  --data-binary '{
    "network": true
  }'

如果一个属性同时

  • 不在 displayedAttributes 列表中
  • 存在于 sortableAttributes

其值可能会通过 /network 端点公开。

如果您依赖 displayedAttributes 中不存在的属性值始终保持隐藏,请勿启用 network 功能。

网络对象

{
  "self": "ms-00",
  "remotes": {
    "ms-00": {
      "url": "http://ms-1235.example.meilisearch.io",
      "searchApiKey": "Ecd1SDDi4pqdJD6qYLxD3y7VZAEb4d9j6LJgt4d6xas"
    },
    "ms-01": {
      "url": "http://ms-4242.example.meilisearch.io",
      "searchApiKey": "hrVu-OMcjPGElK7692K7bwriBoGyHXTMvB5NmZkMKqQ"
    }
  }
}

self

类型:String
默认值null
描述:一个字符串,指示当前实例的名称

remotes

类型:Object
默认值{}
描述:一个包含远程对象的对象。每个远程对象的键表示远程实例的名称

远程对象

"ms-00": {
  "url": "http://ms-1235.example.meilisearch.io",
  "searchApiKey": "Ecd1SDDi4pqdJD6qYLxD3y7VZAEb4d9j6LJgt4d6xas"
}
url

类型:String
默认值null
描述:指示 Meilisearch 实例地址的 URL。此 URL 不需要公开,但必须可被网络中的所有实例访问。必需

searchApiKey

类型:String
默认值null
描述:具有搜索权限的 API 密钥

获取网络对象

GET

返回实例网络对象的当前值。

示例

curl \
  -X GET 'MEILISEARCH_URL/network'

响应:200 Ok

{
  "self": "ms-00",
  "remotes": {
    "ms-00": {
      "url": "http://ms-1235.example.meilisearch.io",
      "searchApiKey": "Ecd1SDDi4pqdJD6qYLxD3y7VZAEb4d9j6LJgt4d6xas"
    },
    "ms-01": {
      "url": "http://ms-4242.example.meilisearch.io",
      "searchApiKey": "hrVu-OMcjPGElK7692K7bwriBoGyHXTMvB5NmZkMKqQ"
    }
  }
}

更新网络对象

PATCH

更新网络对象的 selfremotes 字段。

对网络对象的更新是部分更新。只提供您打算更新的字段。负载中不存在的字段将保持不变。

要将 selfremotes 重置为其原始值,请将它们设置为 null。要从网络中移除单个 remote,请将其名称的值设置为 null

请求体

名称类型默认值描述
self字符串null当前实例的名称
remotes字符串null描述可访问 Meilisearch 实例的远程对象列表

示例

curl \
  -X PATCH 'MEILISEARCH_URL/network' \
  -H 'Content-Type: application/json' \
  --data-binary '{
    "self": "ms-00",
    "remotes": {
      "ms-00": {
        "url": "http://INSTANCE_URL",
        "searchApiKey": "INSTANCE_API_KEY"
      },
      "ms-01": {
        "url": "http://ANOTHER_INSTANCE_URL",
        "searchApiKey": "ANOTHER_INSTANCE_API_KEY"
      }
    }
  }'

响应:200 Ok

{
  "self": "ms-00",
  "remotes": {
    "ms-00": {
      "url": "http://INSTANCE_URL",
      "searchApiKey": "INSTANCE_API_KEY"
    },
    "ms-01": {
      "url": "http://ANOTHER_INSTANCE_URL",
      "searchApiKey": "ANOTHER_INSTANCE_API_KEY"
    }
  }
}