Docker三分钟部署ElasticSearch平替MeiliSearch轻量级搜索引擎

👩🏽‍💻个人主页:阿木木AEcru (更多精彩内容可进入主页观看)

🔥 系列专栏:《Docker容器化部署系列》 《Java每日面筋》

💹每一次技术突破,都是对自我能力的挑战和超越。

目录

    • 一、 什么是MeiliSearch?
    • 二、对比ElasticSearch有什么好处?
    • 三、使用场景有哪些?
    • 四、docker部署MeiliSearch
      • 4.1 创建数据持久化文件夹
      • 4.2 拉取镜像
      • 4.3 运行容器
    • 五、访问测试
      • 5.1 访问
      • 5.2 下载测试文件
      • 5.3 导入测试文件
    • 六、结尾

一、 什么是MeiliSearch?

MeiliSearch作为轻量级搜索引擎的解决方案,相比于Elasticsearch,它更适用于中小型项目,提供快速、高精度、易用且支持中文搜索的特点。MeiliSearch拥有定制化API和多语言支持,尤其适合数据量不大但对速度和易用性有要求的场景。

二、对比ElasticSearch有什么好处?

Meilisearch以其轻量级和高性能的特点,为需要快速、简单搜索解决方案的开发者和中小型项目提供了理想选择。与Elasticsearch相比,Meilisearch的资源占用更少,部署过程更为简便,无需复杂的集群配置即可快速启动服务。

Meilisearch的搜索响应时间极短,通常在50毫秒以内,为用户提供了接近即时的搜索体验。它内置了智能搜索功能,如错字容忍和同义词识别,这些功能开箱即用,无需额外配置,大大简化了开发流程。

支持多语言SDK是Meilisearch的另一大优势,无论是在Python、Java还是Go等流行编程语言中,开发者都能轻松集成Meilisearch,享受到它带来的便利。Meilisearch的API设计直观易用,即便是编程新手也能快速掌握。

Meilisearch的社区活跃,文档详尽,为用户在使用过程中遇到的问题提供了丰富的解答和指导。此外,Meilisearch对中文搜索的原生支持,为中文内容的搜索提供了极大的便利,无需额外的语言处理配置。

尽管Meilisearch在处理大规模数据集和复杂查询方面可能不如Elasticsearch强大,但其在成本效益、易用性和快速响应方面的优势,使其成为许多现代应用的理想搜索解决方案。随着技术的不断发展,Meilisearch有望在搜索引擎领域扮演更加重要的角色,为用户带来更加高效和智能的搜索体验。

三、使用场景有哪些?

  1. 电子商务网站:通过实时搜索建议和个性化搜索结果来提升用户体验。
  2. 内容管理系统:快速检索文档、博客文章、新闻等,提高内容查找效率。
  3. 企业内部搜索:为员工提供快速访问公司内部数据和知识库的能力。
  4. 初创公司和小型项目:由于资源和成本限制,需要一个易于部署和维护的搜索解决方案。
  5. 个人开发者:为个人项目提供快速、简单的搜索功能,无需复杂的设置。
  6. 管理后台搜索:在管理后台提供高效的数据检索,简化操作流程。
  7. 小程序搜索:为小程序用户提供快速响应的搜索体验。
  8. 网站搜索功能:为各种网站提供站内搜索能力,增强用户交互。
  9. 文档搜索:在大量文档中快速定位所需信息。
  10. 商品搜索:在电商平台上提供商品搜索,提升购物体验。

四、docker部署MeiliSearch

4.1 创建数据持久化文件夹

sudo mkdir -p /usr/local/meiliData

4.2 拉取镜像

 docker pull getmeili/meilisearch:v1.8

这里需要注意的是,我在服务器是是拉不到的(需要魔法上网),我就在本地安装了DockerDesktop ,再使用魔法上网然后拉取下来的镜像,然后再打包成tar包上传到服务器运行。

4.3 运行容器

sudo docker run -it \
--privileged=true \
-d --restart=always \
-p 7700:7700 \
-e MEILI_MASTER_KEY='V24oN6ZyG810XEvczp' \
-v /usr/local/meiliData:/meili_data \
--name meilisearch \
getmeili/meilisearch:v1.8

1. `sudo docker run -it`:以管理员权限启动一个新的Docker容器,并与它交互。
2. `--privileged=true`:给予容器特权,使其具有更多权限。
3. `-d`:让容器在后台运行。
4. `--restart=always`:设置容器退出后自动重启。
5. `-p 7700:7700`:将宿主机的7700端口映射到容器的7700端口。
6. `-e MEILI_MASTER_KEY='V24oN6ZyG810XEvczp'`:设置环境变量,用于Meilisearch的API访问密钥。
7. `-v /usr/local/meiliData:/meili_data`:将宿主机的目录挂载到容器内,用于数据持久化。
8. `--name meilisearch`:给容器命名为`meilisearch`。
9. `getmeili/meilisearch:v1.8`:指定要使用的Meilisearch镜像及其版本。

