当前位置: 首页 > news >正文

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 的步骤:

  1. 拉取 MeiliSearch 镜像:
    docker pull getmeili/meilisearch:latest
    
  2. 启动 MeiliSearch 服务:
    docker run -itd --rm \
    -p 7700:7700 \
    -v $(pwd)/meili_data:/meili_data \
    getmeili/meilisearch:latest
    
  3. 访问 MeiliSearch 服务:
    启动成功后,可以通过ip+端口进行访问,例如:http://111.230.12.22:7700

MeiliSearch支持多种语言的客户端

在这里插入图片描述

以下是一个使用 MeiliSearch Java 客户端的简单教程:

  1. 添加依赖:在项目的pom.xml文件中添加 MeiliSearch Java 客户端的依赖。例如:
<dependencies><dependency><groupId>com.meilisearch</groupId><artifactId>meilisearch-java</artifactId><version>0.18.0</version></dependency>
</dependencies>
  1. 创建 MeiliSearch 实例:使用主机地址和 API 密钥创建 MeiliSearch 实例。示例代码如下:
import com.meilisearch.sdk.Client;Client client = new Client("http://localhost:7700", "API_KEY");
  1. 创建索引:使用 MeiliSearch 实例创建一个新的索引。示例代码如下:
import com.meilisearch.sdk.Index;Index index = client.index("books");
  1. 添加文档:将文档添加到索引中。示例代码如下:
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);
  1. 执行搜索:执行搜索操作来获取与查询匹配的结果。示例代码如下:
import com.meilisearch.sdk.SearchResult;SearchResult searchResult = index.search("query");
List<Map<String, Object>> hits = searchResult.getHits();
  1. 更新文档:更新索引中的文档。示例代码如下:
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);
  1. 删除文档:从索引中删除文档。示例代码如下:
import com.meilisearch.sdk.UpdateStatus;UpdateStatus updateStatus = index.deleteDocument("book_id");

相关文章:

MeiliSearch-轻量级且美丽的搜索引擎

MeiliSearch-轻量级且美丽的搜索引擎 MeiliSearch 是一个功能强大、快速、开源、易于使用和部署的搜索引擎。它具有以下特点&#xff1a; 支持中文搜索&#xff1a;MeiliSearch 对中文有良好的支持&#xff0c;不需要额外的配置。高度可定制&#xff1a;搜索和索引都可以高度…...

python使用wkhtmltopdf将html字符串保存pdf,解决出现方框的问题

出现的问题&#xff1a; 解决办法&#xff1a; <html> <head><meta charset"UTF-8"/> </head> <style> * {font-family: Arial,SimSun !important; } </style> </html>在html字符串前面加上上面代码&#xff0c;意思是设…...

Java练习题

题目&#xff1a; 1. 定义长方体类Cuboid&#xff0c;要求如下&#xff1a;&#xff08;1&#xff09;私有成员变量包括长length、宽width和高height&#xff1b;&#xff08;2&#xff09;构造方法包括一个公共的空构造方法&#xff0c;一个能够初始化所有成员变量的构造方法…...

【Python/Pytorch - 网络模型】-- 手把手搭建U-Net模型

文章目录 文章目录 00 写在前面01 基于Pytorch版本的UNet代码02 论文下载 00 写在前面 通过U-Net代码学习&#xff0c;可以学习基于Pytorch的网络结构模块化编程&#xff0c;对于后续学习其他更复杂网络模型&#xff0c;有很大的帮助作用。 在01中&#xff0c;可以根据U-Net…...

Ansible-doc 命令

目录 常用参数 基本用法 查看指定模块的文档 列出所有可用模块 搜索模块 显示模块参数的简单列表 显示详细的说明和示例 详细示例 查看 file 模块的文档 简略查看 copy 模块的参数 ansible-doc 是 Ansible 中的一个非常有用的命令行工具&#xff0c;它可以帮助你查找…...

面试题:什么是线程的上下文切换?

线程的上下文切换是指在操作系统中&#xff0c;CPU从执行一个线程的任务切换到执行另一个线程任务的过程。在现代操作系统中&#xff0c;为了实现多任务处理和充分利用CPU资源&#xff0c;会同时管理多个线程的执行。由于CPU在任意时刻只能执行一个线程&#xff0c;因此需要在这…...

【简单讲解Perl语言】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

专硕初试科目一样,但各专业的复试线差距不小!江南大学计算机考研考情分析!

江南大学物联网工程学院&#xff0c;是由江南大学信息工程学院和江南大学通信与控制工程学院&#xff0c;于2009年合并组建成立“物联网工程学院”&#xff0c;也是全国第一个物联网工程学院。 江南大学数字媒体学院是以江南大学设计学院动画系和信息工程学院数字媒体技术系为…...

