1.环境
rockey linux 9.2
2.下载
访问:https://github.com/meilisearch/meilisearch/releases
下载适合自己系统版本的。
注意:我下载的不是最新版本的,因为最新版本的需要GLIBC2.35,我本地系统的是2.34,我查了下如何升级GLIBC,我嫌麻烦,就直接下载了前一个版本的。
如何查看自己系统的GLIBC版本
ldd --version
3.安装
3.1 上传下载的包
mv meilisearch-linux-amd64 meilisearch
chmod u+x meilisearch
cp meilisearch /usr/local/bin/
3.2 创建配置文件
mkdir /etc/meilisearch/
vim /etc/meilisearch/meilisearch.toml
复制下面的内容
# This file shows the default configuration of Meilisearch. # All variables are defined here: https://www.meilisearch.com/docs/learn/configuration/instance_options#environment-variables # Designates the location where database files will be created and retrieved. # https://www.meilisearch.com/docs/learn/configuration/instance_options#database-path db_path = "./data.ms" # Configures the instance's environment. Value must be either `production` or `development`. # https://www.meilisearch.com/docs/learn/configuration/instance_options#environment env = "development" # The address on which the HTTP server will listen. http_addr = "localhost:7700" # Sets the instance's master key, automatically protecting all routes except GET /health. # https://www.meilisearch.com/docs/learn/configuration/instance_options#master-key # master_key = "YOUR_MASTER_KEY_VALUE" # Deactivates Meilisearch's built-in telemetry when provided. # Meilisearch automatically collects data from all instances that do not opt out using this flag. # All gathered data is used solely for the purpose of improving Meilisearch, and can be deleted at any time. # https://www.meilisearch.com/docs/learn/configuration/instance_options#disable-analytics # no_analytics = true # Sets the maximum size of accepted payloads. # https://www.meilisearch.com/docs/learn/configuration/instance_options#payload-limit-size http_payload_size_limit = "100 MB" # Defines how much detail should be present in Meilisearch's logs. # Meilisearch currently supports six log levels, listed in order of increasing verbosity: `OFF`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE` # https://www.meilisearch.com/docs/learn/configuration/instance_options#log-level log_level = "INFO" # Sets the maximum amount of RAM Meilisearch can use when indexing. # https://www.meilisearch.com/docs/learn/configuration/instance_options#max-indexing-memory # max_indexing_memory = "2 GiB" # Sets the maximum number of threads Meilisearch can use during indexing. # https://www.meilisearch.com/docs/learn/configuration/instance_options#max-indexing-threads # max_indexing_threads = 4 ############# ### DUMPS ### ############# # Sets the directory where Meilisearch will create dump files. # https://www.meilisearch.com/docs/learn/configuration/instance_options#dump-directory dump_dir = "dumps/" # Imports the dump file located at the specified path. Path must point to a .dump file. # https://www.meilisearch.com/docs/learn/configuration/instance_options#import-dump # import_dump = "./path/to/my/file.dump" # Prevents Meilisearch from throwing an error when `import_dump` does not point to a valid dump file. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ignore-missing-dump ignore_missing_dump = false # Prevents a Meilisearch instance with an existing database from throwing an error when using `import_dump`. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ignore-dump-if-db-exists ignore_dump_if_db_exists = false ################# ### SNAPSHOTS ### ################# # Enables scheduled snapshots when true, disable when false (the default). # If the value is given as an integer, then enables the scheduled snapshot with the passed value as the interval # between each snapshot, in seconds. # https://www.meilisearch.com/docs/learn/configuration/instance_options#schedule-snapshot-creation schedule_snapshot = false # Sets the directory where Meilisearch will store snapshots. # https://www.meilisearch.com/docs/learn/configuration/instance_options#snapshot-destination snapshot_dir = "snapshots/" # Launches Meilisearch after importing a previously-generated snapshot at the given filepath. # https://www.meilisearch.com/docs/learn/configuration/instance_options#import-snapshot # import_snapshot = "./path/to/my/snapshot" # Prevents a Meilisearch instance from throwing an error when `import_snapshot` does not point to a valid snapshot file. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ignore-missing-snapshot ignore_missing_snapshot = false # Prevents a Meilisearch instance with an existing database from throwing an error when using `import_snapshot`. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ignore-snapshot-if-db-exists ignore_snapshot_if_db_exists = false ########### ### SSL ### ########### # Enables client authentication in the specified path. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-authentication-path # ssl_auth_path = "./path/to/root" # Sets the server's SSL certificates. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-certificates-path # ssl_cert_path = "./path/to/certfile" # Sets the server's SSL key files. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-key-path # ssl_key_path = "./path/to/private-key" # Sets the server's OCSP file. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-ocsp-path # ssl_ocsp_path = "./path/to/ocsp-file" # Makes SSL authentication mandatory. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-require-auth ssl_require_auth = false # Activates SSL session resumption. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-resumption ssl_resumption = false # Activates SSL tickets. # https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-tickets ssl_tickets = false ############################# ### Experimental features ### ############################# # Experimental metrics feature. For more information, see: <https://github.com/meilisearch/meilisearch/discussions/3518> # Enables the Prometheus metrics on the `GET /metrics` endpoint. experimental_enable_metrics = false # Experimental RAM reduction during indexing, do not use in production, see: <https://github.com/meilisearch/product/discussions/652> experimental_reduce_indexing_memory_usage = false # Experimentally reduces the maximum number of tasks that will be processed at once, see: <https://github.com/orgs/meilisearch/discussions/713> # experimental_max_number_of_batched_tasks = 100
3.3 创建工作目录
mkdir /var/lib/meilisearch
3.4 创建系统启动文件
vim /etc/systemd/system/meilisearch.service
复制下面内容:
[Unit] Description=Meilisearch After=systemd-user-sessions.service [Service] Type=simple WorkingDirectory=/var/lib/meilisearch ExecStart=/usr/local/bin/meilisearch --config-file-path /etc/meilisearch/meilisearch.toml #User=meilisearch #Group=meilisearch Restart=on-failure [Install] WantedBy=multi-user.target
systemctl start meilisearch.service
systemctl status meilisearch.service
4.测试
4.1 下载官网的 movies.json
curl -OL https://www.meilisearch.com/assets/datasets/movies.json
4.2 导入索引数据
curl -X POST 'http://localhost:7700/indexes/movies/documents?primaryKey=id' -H 'Content-Type: application/json' -H 'Authorization: Bearer aSampleMasterKey' --data-binary @movies.json
返回结果:
{
"taskUid": 0,
"indexUid": "movies",
"status": "enqueued",
"type": "documentAdditionOrUpdate",
"enqueuedAt": "2025-05-12T15:16:07.979597215Z"
}
4.3 搜索关键字
curl -X POST 'http://localhost:7700/indexes/movies/search' -H 'Content-Type: application/json' -H 'Authorization: Bearer aSampleMasterKey' --data-binary '{ "q": "botman" }'