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

news2024/11/19 2:37:22

👩🏽‍💻个人主页:阿木木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 , 感兴趣的小伙伴可以关注一下,谢谢!

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于web的摩托车销售系统的设计与实现-计算机毕业设计源码031706

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对摩托车销售系统等问题&#xff0c;对摩托车…

手把手教你使用kimi创建流程图【实践篇】

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 引言 在昨日的文章中&#xff0c;我们介绍了如何使用Kimi生成论文中的流程图。今天&#xff0c;我们将更进一步&#xff0c;通过实践案例来展示Kimi在生成流程图方面的应用。这不仅将加…

火绒被骂惨,良心居然也翻车?剩下3款软件还被误认为外国人开发

万万没想到&#xff0c;公认的国产良心软件“火绒”&#xff0c;居然也翻车&#xff0c;很多网友对其大失所望&#xff0c;甚至忍不住吐槽让他不要砸了自己的招牌。 事情的起因是这样的&#xff0c;火绒推出应用商店&#xff0c;并于正式公测&#xff0c;这是要逐渐走向全家桶的…

淘宝店铺商家订单API-接入ERP,多平台订单同步的利器

淘宝开放平台给商家们提供了丰富的API&#xff0c;以方便大家扩展业务流程。但是需要调用这些API&#xff0c;商家们要提交资质审核&#xff0c;审核条件也是很严格的。第三方数据公司的存在可以为大家解决这个问题。 custom-自定义API操作 请求参数 请求参数&#xff1a;ap…

联发科MT6775(Helio P70)_MTK6775处理器规格参数_处理器资料

联发科MT6775(Helio P70)采用了台积电12nm工艺制程八核处理器&#xff0c;由4颗 Arm Cortex-A73 2.1GHz 4颗Arm Cortex-A53 2.0GHz组成。其GPU为ARM Mali-G72 MP3&#xff0c;运行时高达900MHz&#xff0c;比上一代Helio P60效能提升了13%。 值得注意的是&#xff0c;联发科MT…

java打印金字塔paremid和空心金字塔

java打印金字塔 首先确定每行打印几个空格&#xff0c;在确定每行打印几个* 设总层数为layers&#xff0c;当前层数为i。 则每行打印空格数layers-i&#xff0c;每行打印星号数2*i-1 import java.util.Scanner;public class Paremid{public static void main(String[] args) …

搜索引擎的“道”

目录 1. 网页下载&#xff08;解决有没有的问题&#xff09; 1.1 遍历算法 1.1.1 广度优先搜索 1.1.2 深度优先搜索 1.2 网络爬虫 1.2.1 用BFS 还是DFS? 1.2.2 URL提取 1.2.3 哈希表存储URL下载记录 2. 索引构建&#xff08;解决快不快的问题&#xff09; 2.1 布尔…

AI作画Prompt不会写?Amazon Bedrock Claude3.5来帮忙

最新上线的Claude3.5 Sonnet按照官方介绍的数据来看&#xff0c;在多方面超越了CPT-4o&#xff0c;是迄今为止最智能的模型。 而跟上一个版本相比&#xff0c;速度是Claude 3 Opus的两倍&#xff0c;成本只有其五分之一。 Claude3.5 Sonnet不仅擅长解释图表、图形或者从不完…

AI赋能影视解说:Rap说唱玩法拆解!

在影视解说的领域&#xff0c;竞争一直非常激烈&#xff0c;众多创作者纷纷涌入这个热门的赛道。为了在众多声音中脱颖而出&#xff0c;创新成为了关键。最近&#xff0c;一种结合AI技术的解说方式——Rap说唱解说&#xff0c;以其新颖的形式和高效的创作过程&#xff0c;赢得了…

Linux学习第52天:Linux网络驱动实验(三):一往(网)情深

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 许久没有更新&#xff0c;的确是最近有点懈怠了。没有任何借口&#xff0c;接受所有的批评。接下来无论如何也要坚持下去&#xff0c;不管处于什么境地、什么原因&am…

vue3 Cesium 离线地图