“华为Ascend 910B AI芯片挑战NVIDIA A100:效能比肩,市场角逐加剧“

华为自主研发的人工智能芯片——Ascend 910B&#xff0c;近期在世界半导体大会及南京国际半导体博览会上由华为ICT基础设施管理委员会执行董事、主任王涛发表声明称&#xff0c;该芯片在训练大规模语言模型时的效率高达80%&#xff0c;与NVIDIA的A100相比毫不逊色&#xff0c;且…...

针对多智能体协作框架的元编程——METAGPT

M ETA GPT: M ETA P ROGRAMMING FOR M ULTI -A GENT COLLABORATIVE F RAMEWORK 1.概述 现有的多智能体系统主要面临以下问题&#xff1a; 复杂性处理不足&#xff1a;传统的多智能体系统主要关注简单任务&#xff0c;对于复杂任务的处理能力有限&#xff0c;缺乏深入探索和…...

Django自定义CSS

创建一个CSS文件&#xff08;例如admin_custom.css&#xff09;&#xff0c;并在其中添加针对你希望修改的字段的CSS规则。在你的Django项目的settings.py文件中&#xff0c;添加自定义CSS文件的路径到STATICFILES_DIRS。 # settings.py STATICFILES_DIRS [ os.path.join(BA…...

Rust基础学习-标准库

栈和堆是我们Rust代码在运行时可以使用的内存部分。Rust是一种内存安全的编程语言。为了确保Rust是内存安全的&#xff0c;它引入了所有权、引用和借用等概念。要理解这些概念&#xff0c;我们必须首先了解如何在栈和堆中分配和释放内存。 栈 栈可以被看作一堆书。当我们添加更…...

django连接达梦数据库

为了在Django中连接达梦数据库&#xff0c;你需要确保你有达梦的数据库驱动。Django默认支持的数据库有PostgreSQL, MySQL, SQLite, Oracle等&#xff0c;但不包括达梦数据库。不过&#xff0c;对于大多数数据库&#xff0c;Django的数据库API是通用的&#xff0c;你可以通过第…...

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&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1&#xff1a; 今日学习:读取窗口鼠标状态坐标_TrackBar滑动条控件的使…...

c、c#、c++嵌入式比较?

嵌入式系统是专门设计用于特定用途的计算机系统&#xff0c;通常用于控制、监视或执行特定任务。这些系统通常具有严格的资源限制&#xff0c;如内存、处理器速度和能耗。因此&#xff0c;在选择编程语言时&#xff0c;需要考虑到这些限制以及系统的特性。 对于嵌入式系统&…...

如何使用ai人工智能作诗?7个软件帮你快速作诗

如何使用ai人工智能作诗&#xff1f;7个软件帮你快速作诗 使用AI人工智能作诗是一种创新的写作方式&#xff0c;以下是一些可以帮助您快速作诗的AI人工智能软件&#xff1a; 1.AI创作云&#xff1a; 这是一个AI诗歌助手应用程序&#xff0c;可以根据您提供的主题或关键词生成…...

调用华为API实现语音合成

目录 1.作者介绍2.华为云语音合成2.1 语音合成介绍2.2 华为语音合成服务2.3 应用场景 3. 实验过程以及结果3.1 获取API密钥3.2 调用语音合成算法API3.3 实验代码3.4 运行结果 1.作者介绍 袁斌&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;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中&#xff0c;线程死锁通常发生在两个或更多个线程相互等待对方释放资源的情况下。以下是一个简单的Java示例&#xff0c;展示了如何创建线程死锁&#xff1a; public class DeadlockDemo {// 定义两个资源private static Object resource1 new Object();private stat…...

virtual box安装invalid installation directory

问题原因 看官方文档Chapter 2. Installation Details 第2.1.2所示&#xff0c;安装目录需要满足两个条件&#xff1a; 一是&#xff1a;需要安装目录的所有父目录都要满足以下访问控制条件 Users S-1-5-32-545:(OI)(CI)(RX) Users S-1-5-32-545…...

概率分析和随机算法

目录 雇佣问题 概率分析 随机算法 生日悖论 随机算法 概率分析 球与箱子 总结 雇佣问题 有n个候选人面试&#xff0c;如果面试者比目前雇佣者的分数高&#xff0c;评价更好&#xff0c;那么就辞掉当前雇佣者&#xff0c;而去聘用面试者&#xff0c;否则继续面试新的候…...

15_2 Linux Shell基础