如果开启了防火墙还需要开放一下防火墙的7700端口(如果防火墙没有开启就跳过这一步即可)

firewall-cmd --zone=public --add-port=7700/tcp --permanent
systemctl restart firewalld.service

如果是云服务器,还需要开放一下安全组的7700端口

五、访问测试

5.1 访问

使用 ip:7700 的方式访问即可需要输入再部署时指定的密钥

5.2 下载测试文件

wget https://www.meilisearch.com/movies.json

5.3 导入测试文件

curl \
  -X POST 'http://localhost:7700/indexes/movies/documents?primaryKey=id' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer V24oN6ZyG810XEvczp' \
  --data-binary @movies.json

响应回来这样的信息就表示成功
{"taskUid":0,"indexUid":"movies","status":"enqueued","type":"documentAdditionOrUpdate","enqueuedAt":"2024-06-26T03:08:48.646164654Z"}

需要注意的是 Authorization: Bearer <部署时候填入的密钥> , 这时再回去访问一下 meilisearch ,发现已经是有内容了

还可以进行搜索,搜素的词会有高亮显示。

六、结尾

接下来将推出 SpringBoot 整合 MeiliSearch , 感兴趣的小伙伴可以关注一下,谢谢!

感谢观看至此,希望该文章能够帮助到您提升知识和技能。如果您喜欢我的内容,请不要忘记点赞和分享哦!👍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/745415.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Topaz Gigapixel AI图片无损放大软件下载安装,Topaz Gigapixel AI 高精度的图片无损放大

Topaz Gigapixel AI无疑是一款革命性的图片无损放大软件&#xff0c;它在图像处理领域开创了一种全新的可能性。 Topaz Gigapixel AI的核心功能在于能够将图片进行高精度的无损放大。虽然经过软件处理的图片严格意义上并不能算是完全无损&#xff0c;但相较于传统方法&#xf…

一、什么是缓存穿透、缓存击穿、缓存雪崩

1、为啥使用缓存&#xff1f; 在程序内部使用缓存&#xff0c;将经常使用的数据存储在缓存中&#xff0c;可以减少对数据库的频繁访问&#xff0c;从而提高系统的响应速度和性能。缓存可以将数据保存在内存中&#xff0c;读取速度更快&#xff0c;能够大大缩短数据访问的时间&…

uniapp——上传图片获取到file对象而非临时地址——基础积累

最近在看uniapp的代码&#xff0c;遇到一个需求&#xff0c;就是要实现上传图片的功能 uniapp 官网地址&#xff1a;https://uniapp.dcloud.net.cn/ 上传图片有对应的API&#xff1a; uni.chooseImage方法&#xff1a;https://uniapp.dcloud.net.cn/api/media/image.html#choo…

【Python机器学习】分类向量——数字可以编码分类变量

在adult数据集的例子中&#xff0c;分类变量被编码为字符。一方面可能会有拼写错误&#xff0c;但另一方面&#xff0c;它明确的将一个变量标记为分类变量。无论是为了便于存储还是因为数据的手机方式&#xff0c;分类变量通常被编码为整数。 假设adult数据集中的人口普查数据…

windows系统根据端口查询pid并结束进程 netstat taskkill

用管理员权限打开命令指示符,输入命令&#xff1a; 1、查看被占用端口所对应的 PID netstat -aon|findstr “端口号” 2、查看指定PID的进程 tasklist|findstr ”14816” 3、结束进程 taskkill -pid 进程号 -f

秋招突击——6/24——复习{完全背包问题——买书,状态转换机——股票买卖V}——新作{两数相除,LRU缓存实现}

文章目录 引言复习完全背包问题——买书个人实现 状态转换机——股票买卖V个人实现参考实现 新作两数相除个人实现 新作LRU缓存实现个人实现unordered_map相关priority_queue相关 参考实现自己复现 总结 引言 今天知道拼多多挂掉了&#xff0c;难受&#xff0c;那实习就是颗粒无…

4_FOC之Clarke变换原理及推导_1

三相PMSM的数学模型是一个比较复杂且强耦合的多变量系统。为了便于后期控制器设计&#xff0c;必须选择合适的坐标变换对数学模型进行降阶和解耦变换。 1、什么是Clark变换 静止abc轴系与αβ轴系如上图。为满足功率不变约束&#xff0c;在图中设αβ轴系中定子绕组以及转子绕组…

# [0622] Task02 model-free 免模型类 RL 算法的预测和控制 【ε 贪心策略 优化的证明】

easy-rl PDF版本 笔记整理 P3 joyrl 比对 补充 P4 - P5 相关 代码 整理 ——> 有空 另开一页 最新版PDF下载 地址&#xff1a;https://github.com/datawhalechina/easy-rl/releases 国内地址(推荐国内读者使用)&#xff1a; 链接: https://pan.baidu.com/s/1isqQnpVRWbb3yh8…

