MeiliSearch-轻量级且美丽的搜索引擎
MeiliSearch-轻量级且美丽的搜索引擎
MeiliSearch 是一个功能强大、快速、开源、易于使用和部署的搜索引擎。它具有以下特点:
- 支持中文搜索:MeiliSearch 对中文有良好的支持,不需要额外的配置。
- 高度可定制:搜索和索引都可以高度定制,提供了诸如错字容忍、过滤器和同义词等功能。
- 快速搜索:MeiliSearch 的搜索速度通常在 50 毫秒以内,能够提供快速的搜索体验。
- 易于使用和部署:它提供了简单的安装和部署方式,并且有友好的 Web 界面用于开发调试。
- 开源:MeiliSearch 是一个开源项目,用户可以自由使用和修改。
MeiliSearch 适用于各种需要搜索功能的场景,例如网站搜索、文档搜索、电商搜索等。它可以与各种编程语言和框架集成,提供灵活的搜索解决方案。
官网 https://www.meilisearch.com/
github: https://github.com/meilisearch/meilisearch
目前已有44k star

在线应用案例
https://where2watch.meilisearch.com/?utm_campaign=oss&utm_source=docs&utm_medium=what-is-meilisearch&utm_content=gif

docker 安装 MeiliSearch
以下是在 Docker 中安装 MeiliSearch 的步骤:
- 拉取 MeiliSearch 镜像:
docker pull getmeili/meilisearch:latest - 启动 MeiliSearch 服务:
docker run -itd --rm \ -p 7700:7700 \ -v $(pwd)/meili_data:/meili_data \ getmeili/meilisearch:latest - 访问 MeiliSearch 服务:
启动成功后,可以通过ip+端口进行访问,例如:http://111.230.12.22:7700。
MeiliSearch支持多种语言的客户端