15_2 Linux Shell基础 文章目录 15_2 Linux Shell基础[toc]1. shell基本介绍1.1 什么是shell1.2 shell使用方式1.3 脚本的执行方式1.4 脚本练习 2. 变量的种类2.1 自定义变量2.2 环境变量&#xff0c;由系统提前定义好&#xff0c;使用时直接调用2.3 位置变量与预定变量2.4 变量…...

Catia装配体零件复制

先选中要复制的零件 然后选中复制到的父节点才可以。 否则 另外一种方法是多实例化...

实用小工具-python esmre库实现word查找

python esmre库实现word查找 前言&#xff1a; 在文本中匹配特定的字符串&#xff0c;一般可以用普通的字符串匹配算法&#xff0c;KMP算法&#xff1b; python中提供了一个库&#xff0c;esmre, 通过预先将字符串存到esm对象中&#xff0c;利用这些字符串从候选的字符串中进行…...

SSM框架整合,内嵌Tomcat。基于注解的方式集成

介绍&#xff1a; SSM相信大家都不陌生&#xff0c;在spring boot出现之前&#xff0c;SSM一直是Java在web开发中的老大哥。现在虽说有了spring boot能自动整合第三方框架了&#xff0c;但是现在市面上任然有很多老项目是基于SSM技术的。因此&#xff0c;能熟练掌握SSM进行开发…...

系统架构设计师【论文-2016年 试题4】: 论微服务架构及其应用(包括写作要点和经典范文)

论微服务架构及其应用&#xff08;2016年 试题4&#xff09; 近年来&#xff0c;随着互联网行业的迅猛发展&#xff0c;公司或组织业务的不断扩张&#xff0c;需求的快速变化以及用户量的不断增加&#xff0c;传统的单块(Monolithic)软件架构面临着越来越多的挑战&#xff0c;…...

面试题:String 、StringBuffer 、StringBuilder的区别

String、StringBuffer、和StringBuilder都是用于处理字符串的操作类&#xff0c;但它们之间存在一些关键性的差异&#xff1a; 1.不可变性与可变性&#xff1a; String&#xff1a;字符串常量&#xff0c;是不可变的。一旦创建&#xff0c;其内容就不能被改变。对字符串的任何…...

TLS指纹跟踪网络安全实践(C/C++代码实现)

TLS指纹识别是网络安全领域的重要技术&#xff0c;它涉及通过分析TLS握手过程中的信息来识别和验证通信实体的技术手段。TLS&#xff08;传输层安全&#xff09;协议是用于保护网络数据传输的一种加密协议&#xff0c;而TLS指纹则是该协议在实际应用中产生的独特标识&#xff0…...

小白学RAG:大模型 RAG 技术实践总结

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 汇总合集…...

删掉cache wordpress/万网域名查询官网

原文 对于我们CSS开发者来说经常听到一些关于LESS和SASS的信息,但是我们并不知道这都是什么意思,这篇文章就是为我们而准备的.在调查这些语言后,我已经发现它们都是一些js文件,运行后会产生相应CSS文件给我们.为什么我们要使用LESS和SASS它们呢,因为我们可以避免CSS中需要的重复…...

程序外包价格/杭州seo排名优化外包

sem_init: int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value));   功能&#xff1a;初始化信号量 返回值&#xff1a;创建成功返回0&#xff0c;失败返回-1 参数sem&#xff1a;指向信号量结构的一个指针 参数pshared&#xff1a;不为&#xff10;时此…...

wordpress的数据库主机/佛山做seo推广公司

问题 描述 Description 学校实行学分制。每门的必修课都有固定的学分&#xff0c;同时还必须获得相应的选修课程学分。学校开设了N&#xff08;N<300&#xff09;门的选修课程&#xff0c;每个学生可选课程的数量M是给定的。学生选修了这M门课并考核通过就能获得相应的学分。…...

ueditor wordpress 插件/2345手机浏览器

函数原型、声明、定义&#xff1f; 函数原型相当于函数声明&#xff0c;包括函数类型、函数名、形参列表&#xff08;其中形参名可以省略&#xff09;&#xff0c;且不需要函数体&#xff0c;例如&#xff1a; int func_a(int a); double func_b(double b); 而函数定义则需要函…...

用手机怎么制作app软件/seo网络推广怎么做

一、元素背景是指哪些区域 默认情况下元素的背景是指元素border&#xff08;包含border&#xff09;以内的区域。 在CSS3中可用使用background-clip改变元素背景区域。 1.1 background-clip 指定背景在被应用元素上的绘制区域。元素盒模型包含content, padding, border, margi…...

中国企业网安企在线/热狗seo外包

1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数…...