如何安装和使用开源的Meilisearch

下面为您详细介绍如何在Linux(以Ubuntu为例)系统下安装Meilisearch、插入数据,并进行简单的搜索操作。

一、安装Meilisearch

  1. 更新系统及安装依赖:
bash 复制代码
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install curl unzip -y

这一步确保系统环境最新,并安装了curl等工具用于下载Meilisearch。

  1. 下载Meilisearch最新二进制文件: 使用官方安装脚本(推荐):
bash 复制代码
curl -L https://install.meilisearch.com | sh

该命令会自动下载Meilisearch二进制文件到当前目录并赋予执行权限。

  1. 将二进制文件移动到系统PATH目录(全局可执行):
bash 复制代码
sudo mv meilisearch /usr/local/bin/
  1. 启动Meilisearch服务器:
bash 复制代码
meilisearch --master-key="aSampleMasterKey"

master-key用于API安全认证,可换成您自定义的16位以上字符串。服务器默认监听7700端口。

  1. (可选)将Meilisearch设置成系统服务,以便随系统启动:

创建/etc/systemd/system/meilisearch.service文件,内容示例:

ini 复制代码
[Unit]
Description=MeiliSearch Service
After=network.target

[Service]
Type=simple
User=your_username
ExecStart=/usr/local/bin/meilisearch --http-addr 0.0.0.0:7700 --master-key="aSampleMasterKey"
Restart=on-failure

[Install]
WantedBy=multi-user.target

替换 your_username 为您的Linux用户名。

启用服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable meilisearch.service
sudo systemctl start meilisearch.service

通过命令systemctl status meilisearch.service确认运行状态。

此时,Meilisearch服务器已经在7700端口运行.123

二、插入数据示例

Meilisearch使用JSON格式文档。假设我们定义一个索引名为"movies",每条文档包含idtitleyear字段。

使用cURL插入示例数据:

bash 复制代码
curl -X POST 'http://127.0.0.1:7700/indexes/movies/documents' \
     -H 'Content-Type: application/json' \
     --data-binary '[
       { "id": 1, "title": "Inception", "year": 2010 },
       { "id": 2, "title": "Interstellar", "year": 2014 }
     ]'

注意每个文档必须包含唯一的id字段作为主键。

如果启用了master-key,需加上X-Meili-API-Key头部:

bash 复制代码
-H 'X-Meili-API-Key: aSampleMasterKey'

这样,数据就被插入到"movies"索引中了.456

三、进行简单检索

插入文档后,可以通过HTTP API进行搜索。以下是一个用cURL发送简单查询的例子,搜索包含字词"Inception"的文档:

bash 复制代码
curl -X POST 'http://127.0.0.1:7700/indexes/movies/search' \
     -H 'Content-Type: application/json' \
     --data '{ "q": "Inception" }'

如果启用了master-key,同样要加上API密钥头。

搜索返回的数据格式中包含hits数组,即匹配到的文档列表,可以通过这个数据进行展示。

用JavaScript客户端示例:

javascript 复制代码
const { MeiliSearch } = require('meilisearch');

const client = new MeiliSearch({
  host: 'http://127.0.0.1:7700',
  apiKey: 'aSampleMasterKey'
});

async function searchMovies() {
  const index = client.index('movies');
  const results = await index.search('Inception', { limit: 10 });
  console.log(results.hits);
}

searchMovies();

这个例子中初始化了客户端,选择了"movies"索引并进行搜索,返回匹配结果.783


综上:

步骤 内容 命令或代码示例
1 安装Meilisearch `curl -L https://install.meilisearch.com
2 移动二进制到PATH sudo mv meilisearch /usr/local/bin/
3 启动服务 (含master-key) meilisearch --master-key="aSampleMasterKey"
4 插入数据(JSON文档) curl -X POST http://127.0.0.1:7700/indexes/movies/documents + JSON数据
5 执行搜索请求 curl -X POST http://127.0.0.1:7700/indexes/movies/search + 查询JSON
6 (可选)用JavaScript客户端调用 见上述JavaScript代码示例

此流程是Meilisearch在Linux上最简单且完整的安装、插入数据及检索的示范。如需更高级的索引配置、过滤和安全认证,可继续深入官方文档学习.

相关推荐
ZzT12 小时前
给 Claude Code 装个 profiler:每个工具调用慢在哪,瀑布流时间线里一眼看见
人工智能·github·claude
李白你好12 小时前
页面资产梳理 · 技术指纹识别 · Spring 端点探测
java·后端·spring
用户17537212403312 小时前
02《面向对象设计原则:SOLID原则实战解析》
后端
胡萝卜术12 小时前
从零搭建生成式AI项目:OpenAI + Node.js 环境配置与密钥安全实践
前端·javascript·面试
我是一颗柠檬12 小时前
【Java后端技术亮点】热Key探测与本地缓存二级防护:Redis热点问题的终极解决方案
java·redis·后端·缓存·中间件
thatway198912 小时前
理想汽车开源技术-2星环OS开源车载操作系统介绍
后端
阿聪谈架构12 小时前
第13章:AI异步与生产部署 —— 让 AI 服务稳定高效地面向用户
人工智能·后端
苏三的开发日记12 小时前
Spring Boot启动慢如何优化
面试·编程语言
神奇小汤圆12 小时前
125K+ star 的 AI 爬虫神器:让你的 Agent 秒变网络达人
面试
LucianaiB12 小时前
耗时30天,DocPilot Qwen正式开源:一个免费无广的开源文档 AI 助手
前端·后端