1、vite-plugin-cesium 是一个专门为 Vite 构建工具定制的插件&#xff0c;用于在 Vite 项目中轻松使用 Cesium 库。它简化了在 Vite 项目中集成 Cesium 的过程。 npm i cesium vite-plugin-cesium vite -D 2、配置vite.config.js import cesium from vite-plugin-cesiumexp…

生产环境:CentOS 7 Docker 20.10.19离线部署(为离线部署k8s做准备)

背景描述&#xff1a;离线部署Docker环境 在现代IT基础设施中&#xff0c;Docker已经成为应用容器化的标准工具。它简化了应用程序的部署和管理&#xff0c;使开发者和运维工程师能够以更高的效率和一致性进行工作。然而&#xff0c;在某些场景下&#xff0c;由于安全性、网络…

WMS在发展过程中会遇到哪些挑战?

在仓库管理系统&#xff08;Warehouse Management System, WMS&#xff09;的发展过程中&#xff0c;会遇到以下一些挑战&#xff1a; 1、技术整合&#xff1a; 将WMS与现有的ERP&#xff08;企业资源计划&#xff09;、TMS&#xff08;运输管理系统&#xff09;等系统进行有效…

uniapp 小程序 堆叠轮播图 左滑 右滑 自动翻页 点击停止自动翻页

uniapp 小程序 堆叠轮播图 左滑 右滑 自动翻页 点击停止自动翻页 超过指定时间未点击滑动 则继续开始滚动 直接上代码 componentSwiper.vue 需要注意页面切换时清除计时器 <template><view><view class"swiperPanel" touchstart"startMove"…

1.Orange Zero2介绍及刷机启动

Orangepi Zero2 1.Orangepi Zero2简介2.刷机和系统启动 1.Orangepi Zero2简介 为什么学 学习目标依然是Linux系统&#xff0c;平台是ARM架构蜂巢快递柜&#xff0c;配送机器人&#xff0c;这些应用场景用C51,STM32单片机无法实现第三方介入库的局限性&#xff0c;比如刷脸支付…

C++ 教程 - 06 类的封装、继承、多态

文章目录 封装继承多态 封装 在private/protected 模块放置数据或者底层算法实现&#xff1b;在public块提供对外接口&#xff0c;实现相应的功能调用&#xff1b;类的封装案例 #include <iostream> using namespace std;// 类的定义 一般放在头文件 class Stu {public…

STM32中五个时钟源:HSI、HSE、LSI、LSE、PLL

时钟系统是处理器的核心&#xff0c;或者说时钟是单片机的心脏。 1.单片机内部需要储存器、累加器&#xff0c;这些都需要逻辑门电路。比如锁存器就是一个D触发器&#xff0c;而触发器的置1、清0、置数的功能都需要跳变沿。D触发器就是上升沿后存入数据&#xff0c;而这个上升…

Linux 安装ElasticSearch + FSCrawler 扫描本地的文件资源

文章目录 0. 前言1. 安装ElasticSearch1.1 下载安装包1.2 新增用户1.3 解压安装包1.4 更改文件夹用户1.5 修改配置文件1.6 修改系统配置1.7 启动集群 2. 安装FSCrawler2.1 下载安装包2.2 创建配置文件2.3 修改配置文件2.4 启动2.5 验证是否被索引 0. 前言 Elasticsearch 是一个…

职业本科院校电子信息类专业教学解决方案

引言 随着信息技术的飞速进步和全球经济的深度融合&#xff0c;电子信息领域已成为推动社会发展的核心动力。职业本科教育作为培养高素质技能型人才的主阵地&#xff0c;面临着前所未有的挑战与机遇。特别是在电子信息类专业领域&#xff0c;如何培养出既掌握前沿理论知识&…

mac配置修改host文件

1command 空格 输入 terminal 选中回车进入终端控制台. command 空格 2 sudo vi /etc/hosts 输入密码,进入vi编辑器修改文件 sudo vi /etc/hosts3修改内容,:wq保存退出,重启项目即可 :wq