学好 prompt 让大模型变身撩富婆专家,带你走上人生巅峰

前文 使用大模型的最重要的一步就是编写好的提示词 prompt &#xff0c;但是 prompt 既容易被低估也容易被高估。被低估是因为设计良好的提示词可以显著提升效果。被高估是因为即使是基于提示的应用也需要大量的工程工作才能使其发挥作用。下面我会介绍在编写 prompt 的时候&a…

无芯封装基板适用于先进封装技术 我国行业发展面临一定挑战

无芯封装基板适用于先进封装技术 我国行业发展面临一定挑战 无芯封装基板指去除作为核心支撑层的芯板&#xff0c;仅由积层板构成的封装基板。与传统带有芯层的封装基板相比&#xff0c;无芯封装基板具有轻量化、密度高、信号传输质量高、散热性能好、布线灵活性好等优势&#…

靶机渗透之DC-7

一、信息收集 扫描网段&#xff0c;发现靶机ip为192.168.145.235。 nmap -sP 192.168.145.* 进一步对端口&#xff0c;靶机系统等信息进行一个收集。可以看到开放了22端口&#xff0c;80端口&#xff0c;主机系统为linux等信息。 nmap -sT -T4 -O -sV -sC -p1-65535 192.16…

品牌电商维权:应对渠道低价与假货的有力举措

在品牌治理渠道的过程中&#xff0c;会遭遇各种各样的问题&#xff0c;其中低价现象尤为突出。低价往往导致经销商被迫跟价&#xff0c;而未授权的店铺则更加不受管控&#xff0c;更容易出现低价情况。然而&#xff0c;低价本身不能直接作为品牌管控渠道的充分理由&#xff0c;…

元数据管理的发展历程你了解吗?元数据管理要克服哪些挑战?

在当今的信息化时代&#xff0c;数据的价值已被广泛认可&#xff0c;而元数据作为描述数据的数据&#xff0c;其作用日益凸显。元数据管理&#xff0c;作为确保数据质量、促进数据共享和提高数据透明度的关键环节&#xff0c;对企业的数据战略至关重要。随着技术的发展&#xf…

理解MySQL索引:提升查询性能的关键

一、前言 在众多数据库中&#xff0c;MySQL以其高效、稳定和跨平台的特点成为许多开发者的首选。然而&#xff0c;随着数据量的不断增加&#xff0c;查询性能可能会成为一个瓶颈。这时&#xff0c;索引&#xff08;Index&#xff09;便成为了提升查询速度的关键工具。本篇文章…

if action和Switch之间该怎么选择?

1. Switch 2. If及If Action Subsystem 3.结论 元素很多&#xff0c;用switch 元素少&#xff0c;用if或switch 如果...很多&#xff0c;用if

Linux服务升级:Almalinux 升级 WebCatlog桌面程序

目录 一、实验 1.环境 2.Almalinux 升级 WebCatlog桌面程序 二、问题 1.Ubuntu如何升级 WebCatlog桌面程序 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统版本软件IP备注Almalinux9.4 WebCatlog 192.168.204.150 &#xff08;2&#xff09;Termi…

Redis数据结构跳跃表skiplist

一、介绍 Redis中使用跳跃表&#xff08;skiplist&#xff09;来实现有序集合&#xff08;sorted set&#xff09;和有序字典&#xff08;sorted dictionary&#xff09;数据结构。 跳跃表是一种有序的数据结构&#xff0c;它由多层链表组成。每一层链表都是一个有序的链表&a…

零成本搭建个人图床服务器

前言 图床服务器是一种用于存储和管理图片的服务器&#xff0c;可以给我们提供将图片上传后能外部访问浏览的服务。这样我们在写文章时插入的说明图片&#xff0c;就可以集中放到图床里&#xff0c;既方便多平台文章发布&#xff0c;又能统一管理和备份。 当然下面通过在 Git…

祝贺:东兴朱雀桥成为一点点的NFC果汁供应商。

东兴朱雀桥进出口&#xff1a;品质之选&#xff0c;护航一点点奶茶的成长&#xff01; 据记者了解&#xff0c;该家公司是专注于进口越南特色NFC果汁&#xff1a;薇妮她VINUT人参果汁饮料的研发与生产&#xff0c;以其丰富的产品线和卓越品质&#xff0c;成为了行业内的佼佼者…

华为云鲲鹏架构docker部署2048小游戏

华为云鲲鹏架构docker部署2048小游戏 1. 鲲鹏架构ESC2. 配置docker3. 上传2048镜像4. 删除容器,镜像 1. 鲲鹏架构ESC 2. 配置docker 安装dockeryum -y install docker开机启动 systemctl enable docker启动docker服务 systemctl start docker查询docker的运行版本 docker -v3…