通过命令行选项、环境变量或配置文件在启动时配置 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.tomlMEILI_DB_PATH--db-path"data.ms/"MEILI_ENV--envdevelopmentproduction 或 development 配置实例的环境。值必须是 production 或 development。 production:开发:
development 时,提供主密钥不是强制性的。这在调试和原型设计时很有用,但在其他情况下很危险,因为 API 路由不受保护。MEILI_HTTP_ADDR--http-addr"localhost:7700"MEILI_MASTER_KEY--master-keyNoneGET /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-upgradeMEILI_DUMP_DIR--dump-dirdumps/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-memory104857600) 或人类可读的大小 ('100Mb') 设置 Meilisearch 在索引时可使用的最大 RAM 量。默认情况下,Meilisearch 使用不超过可用内存的三分之二。 该值必须以字节为单位给出,或者明确指定一个基本单位:107374182400、'107.7Gb' 或 '107374 Mb'。 Meilisearch 在索引期间可能会超出确切的 RAM 限制。在大多数环境和机器中,这应该是可以忽略不计的量,对稳定性和性能影响很小或没有影响。--max-indexing-memory 设置为大于或等于您机器总内存的值,可能会导致您的实例崩溃。MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE--experimental-reduce-indexing-memory-usageNoneMDB_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-limit104857600 (~100MB)107374182400、'107.7Gb' 或 '107374 Mb'。MEILI_EXPERIMENTAL_SEARCH_QUEUE_SIZE--experimental-search-queue-size1000MEILI_EXPERIMENTAL_EMBEDDING_CACHE_ENTRIES--experimental-embedding-cache-entries0MEILI_SCHEDULE_SNAPSHOT--schedule-snapshot86400None 或 一个整数 激活计划快照。快照默认禁用。 --schedule-snapshot 可以不带值使用。如果在启动实例时 --schedule-snapshot 存在但未分配值,Meilisearch 将每 24 小时拍摄一个新快照。 要更精细地控制快照调度,请传递一个整数,表示每个快照之间的时间间隔(以秒为单位)。当 --schedule-snapshot=3600 时,Meilisearch 每小时拍摄一个新快照。schedule_snapshot 传递布尔值。当 schedule_snapshot=true 时,Meilisearch 每 24 小时拍摄一个新的快照;当 schedule_snapshot=false 时,不拍摄快照。MEILI_SNAPSHOT_DIR--snapshot-dirsnapshots/MEILI_EXPERIMENTAL_NO_SNAPSHOT_COMPACTION--experimental-no-snapshot-compactionMEILI_IMPORT_SNAPSHOT--import-snapshotNone--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-urlNone/webhooks API 路由。MEILI_TASK_WEBHOOK_AUTHORIZATION_HEADER--task-webhook-authorization-headerNoneMEILI_EXPERIMENTAL_MAX_NUMBER_OF_BATCHED_TASKS--experimental-max-number-of-batched-tasksNoneMEILI_EXPERIMENTAL_LIMIT_BATCHED_TASKS_TOTAL_SIZE--experimental-limit-batched-tasks-total-sizeNoneMEILI_EXPERIMENTAL_REPLICATION_PARAMETERS--experimental-replication-parametersNoneTaskId 标头来手动设置任务 uidDryRun: true 标头来试运行注册任务MEILI_EXPERIMENTAL_NO_EDITION_2024_FOR_SETTINGS--experimental-no-edition-2024-for-settingsNoneMEILI_SSL_AUTH_PATH--ssl-auth-pathNoneMEILI_SSL_CERT_PATH--ssl-cert-pathNone--ssl-key-path 提供的 KEYFILE。最后一个证书应为根 CA。MEILI_SSL_KEY_PATH--ssl-key-pathNoneMEILI_SSL_OCSP_PATH--ssl-ocsp-pathNoneMEILI_SSL_REQUIRE_AUTH--ssl-require-authNone 使 SSL 认证成为强制性。 如果客户端未完成客户端认证,则发送致命警报。MEILI_SSL_RESUMPTION--ssl-resumptionNone 激活 SSL 会话恢复。MEILI_SSL_TICKETS--ssl-ticketsNone 激活 SSL 票据。