通过命令行选项、环境变量或配置文件在启动时配置 Meilisearch。
./meilisearch
是启动 Meilisearch 实例的命令,而 --db-path
和 --http-addr
是修改此实例行为的选项。 Meilisearch 还有许多命令行标志。与命令行选项不同,标志不带值。如果给定标志,它将被激活并更改 Meilisearch 的默认行为。--
开头。./meilisearch
是启动 Meilisearch 实例的命令,而 MEILI_DB_PATH
和 MEILI_HTTP_ADDR
是修改此实例行为的环境变量。 命令行标志的环境变量接受 n
、no
、f
、false
、off
和 0
作为 false
。缺失的环境变量也将被视为 false
。任何其他值都被视为 true
。 环境变量始终与相应的命令行选项相同,但以 MEILI_
为前缀且全部大写。.toml
格式的配置文件,作为命令行选项和环境变量的替代方案。配置文件可以轻松共享和版本控制,并允许您定义多个选项。 同时使用时,环境变量会覆盖配置文件,而命令行选项会覆盖环境变量。 您可以使用以下命令下载默认配置文件:config.toml
文件。如果存在,它将用作配置文件。您可以在启动 Meilisearch 时进行验证
MEILI_CONFIG_FILE_PATH
环境变量或 --config-file-path
CLI 选项覆盖配置文件的默认位置:--import-dump
将被写为 import_dump
。
config_file_path
选项将引发错误。这是唯一不能在配置文件中设置的配置选项。/etc/systemd/system/meilisearch.service
。 要在云托管实例中使用环境变量配置 Meilisearch,请修改 Meilisearch 的 env
文件。其默认位置是 /var/opt/meilisearch/env
。 编辑配置选项后,重新启动 Meilisearch 服务:MEILI_CONFIG_FILE_PATH
--config-file-path
./config.toml
MEILI_DB_PATH
--db-path
"data.ms/"
MEILI_ENV
--env
development
production
或 development
配置实例的环境。值必须是 production
或 development
。 production
:开发
:
development
时,提供主密钥不是强制性的。这在调试和原型设计时很有用,但在其他情况下很危险,因为 API 路由不受保护。MEILI_HTTP_ADDR
--http-addr
"localhost:7700"
MEILI_MASTER_KEY
--master-key
None
GET /health
之外的所有路由。这意味着您需要有效的 API 密钥才能访问所有其他端点。 当 --env
设置为 production
时,提供主密钥是强制性的。如果没有提供,或其少于 16 字节,Meilisearch 将抛出错误并拒绝启动。 当 --env
设置为 development
时,提供主密钥是可选的。如果没有提供,所有路由都将不受保护且可公开访问。 如果您在 production
或 development
环境中未提供主密钥或其少于 16 字节,Meilisearch 将建议一个安全的自动生成主密钥,您可以在重启实例时使用。 了解有关 Meilisearch 使用安全密钥的更多信息。MEILI_NO_ANALYTICS
--no-analytics
提供时停用 Meilisearch 的内置遥测功能。 Meilisearch 会自动从所有未通过此标志选择退出的实例收集数据。所有收集的数据仅用于改进 Meilisearch 的目的,并且可以随时删除。 阅读有关我们数据收集政策的更多信息,或查看我们收集的所有数据点的详尽列表。MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE
--experimental-dumpless-upgrade
MEILI_DUMP_DIR
--dump-dir
dumps/
MEILI_IMPORT_DUMP
--import-dump
.dump
文件的文件路径 导入位于指定路径的转储文件。路径必须指向 .dump
文件。如果数据库已存在,Meilisearch 将抛出错误并中止启动。 Meilisearch 将在转储数据完全索引后才启动。所需时间取决于转储文件的大小。MEILI_IGNORE_MISSING_DUMP
--ignore-missing-dump
当 --import-dump
不指向有效转储文件时,防止 Meilisearch 抛出错误。相反,Meilisearch 将正常启动而不导入任何转储。 如果未定义 --import-dump
,此选项将触发错误。MEILI_IGNORE_DUMP_IF_DB_EXISTS
--ignore-dump-if-db-exists
当使用 --import-dump
时,防止具有现有数据库的 Meilisearch 实例抛出错误。相反,转储将被忽略,Meilisearch 将使用现有数据库启动。 如果未定义 --import-dump
,此选项将触发错误。MEILI_LOG_LEVEL
--log-level
'INFO'
ERROR
, WARN
, INFO
, DEBUG
, TRACE
, 或 OFF
之一 定义 Meilisearch 日志中应包含的详细程度。 Meilisearch 目前支持五个日志级别,按详细程度递增排序:'ERROR'
: 仅记录指示 Meilisearch 未按预期运行的意外事件'WARN'
: 记录所有意外事件,无论其严重程度如何'INFO'
: 记录所有事件。这是 --log-level
的默认值'DEBUG'
: 记录所有事件并包含 Meilisearch 内部流程的详细信息。在诊断问题和调试时很有用'TRACE'
: 记录所有事件并包含 Meilisearch 内部流程的更多详细信息。我们不建议使用此级别,因为它会产生大量信息。在考虑 'TRACE'
之前,请先使用 'DEBUG'
。'OFF'
: 禁用日志记录MEILI_EXPERIMENTAL_LOGS_MODE
--experimental-logs-mode
'human'
human
或 json
之一 定义日志应输出人类可读文本还是 JSON 数据。MEILI_MAX_INDEXING_MEMORY
--max-indexing-memory
104857600
) 或人类可读的大小 ('100Mb'
) 设置 Meilisearch 在索引时可使用的最大 RAM 量。默认情况下,Meilisearch 使用不超过可用内存的三分之二。 该值必须以字节为单位给出,或者明确指定一个基本单位:107374182400
、'107.7Gb'
或 '107374 Mb'
。 Meilisearch 在索引期间可能会超出确切的 RAM 限制。在大多数环境和机器中,这应该是可以忽略不计的量,对稳定性和性能影响很小或没有影响。--max-indexing-memory
设置为大于或等于您机器总内存的值,可能会导致您的实例崩溃。MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE
--experimental-reduce-indexing-memory-usage
None
MDB_WRITEMAP
,一个 LMDB 选项。激活此选项可能会在某些 UNIX 和类 UNIX 设置中减少 RAM 使用。但是,它也可能对写入速度和整体性能产生负面影响。MEILI_MAX_INDEXING_THREADS
--max-indexing-threads
--max-indexing-threads
高于机器中可用的实际核心数,Meilisearch 将使用可用的最大核心数。 在单核机器中,Meilisearch 别无选择,只能使用唯一可用的核心进行索引。这可能导致索引期间搜索体验下降。--max-indexing-threads
设置为您机器处理器核心的总数。虽然这样做可能会加快索引速度,但可能会严重影响搜索体验。MEILI_HTTP_PAYLOAD_SIZE_LIMIT
--http-payload-size-limit
104857600
(~100MB)107374182400
、'107.7Gb'
或 '107374 Mb'
。MEILI_EXPERIMENTAL_SEARCH_QUEUE_SIZE
--experimental-search-queue-size
1000
MEILI_EXPERIMENTAL_EMBEDDING_CACHE_ENTRIES
--experimental-embedding-cache-entries
0
MEILI_SCHEDULE_SNAPSHOT
--schedule-snapshot
86400
None
或 一个整数 激活计划快照。快照默认禁用。 --schedule-snapshot
可以不带值使用。如果在启动实例时 --schedule-snapshot
存在但未分配值,Meilisearch 将每 24 小时拍摄一个新快照。 要更精细地控制快照调度,请传递一个整数,表示每个快照之间的时间间隔(以秒为单位)。当 --schedule-snapshot=3600
时,Meilisearch 每小时拍摄一个新快照。schedule_snapshot
传递布尔值。当 schedule_snapshot=true
时,Meilisearch 每 24 小时拍摄一个新的快照;当 schedule_snapshot=false
时,不拍摄快照。MEILI_SNAPSHOT_DIR
--snapshot-dir
snapshots/
MEILI_EXPERIMENTAL_NO_SNAPSHOT_COMPACTION
--experimental-no-snapshot-compaction
MEILI_IMPORT_SNAPSHOT
--import-snapshot
None
--ignore-snapshot-if-db-exists
和--ignore-missing-snapshot
选项进行修改。
MEILI_IGNORE_MISSING_SNAPSHOT
--ignore-missing-snapshot
当--import-snapshot
不指向有效快照文件时,防止 Meilisearch 实例抛出错误。 如果未定义 --import-snapshot
,此命令将抛出错误。MEILI_IGNORE_SNAPSHOT_IF_DB_EXISTS
--ignore-snapshot-if-db-exists
当使用 --import-snapshot
时,防止具有现有数据库的 Meilisearch 实例抛出错误。相反,快照将被忽略,Meilisearch 将使用现有数据库启动。 如果未定义 --import-snapshot
,此命令将触发错误。MEILI_TASK_WEBHOOK_URL
--task-webhook-url
None
/webhooks
API 路由。MEILI_TASK_WEBHOOK_AUTHORIZATION_HEADER
--task-webhook-authorization-header
None
MEILI_EXPERIMENTAL_MAX_NUMBER_OF_BATCHED_TASKS
--experimental-max-number-of-batched-tasks
None
MEILI_EXPERIMENTAL_LIMIT_BATCHED_TASKS_TOTAL_SIZE
--experimental-limit-batched-tasks-total-size
None
MEILI_EXPERIMENTAL_REPLICATION_PARAMETERS
--experimental-replication-parameters
None
TaskId
标头来手动设置任务 uidDryRun: true
标头来试运行注册任务MEILI_EXPERIMENTAL_NO_EDITION_2024_FOR_SETTINGS
--experimental-no-edition-2024-for-settings
None
MEILI_SSL_AUTH_PATH
--ssl-auth-path
None
MEILI_SSL_CERT_PATH
--ssl-cert-path
None
--ssl-key-path
提供的 KEYFILE。最后一个证书应为根 CA。MEILI_SSL_KEY_PATH
--ssl-key-path
None
MEILI_SSL_OCSP_PATH
--ssl-ocsp-path
None
MEILI_SSL_REQUIRE_AUTH
--ssl-require-auth
None
使 SSL 认证成为强制性。 如果客户端未完成客户端认证,则发送致命警报。MEILI_SSL_RESUMPTION
--ssl-resumption
None
激活 SSL 会话恢复。MEILI_SSL_TICKETS
--ssl-tickets
None
激活 SSL 票据。