以下是一个使用 MeiliSearch Java 客户端的简单教程:
- 添加依赖:在项目的
pom.xml文件中添加 MeiliSearch Java 客户端的依赖。例如:
<dependencies><dependency><groupId>com.meilisearch</groupId><artifactId>meilisearch-java</artifactId><version>0.18.0</version></dependency>
</dependencies>
- 创建 MeiliSearch 实例:使用主机地址和 API 密钥创建 MeiliSearch 实例。示例代码如下:
import com.meilisearch.sdk.Client;Client client = new Client("http://localhost:7700", "API_KEY");
- 创建索引:使用 MeiliSearch 实例创建一个新的索引。示例代码如下:
import com.meilisearch.sdk.Index;Index index = client.index("books");
- 添加文档:将文档添加到索引中。示例代码如下:
import com.meilisearch.sdk.UpdateStatus;
import com.meilisearch.sdk.documents.Document;Document document = new Document("book_id", "book_title", "book_description");
UpdateStatus updateStatus = index.addDocuments(document);
- 执行搜索:执行搜索操作来获取与查询匹配的结果。示例代码如下:
import com.meilisearch.sdk.SearchResult;SearchResult searchResult = index.search("query");
List<Map<String, Object>> hits = searchResult.getHits();
- 更新文档:更新索引中的文档。示例代码如下:
import com.meilisearch.sdk.UpdateStatus;
import com.meilisearch.sdk.documents.Document;Document document = new Document("book_id", "updated_title", "updated_description");
UpdateStatus updateStatus = index.updateDocuments(document);
- 删除文档:从索引中删除文档。示例代码如下:
import com.meilisearch.sdk.UpdateStatus;UpdateStatus updateStatus = index.deleteDocument("book_id");
相关文章:
MeiliSearch-轻量级且美丽的搜索引擎
MeiliSearch-轻量级且美丽的搜索引擎 MeiliSearch 是一个功能强大、快速、开源、易于使用和部署的搜索引擎。它具有以下特点: 支持中文搜索:MeiliSearch 对中文有良好的支持,不需要额外的配置。高度可定制:搜索和索引都可以高度…...
python使用wkhtmltopdf将html字符串保存pdf,解决出现方框的问题
出现的问题: 解决办法: <html> <head><meta charset"UTF-8"/> </head> <style> * {font-family: Arial,SimSun !important; } </style> </html>在html字符串前面加上上面代码,意思是设…...
Java练习题
题目: 1. 定义长方体类Cuboid,要求如下:(1)私有成员变量包括长length、宽width和高height;(2)构造方法包括一个公共的空构造方法,一个能够初始化所有成员变量的构造方法…...
【Python/Pytorch - 网络模型】-- 手把手搭建U-Net模型
文章目录 文章目录 00 写在前面01 基于Pytorch版本的UNet代码02 论文下载 00 写在前面 通过U-Net代码学习,可以学习基于Pytorch的网络结构模块化编程,对于后续学习其他更复杂网络模型,有很大的帮助作用。 在01中,可以根据U-Net…...
Ansible-doc 命令
目录 常用参数 基本用法 查看指定模块的文档 列出所有可用模块 搜索模块 显示模块参数的简单列表 显示详细的说明和示例 详细示例 查看 file 模块的文档 简略查看 copy 模块的参数 ansible-doc 是 Ansible 中的一个非常有用的命令行工具,它可以帮助你查找…...
面试题:什么是线程的上下文切换?
线程的上下文切换是指在操作系统中,CPU从执行一个线程的任务切换到执行另一个线程任务的过程。在现代操作系统中,为了实现多任务处理和充分利用CPU资源,会同时管理多个线程的执行。由于CPU在任意时刻只能执行一个线程,因此需要在这…...
【简单讲解Perl语言】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...
专硕初试科目一样,但各专业的复试线差距不小!江南大学计算机考研考情分析!
江南大学物联网工程学院,是由江南大学信息工程学院和江南大学通信与控制工程学院,于2009年合并组建成立“物联网工程学院”,也是全国第一个物联网工程学院。 江南大学数字媒体学院是以江南大学设计学院动画系和信息工程学院数字媒体技术系为…...
“华为Ascend 910B AI芯片挑战NVIDIA A100:效能比肩,市场角逐加剧“
华为自主研发的人工智能芯片——Ascend 910B,近期在世界半导体大会及南京国际半导体博览会上由华为ICT基础设施管理委员会执行董事、主任王涛发表声明称,该芯片在训练大规模语言模型时的效率高达80%,与NVIDIA的A100相比毫不逊色,且…...
针对多智能体协作框架的元编程——METAGPT
M ETA GPT: M ETA P ROGRAMMING FOR M ULTI -A GENT COLLABORATIVE F RAMEWORK 1.概述 现有的多智能体系统主要面临以下问题: 复杂性处理不足:传统的多智能体系统主要关注简单任务,对于复杂任务的处理能力有限,缺乏深入探索和…...
Django自定义CSS
创建一个CSS文件(例如admin_custom.css),并在其中添加针对你希望修改的字段的CSS规则。在你的Django项目的settings.py文件中,添加自定义CSS文件的路径到STATICFILES_DIRS。 # settings.py STATICFILES_DIRS [ os.path.join(BA…...
Rust基础学习-标准库
栈和堆是我们Rust代码在运行时可以使用的内存部分。Rust是一种内存安全的编程语言。为了确保Rust是内存安全的,它引入了所有权、引用和借用等概念。要理解这些概念,我们必须首先了解如何在栈和堆中分配和释放内存。 栈 栈可以被看作一堆书。当我们添加更…...
django连接达梦数据库
为了在Django中连接达梦数据库,你需要确保你有达梦的数据库驱动。Django默认支持的数据库有PostgreSQL, MySQL, SQLite, Oracle等,但不包括达梦数据库。不过,对于大多数数据库,Django的数据库API是通用的,你可以通过第…...
Python深度学习基于Tensorflow(17)基于Transformer的图像处理实例VIT和Swin-T
文章目录 VIT 模型搭建Swin-T 模型搭建参考 这里使用 VIT 和 Swin-T 在数据集 cifar10 上进行训练 VIT 模型搭建 导入需要的外部库 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec这里我们接着使用 ci…...
树莓派4B_OpenCv学习笔记5:读取窗口鼠标状态坐标_TrackBar滑动条控件的使用
今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1: 今日学习:读取窗口鼠标状态坐标_TrackBar滑动条控件的使…...
c、c#、c++嵌入式比较?
嵌入式系统是专门设计用于特定用途的计算机系统,通常用于控制、监视或执行特定任务。这些系统通常具有严格的资源限制,如内存、处理器速度和能耗。因此,在选择编程语言时,需要考虑到这些限制以及系统的特性。 对于嵌入式系统&…...
如何使用ai人工智能作诗?7个软件帮你快速作诗
如何使用ai人工智能作诗?7个软件帮你快速作诗 使用AI人工智能作诗是一种创新的写作方式,以下是一些可以帮助您快速作诗的AI人工智能软件: 1.AI创作云: 这是一个AI诗歌助手应用程序,可以根据您提供的主题或关键词生成…...
调用华为API实现语音合成
目录 1.作者介绍2.华为云语音合成2.1 语音合成介绍2.2 华为语音合成服务2.3 应用场景 3. 实验过程以及结果3.1 获取API密钥3.2 调用语音合成算法API3.3 实验代码3.4 运行结果 1.作者介绍 袁斌,男,西安工程大学电子信息学院,2023级研究生 研究…...
docker实战命令大全
文章目录 1 环境准备1.1 移除旧版本Docker1.2安装工具包1.3配置docker yum源 2 安装最新docker2.1 设置开机自启docker2.2配置加速器 3 实操-镜像3.1搜索镜像3.2下载镜像3.3查看镜像3.4 删除镜像 4 实操-容器4.1运行nginx容器4.2 查看容器4.3启动容器4.5关闭容器4.6查看容器日志…...
Java线程死锁
在Java中,线程死锁通常发生在两个或更多个线程相互等待对方释放资源的情况下。以下是一个简单的Java示例,展示了如何创建线程死锁: public class DeadlockDemo {// 定义两个资源private static Object resource1 new Object();private stat…...
PvZ Toolkit:植物大战僵尸终极修改器完全指南
PvZ Toolkit:植物大战僵尸终极修改器完全指南 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit PvZ Toolkit是一款专为植物大战僵尸PC版设计的综合性游戏修改工具,通过内存读写…...
计算机毕业设计springboot月子中心健康管理系统 基于SpringBoot的母婴护理中心智能管理平台 产后康复中心信息化服务系统
计算机毕业设计springboot月子中心健康管理系统7639p9(配套有源码 程序 mysql数据库 论文)本套源码可以先看具体功能演示视频领取,文末有联xi 可分享随着国家三胎政策的放开和居民生活水平的提升,现代家庭对产后护理服务的专业化、…...
告别手动调参!模糊PID如何让直流电机在负载突变时稳如泰山?
模糊PID控制:让直流电机在负载突变时稳如泰山的实战指南 引言:工业自动化中的电机控制痛点 在自动化产线上,直流电机突然遭遇负载变化时,你是否也经历过这样的场景?——机械臂正在精准抓取工件,突然因为物料…...
SDPose-Wholebody模型在卷积神经网络架构上的创新优化
SDPose-Wholebody模型在卷积神经网络架构上的创新优化 人体姿态估计技术正在从简单的身体关节点检测向全身精细化识别演进,而SDPose-Wholebody通过创新的卷积神经网络架构设计,将这一技术推向了新的高度。 1. 核心架构设计突破 SDPose-Wholebody的最大创…...
Windows下用Rclone挂载WebDAV的完整指南:从安装到开机自启(含常见问题解决)
Windows系统下Rclone挂载WebDAV全流程实战手册 引言:为什么选择Rclone挂载WebDAV? 在日常办公和团队协作中,我们经常需要访问云端存储的文件。WebDAV作为一种基于HTTP协议的文件管理标准,被Nextcloud、OwnCloud等主流网盘广泛支…...
ReplaceItems.jsx:Adobe Illustrator批量对象替换的终极解决方案
ReplaceItems.jsx:Adobe Illustrator批量对象替换的终极解决方案 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在为Illustrator中重复的替换操作而烦恼吗࿱…...
OpenMemories-Tweak完整指南:如何安全解锁索尼相机的隐藏功能
OpenMemories-Tweak完整指南:如何安全解锁索尼相机的隐藏功能 【免费下载链接】OpenMemories-Tweak Unlock your Sony cameras settings 项目地址: https://gitcode.com/gh_mirrors/op/OpenMemories-Tweak OpenMemories-Tweak是一款专为索尼相机设计的开源解…...
XC泰山服务器麒麟V10系统安装全流程解析
1. 准备工作:了解XC泰山服务器与麒麟V10系统 在开始安装之前,我们需要先了解一下XC泰山服务器和麒麟V10操作系统的基本情况。XC泰山服务器是国内自主研发的高性能服务器,采用ARM架构处理器,具有高性能、低功耗的特点。而麒麟V10则…...
nli-distilroberta-base前端集成案例:Vue.js构建智能文本分析界面
nli-distilroberta-base前端集成案例:Vue.js构建智能文本分析界面 1. 场景价值与方案概述 电商平台的客服系统每天需要处理大量用户咨询,其中很多问题都涉及产品参数的对比(如"这款手机电池容量比A型号大吗?"…...
【跟韩工学Ubuntu第5课】-第5章 网络管理:Netplan、路由与防火墙-004篇-Ubuntu Server 网络管理:进阶配置、优化与实战诊断
文章目录 Ubuntu Server 网络管理:进阶配置、优化与实战诊断 (扩容优化版 | 适配高校教学+生产实战 | 30页核心内容) 5.1 网络基础:深入理解与实践查看(扩容+优化) 一、核心概念进阶(新增计算案例+场景区分) 二、必备诊断命令(新增高频参数+中文注释) 三、IPv6 完整配…...
