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

2024-06-08 07:12

本文主要是介绍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-轻量级且美丽的搜索引擎的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041503

相关文章

python+selenium2轻量级框架设计-04读取数据库

#操作sql server数据库 使用mysql则导入pymysqlimport pymssql,pymysqldb =pymssql.connect("localhost","sa","***","****")#使用cursor()方法获取操作游标cursor = db.cursor()sql = "****"try:#执行sqlcursor.execute(sql)#fetchon

python+selenium2轻量级框架设计-03读取配置文件

任何一个项目,都涉及到了配置文件和管理和读写,Python支持很多配置文件的读写,这里介绍读取ini文件。 以读取url和浏览器作为例子 #浏览器引擎类import configparser,time,osfrom selenium import webdriverfrom framework.logger import Loggerlogger = Logger(logger='

python+selenium2轻量级框架设计-02日志类

本文介绍如何写一个Python日志类,用来输出不同级别的日志信息到本地文件夹下的日志文件里。 import logging,time,osclass Logger(object):def __init__(self,logger):'''指定保存日志的文件路径,日志级别,以及调用文件将日志存入到指定的文件中'''#创建loggerself.logger = logging.getLogge

python+selenium2轻量级框架设计-01框架结构

接下来会介绍一个比较简单的框架结构,先看一下分类 config文件夹里放的是配置文件 framework文件夹里面放的是公共类,常用类,还有读配置文件类、日志类、截图类、发送邮件、生成测试报告、操作读取数据库、读取Excel等,后面几篇会一一介绍 logs文件夹存放生成的日志文件 pageobject存放页面类包括元素的定位等 screenshots文件放的是生成的截图 test_

轻量级模型解读——ShuffleNet系列

和MobileNet一样,shuffleNet也是常用的轻量级模型,由旷视科技2017年首次提出 文章目录 1、ShuffleNetv12、ShuffleNetv2 首先上一张ShuffleNetv1和ShuffleNetv2两者参数量及ImageNet数据集上表现情况对比: 1、ShuffleNetv1 2017年,旷视科技提出ShuffleNet,该网络结构专

PHP轻量级高性能HTTP服务框架 - webman

摘要 webman 是一款基于 workerman 开发的高性能 HTTP 服务框架。webman 用于替代传统的 php-fpm 架构,提供超高性能可扩展的 HTTP 服务。你可以用 webman 开发网站,也可以开发 HTTP 接口或者微服务。 除此之外,webman 还支持自定义进程,可以做 workerman 能做的任何事情,例如 websocket 服务、物联网、游戏、TCP 服务、

【python 数据可视化】美丽漂亮的画图神器--pyecharts

今天我们介绍下pyechats 的用法和一个简单的例子。 安装: pip install pyecharts 步骤1:导入相关包: # 导入包import pandas as pdfrom pyecharts.charts import *from pyecharts import options as optsfrom pyecharts.globals import *f

JWT详解:一种轻量级的身份验证和授权机制

引言 JSON Web Token(JWT)是一种基于JSON格式的开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间安全地传输信息。JWT因其轻量级、可扩展性和安全性,在Web应用程序和RESTful API中得到了广泛应用。本文将详细解析JWT的概念、结构、工作原理、应用场景以及使用时的安全注意事项。 JWT的基本概念 JWT是一种用于在用户和服务器之间传递安全

轻量级模型解读——EfficientNet系列

EfficientNet自2019年谷歌提出以来,经历了三个版本,2019EfficientNet ——> 2020EfficientNet-Lite——> 2021EfficientNetv2 文章目录 1、EfficientNet2、EfficientNetv23、EfficientNet-Lite 对于EfficientNet和EfficientNetv2的解读可

梳理轻量级建模软件Silo中的所有操作(2):修改

前言 修改(Modify)类操作是建模时使用最为频繁的操作,因此几乎每个操作都分配了快捷键。 本篇包含的快捷键有27个: 操作快捷键追加面(P)追加边(Shift+E)倒角(B)布尔减(,)布尔合(Ctrl+,)布尔交(Shift+<)分离(Ctrl+B)桥接(Shift+B)割裂(X)挤出(Z)补洞(Shift+F)拍扁(Alt+Shift+F)插入型缩放(I)局部缩放(Ctrl+E)局部