當您自行託管 Meilisearch 時,您可以使用命令列選項、環境變數或設定檔在啟動時設定您的執行個體。
這些啟動選項會影響您的整個 Meilisearch 執行個體,而不僅僅是單一索引。如需設定影響單一索引內搜尋的選項,請參閱索引設定。
在啟動 Meilisearch 執行個體時,傳遞命令列選項及其各自的值。
./meilisearch --db-path ./meilifiles --http-addr 'localhost:7700'
在先前的範例中,./meilisearch 是啟動 Meilisearch 執行個體的命令,而 --db-path 和 --http-addr 是修改此執行個體行為的選項。
./meilisearch
--db-path
--http-addr
Meilisearch 也有許多命令列旗標。與命令列選項不同,旗標不接受值。如果給定旗標,則會啟用該旗標並變更 Meilisearch 的預設行為。
./meilisearch --no-analytics
上面的旗標會停用 Meilisearch 執行個體的分析功能,且不接受值。
命令列選項和命令列旗標都優先於環境變數。所有命令列選項和旗標都以 -- 作為前綴。
--
若要使用環境變數設定 Meilisearch 執行個體,請在啟動執行個體之前設定環境變數。如果您不確定如何執行此操作,請閱讀更多關於設定和列出環境變數,或改用命令列選項。
export MEILI_DB_PATH=./meilifiles export MEILI_HTTP_ADDR=localhost:7700 ./meilisearch
在先前的範例中,./meilisearch 是啟動 Meilisearch 執行個體的命令,而 MEILI_DB_PATH 和 MEILI_HTTP_ADDR 是修改此執行個體行為的環境變數。
MEILI_DB_PATH
MEILI_HTTP_ADDR
命令列旗標的環境變數接受 n、no、f、false、off 和 0 作為 false。若環境變數不存在,也會被視為 false。任何其他值都被視為 true。
n
no
f
false
off
0
true
環境變數永遠與對應的命令列選項相同,但會加上 MEILI_ 前綴,並以全部大寫字母表示。
MEILI_
Meilisearch 接受 .toml 格式的設定檔,作為命令列選項和環境變數的替代方案。設定檔可以輕鬆分享和版本控制,並允許您定義多個選項。
.toml
當同時使用時,環境變數會覆寫設定檔中的設定,而命令列選項會覆寫環境變數中的設定。
您可以使用以下命令下載預設設定檔
curl https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml > config.toml
預設情況下,Meilisearch 會在工作目錄中尋找 config.toml 檔案。如果存在,將會使用該檔案作為設定檔。您可以在啟動 Meilisearch 時驗證此點
config.toml
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 Config file path: "./config.toml"
如果「設定檔路徑」不是 "none",則表示已成功找到並使用設定檔來啟動 Meilisearch。
"none"
您可以使用 MEILI_CONFIG_FILE_PATH 環境變數或 --config-file-path CLI 選項來覆寫設定檔的預設位置
MEILI_CONFIG_FILE_PATH
--config-file-path
./meilisearch --config-file-path="./config.toml"
您可以使用設定檔來設定任何環境變數或 CLI 選項。在設定檔中,選項必須以 蛇式命名法 編寫。例如,--import-dump 會寫成 import_dump。
--import-dump
import_dump
import_dump = "./example.dump"
在設定檔中指定 config_file_path 選項將會拋出錯誤。這是唯一無法在設定檔中設定的配置選項。
config_file_path
若要在雲端託管的執行個體中使用命令列選項來設定 Meilisearch,請編輯其服務檔案。服務檔案的預設位置是 /etc/systemd/system/meilisearch.service。
/etc/systemd/system/meilisearch.service
若要在雲端託管的執行個體中使用環境變數來設定 Meilisearch,請修改 Meilisearch 的 env 檔案。其預設位置是 /var/opt/meilisearch/env。
env
/var/opt/meilisearch/env
在編輯您的配置選項後,重新啟動 Meilisearch 服務
systemctl restart meilisearch
Meilisearch Cloud 提供最佳的預先配置環境。當您在 Meilisearch Cloud 上託管專案時,不需要使用本頁列出的任何配置選項。
環境變數:MEILI_CONFIG_FILE_PATH CLI 選項:--config-file-path 預設值:./config.toml 預期值:檔案路徑
./config.toml
指定在啟動時要載入的設定檔位置。
在設定檔本身中指定此選項將會拋出錯誤(假設 Meilisearch 能夠找到您的設定檔)。
環境變數:MEILI_DB_PATH CLI 選項:--db-path 預設值:"data.ms/" 預期值:檔案路徑
"data.ms/"
指定將建立和擷取資料庫檔案的位置。
環境變數:MEILI_ENV CLI 選項:--env 預設值:development 預期值:production 或 development
MEILI_ENV
--env
development
production
設定執行個體的環境。值必須是 production 或 development。
production:
development:
當伺服器環境設定為 development 時,提供主金鑰不是強制性的。這在除錯和原型設計時很有用,但在其他情況下則很危險,因為 API 路由不受保護。
環境變數:MEILI_HTTP_ADDR CLI 選項:--http-addr 預設值:"localhost:7700" 預期值:HTTP 位址和連接埠
"localhost:7700"
設定 Meilisearch 將使用的 HTTP 位址和連接埠。
環境變數:MEILI_MASTER_KEY CLI 選項:--master-key 預設值:None 預期值:至少 16 個位元組的 UTF-8 字串
MEILI_MASTER_KEY
--master-key
None
設定執行個體的主金鑰,自動保護除 GET /health 以外的所有路由。這表示您需要有效的 API 金鑰才能存取所有其他端點。
GET /health
當 --env 設定為 production 時,提供主金鑰是強制性的。如果沒有提供主金鑰,或主金鑰少於 16 個位元組,Meilisearch 將會拋出錯誤並拒絕啟動。
當 --env 設定為 development 時,提供主金鑰是可選的。如果沒有提供主金鑰,所有路由將不受保護並可公開存取。
如果您在 production 或 development 環境中未提供主金鑰,或主金鑰少於 16 個位元組,Meilisearch 將會建議您使用安全的自動產生主金鑰,您可以在重新啟動執行個體時使用。
進一步了解 Meilisearch 對安全金鑰的使用。
🚩 此選項不接受任何值。賦予值將會拋出錯誤。🚩
環境變數:MEILI_NO_ANALYTICS CLI 選項:--no-analytics
MEILI_NO_ANALYTICS
--no-analytics
在提供時,停用 Meilisearch 內建的遙測功能。
Meilisearch 會自動從所有未選擇退出此旗標的執行個體收集資料。收集的所有資料僅用於改進 Meilisearch,並且可以隨時刪除。
進一步了解我們關於資料收集的政策,或查看我們收集的所有資料點的完整清單。
環境變數:MEILI_DUMP_DIR CLI 選項:--dump-dir 預設值:dumps/ 預期值:指向有效目錄的檔案路徑
MEILI_DUMP_DIR
--dump-dir
dumps/
設定 Meilisearch 將建立傾印檔案的目錄。
進一步了解如何建立傾印.
環境變數:MEILI_IMPORT_DUMP CLI 選項:--import-dump 預設值:無 預期值:指向 .dump 檔案的檔案路徑
MEILI_IMPORT_DUMP
.dump
匯入位於指定路徑的傾印檔案。路徑必須指向 .dump 檔案。如果資料庫已存在,Meilisearch 將會拋出錯誤並中止啟動。
Meilisearch 只會在傾印資料完全索引後啟動。這所需的時間取決於傾印檔案的大小。
環境變數:MEILI_IGNORE_MISSING_DUMP CLI 選項:--ignore-missing-dump
MEILI_IGNORE_MISSING_DUMP
--ignore-missing-dump
防止 Meilisearch 在 --import-dump 未指向有效的傾印檔案時拋出錯誤。相反地,Meilisearch 將會正常啟動,而不會匯入任何傾印。
如果未定義 --import-dump,此選項將會觸發錯誤。
環境變數:MEILI_IGNORE_DUMP_IF_DB_EXISTS CLI 選項:--ignore-dump-if-db-exists
MEILI_IGNORE_DUMP_IF_DB_EXISTS
--ignore-dump-if-db-exists
防止具有現有資料庫的 Meilisearch 執行個體在使用 --import-dump 時拋出錯誤。相反地,傾印將會被忽略,Meilisearch 將會使用現有的資料庫啟動。
環境變數:MEILI_LOG_LEVEL CLI 選項:--log-level 預設值:'INFO' 預期值:ERROR、WARN、INFO、DEBUG、TRACE 或 OFF 其中之一
MEILI_LOG_LEVEL
--log-level
'INFO'
ERROR
WARN
INFO
DEBUG
TRACE
OFF
定義 Meilisearch 記錄中應呈現多少詳細資訊。
Meilisearch 目前支援五個記錄層級,按詳細程度遞增順序列出
'ERROR'
'WARN'
'DEBUG'
'TRACE'
'OFF'
環境變數:MEILI_LOGS_MODE CLI 選項:--experimental-logs-mode 預設值:'human' 預期值:human 或 json 其中之一
MEILI_LOGS_MODE
--experimental-logs-mode
'human'
human
json
定義日誌應該輸出人類可讀的文字還是 JSON 資料。
環境變數:MEILI_MAX_INDEXING_MEMORY CLI 選項:--max-indexing-memory 預設值:可用 RAM 的 2/3 預期值:整數 (104857600) 或人類可讀的大小 ('100Mb')
MEILI_MAX_INDEXING_MEMORY
--max-indexing-memory
104857600
'100Mb'
設定 Meilisearch 在建立索引時可使用的最大 RAM 量。預設情況下,Meilisearch 使用的記憶體不超過可用記憶體的三分之二。
值必須以位元組為單位給定,或明確聲明基本單位:107374182400、'107.7Gb' 或 '107374 Mb'。
107374182400
'107.7Gb'
'107374 Mb'
Meilisearch 在索引期間有可能會超過確切的 RAM 限制。在大多數情況和機器上,這應該是可忽略的量,對穩定性和效能幾乎沒有影響。
將 --max-indexing-memory 設定為大於或等於您機器總記憶體的值,很可能會導致您的執行個體崩潰。
環境變數:MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE CLI 選項:--experimental-reduce-indexing-memory-usage 預設值:None
MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE
--experimental-reduce-indexing-memory-usage
啟用 LMDB 選項 MDB_WRITEMAP。啟用此選項可能會在某些 UNIX 和類 UNIX 設定中減少 RAM 使用量。但是,它也可能對寫入速度和整體效能產生負面影響。
MDB_WRITEMAP
環境變數:MEILI_MAX_INDEXING_THREADS CLI 選項:--max-indexing-threads 預設值:可用執行緒的一半 預期值:整數
MEILI_MAX_INDEXING_THREADS
--max-indexing-threads
設定 Meilisearch 在索引期間可使用的最大執行緒數。預設情況下,索引器會避免使用超過機器總處理單元的一半。這可確保 Meilisearch 始終準備好執行搜尋,即使您正在更新索引時也是如此。
如果 --max-indexing-threads 高於機器中可用的實際核心數,Meilisearch 會使用最大可用核心數。
在單核心機器中,Meilisearch 不得不使用唯一可用的核心進行索引。這可能會導致在索引期間搜尋體驗下降。
避免將 --max-indexing-threads 設定為您機器處理器核心總數。雖然這樣做可能會加快索引速度,但很可能會嚴重影響搜尋體驗。
環境變數:MEILI_HTTP_PAYLOAD_SIZE_LIMIT CLI 選項:--http-payload-size-limit 預設值:104857600 (~100MB) 預期值:整數
MEILI_HTTP_PAYLOAD_SIZE_LIMIT
--http-payload-size-limit
設定接受的酬載的最大大小。值必須以位元組為單位給定,或明確聲明基本單位。例如,預設值可以寫成 107374182400、'107.7Gb' 或 '107374 Mb'。
環境變數:MEILI_EXPERIMENTAL_SEARCH_QUEUE_SIZE CLI 選項:--experimental-search-queue-size 預設值:1000 預期值:整數
MEILI_EXPERIMENTAL_SEARCH_QUEUE_SIZE
--experimental-search-queue-size
1000
設定同時搜尋請求的最大數量。預設情況下,Meilisearch 在任何給定時刻最多會將 1000 個搜尋請求加入佇列。此限制的存在是為了防止 Meilisearch 消耗無限量的 RAM。
環境變數:MEILI_SCHEDULE_SNAPSHOT CLI 選項:--schedule-snapshot 預設值:如果不存在則停用,如果存在但沒有值則為 86400 預期值:None 或整數
MEILI_SCHEDULE_SNAPSHOT
--schedule-snapshot
86400
啟用排程快照。預設情況下,快照已停用。
可以使用不帶值的 --schedule-snapshot。如果在啟動執行個體時存在 --schedule-snapshot,但未賦予值,則 Meilisearch 會每 24 小時建立一個新快照。
為了更精確地控制快照排程,請傳遞一個表示每個快照之間間隔的整數(以秒為單位)。當 --schedule-snapshot=3600 時,Meilisearch 會每小時建立一個新快照。
--schedule-snapshot=3600
使用組態檔案時,也可以明確地將布林值傳遞給 schedule_snapshot。當 schedule_snapshot=true 時,Meilisearch 會每 24 小時建立一個新快照,而當 schedule_snapshot=false 時,則不建立任何快照。
schedule_snapshot
schedule_snapshot=true
schedule_snapshot=false
深入了解快照.
環境變數:MEILI_SNAPSHOT_DIR CLI 選項:--snapshot-dir 預設值:snapshots/ 預期值:指向有效目錄的檔案路徑
MEILI_SNAPSHOT_DIR
--snapshot-dir
snapshots/
設定 Meilisearch 將儲存快照的目錄。
環境變數:MEILI_IMPORT_SNAPSHOT CLI 選項:--import-snapshot 預設值:None 預期值:指向快照檔案的檔案路徑
MEILI_IMPORT_SNAPSHOT
--import-snapshot
在匯入指定檔案路徑中先前產生的快照後,啟動 Meilisearch。
如果發生以下情況,此命令將拋出錯誤
可以使用 --ignore-snapshot-if-db-exists 和 --ignore-missing-snapshot 選項分別修改此行為。
--ignore-snapshot-if-db-exists
--ignore-missing-snapshot
環境變數:MEILI_IGNORE_MISSING_SNAPSHOT CLI 選項:--ignore-missing-snapshot
MEILI_IGNORE_MISSING_SNAPSHOT
防止 Meilisearch 執行個體在 --import-snapshot 未指向有效快照檔案時拋出錯誤。
如果未定義 --import-snapshot,此命令將拋出錯誤。
環境變數:MEILI_IGNORE_SNAPSHOT_IF_DB_EXISTS CLI 選項:--ignore-snapshot-if-db-exists
MEILI_IGNORE_SNAPSHOT_IF_DB_EXISTS
防止使用 --import-snapshot 時,已存在資料庫的 Meilisearch 執行個體拋出錯誤。相反,快照將被忽略,並且 Meilisearch 將使用現有的資料庫啟動。
環境變數:MEILI_TASK_WEBHOOK_URL CLI 選項:--task-webhook-url 預設值:None 預期值:URL 字串
MEILI_TASK_WEBHOOK_URL
--task-webhook-url
每當 Meilisearch 完成處理任務或一批任務時,通知已設定的 URL。Meilisearch 會按給定方式使用 URL,並保留任何指定的查詢參數。
webhook 酬載包含ndjson中已完成任務的清單。如需更多資訊,請參閱專用的任務 webhook 指南。
環境變數:MEILI_TASK_WEBHOOK_AUTHORIZATION_HEADER CLI 選項:--task-webhook-authorization-header 預設值:None 預期值:驗證權杖字串
MEILI_TASK_WEBHOOK_AUTHORIZATION_HEADER
--task-webhook-authorization-header
在通知webhook URL時,在授權標頭中包含驗證權杖。
環境變數:MEILI_EXPERIMENTAL_MAX_NUMBER_OF_BATCHED_TASKS CLI 選項:--experimental-max-number-of-batched-tasks 預設值:None 預期值:整數
MEILI_EXPERIMENTAL_MAX_NUMBER_OF_BATCHED_TASKS
--experimental-max-number-of-batched-tasks
限制 Meilisearch 在單一批次中執行的任務數。可能會提高處理大量資源密集型任務佇列之系統的穩定性。
環境變數:MEILI_EXPERIMENTAL_REPLICATION_PARAMETERS CLI 選項:--experimental-replication-parameters 預設值:None
MEILI_EXPERIMENTAL_REPLICATION_PARAMETERS
--experimental-replication-parameters
協助在叢集環境中執行 Meilisearch。它透過三種方式修改任務處理來實現此目的
TaskId
DryRun: true
環境變數:MEILI_SSL_AUTH_PATH CLI 選項:--ssl-auth-path 預設值:None 預期值:檔案路徑
MEILI_SSL_AUTH_PATH
--ssl-auth-path
在指定的路徑中啟用用戶端驗證。
環境變數:MEILI_SSL_CERT_PATH CLI 選項:--ssl-cert-path 預設值:None 預期值:指向有效 SSL 憑證的檔案路徑
MEILI_SSL_CERT_PATH
--ssl-cert-path
設定伺服器的 SSL 憑證。
值必須是 PEM 格式憑證的路徑。第一個憑證應該驗證由 --ssl-key-path 提供的 KEYFILE。最後一個憑證應該是根 CA。
--ssl-key-path
環境變數:MEILI_SSL_KEY_PATH CLI 選項:--ssl-key-path 預設值:None 預期值:指向有效 SSL 金鑰檔案的檔案路徑
MEILI_SSL_KEY_PATH
設定伺服器的 SSL 金鑰檔案。
值必須是 RSA 私密金鑰或 PKCS8 編碼的私密金鑰的路徑,兩者皆為 PEM 格式。
環境變數:MEILI_SSL_OCSP_PATH CLI 選項:--ssl-ocsp-path 預設值:None 預期值:指向有效 OCSP 憑證的檔案路徑
MEILI_SSL_OCSP_PATH
--ssl-ocsp-path
設定伺服器的 OCSP 檔案。選用
從 OCSPFILE 讀取 DER 編碼的 OCSP 回應,並附加到憑證。
環境變數:MEILI_SSL_REQUIRE_AUTH CLI 選項:--ssl-require-auth 預設值:None
MEILI_SSL_REQUIRE_AUTH
--ssl-require-auth
使 SSL 驗證成為強制性的。
如果用戶端未完成用戶端驗證,則會傳送嚴重警示。
環境變數:MEILI_SSL_RESUMPTION CLI 選項:--ssl-resumption 預設值:None
MEILI_SSL_RESUMPTION
--ssl-resumption
啟用 SSL 工作階段恢復。
環境變數:MEILI_SSL_TICKETS CLI 選項:--ssl-tickets 預設值:None
MEILI_SSL_TICKETS
--ssl-tickets
啟用 SSL 票證。
想要加入更多細節嗎? 提出問題 在我們的公開文件儲存庫中。