【搜索客社区日报】第2136期 (2025-10-29)
社区日报 • kin122 发表了文章 • 0 个评论 • 2262 次浏览 • 5 天前
https://mp.weixin.qq.com/s/KZpeyLpxZWOORyvmwqOeGQ
2.日志存储成本降低90%:Loki+S3架构实战PB级日志管理方案
https://mp.weixin.qq.com/s/lLTy-ogW7zMoORh8XvnWEw
3.数据库巡检进入智能时代:异常检测算法的落地实践
https://mp.weixin.qq.com/s/AhXvRlrV4GoR3cLsARzAFQ
4.低内存基准测试在 DiskBBQ 和 HNSW BBQ 中
https://elasticstack.blog.csdn ... 95397
5.在 Elastic 中使用 GPU 推理进行语义搜索
https://elasticstack.blog.csdn ... 97780
编辑:kin122
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2137期 (2025-10-31)
社区日报 • Fred2000 发表了文章 • 0 个评论 • 1633 次浏览 • 4 天前
https://cloud.tencent.com/deve ... 11830
2、什么是搜索相关性:你需要了解的一切
https://meilisearch.com.cn/blog/search-relevance
3、使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
https://infinilabs.cn/blog/202 ... fline
4、为什么我应该考虑 Meilisearch 而不是 Elasticsearch?
https://meilisearch.com.cn/blo ... earch
5、如何使用 INFINI Gateway 增量迁移 ES 数据
https://blog.csdn.net/yangmf20 ... 60004
编辑:Fred
更多资讯:http://news.searchkit.cn
搜索百科(6):Meilisearch — Rust 打造的轻量级搜索新锐
开源项目 • liaosy 发表了文章 • 0 个评论 • 1486 次浏览 • 3 天前
大家好,我是 INFINI Labs 的石阳。
欢迎关注 《搜索百科》 专栏!每天 5 分钟,带你速览一款搜索相关的技术或产品,同时还会带你探索它们背后的技术原理、发展故事及上手体验等。
在之前的几期中,我们认识了搜索技术的基石 [Lucene](https://infinilabs.cn/blog/202 ... ucene/)、企业级搜索先锋 [Solr](https://infinilabs.cn/blog/2025/search-wiki-2-solr/)、搜索界的“流量明星” [Elasticsearch](https://infinilabs.cn/blog/202 ... earch/) 以及它的分叉兄弟 [OpenSearch](https://infinilabs.cn/blog/202 ... earch/) 和 ES 国产替代方案 [Easysearch](https://infinilabs.cn/blog/202 ... earch/)。它们大多基于 Lucene 构建,形成了庞大且功能丰富的生态。
今天,我们将介绍一位“非主流”选手:一款基于 Rust 编写、主打“快”和“简单”的现代搜索引擎——Meilisearch。它以全新的姿态,为开发者带来了不同的搜索体验。

Meilisearch 概述
Meilisearch 是一款开源的、用 Rust 编写的即时搜索引擎。它提供了一个快速、轻量且可定制的搜索 API,旨在为用户提供毫秒级的搜索体验。
它的核心优势在于为应用内搜索和电商搜索等对延迟敏感的场景提供了出色的用户体验。
- 首次发布:2020 年
 - 最新版本:1.24.0(截止 2025 年 10 月)
 - 核心语言:Rust
 - 开源协议:MIT License
 - 官方网址:[https://www.meilisearch.com/](https://www.meilisearch.com/)
 - GitHub 仓库:[https://github.com/meilisearch/meilisearch](https://github.com/meilisearch/meilisearch)
诞生故事
Meilisearch 的故事始于 2018 年,当时法国工程师 Quentin de Quelen 在开发一个电商项目时,发现现有的搜索引擎要么太重量级,要么配置太复杂。他想要一个"开箱即用"的搜索解决方案,能够快速集成到应用中,并提供优秀的搜索体验。
于是,他决定用 Rust 语言从头编写一个搜索引擎。选择 Rust 是因为其出色的性能、内存安全性和并发能力,非常适合构建高性能的搜索核心。
项目最初只是一个内部工具,但随着功能的完善和社区的反馈,Meilisearch 在 2019 年正式开源,并迅速获得了开发者的青睐。2020 年,团队获得了 150 万美元的种子轮融资,正式成立了 Meilisearch 公司。
核心特性
Meilisearch 在设计上做了大量的取舍,专注于核心的搜索功能,但做到了极致。
 - 极速响应:核心目标是实现 50 毫秒以下的响应时间,即使在大型数据集中也能提供“所见即所得”的搜索体验。
 - 零配置:开箱即用,部署和索引数据都非常简单,不需要预定义 Schema 或复杂的配置文件。
 - 相关的默认值:内置一个强大的 相关性排名(Relevance Ranking) 算法,结合 Typos(拼写错误)、Word Proximity(词语距离)和 Attributes(字段权重)等因素,无需额外调优即可获得高质量的搜索结果。
 - 语言无关性:支持多种语言的分词与搜索,能很好地处理中文、日文等非拉丁语系文本。
 - 无分布式架构:为了追求极致的速度和简单性,Meilisearch 被设计为单机搜索引擎,不支持开箱即用的分布式集群,这简化了运维,但也限制了其 PB 级数据的处理能力。
对比优势:Meilisearch vs Lucene/ES 体系
Meilisearch 与基于 Lucene 的 Elasticsearch 体系,在设计哲学上有着本质区别:
| 特性 | Meilisearch | Elasticsearch |
| :----------- | :-------------------------- | :----------------------------------- |
| 核心目标 | 极速的应用内搜索体验 | 分布式搜索、日志分析、可观测性 |
| 基础架构 | 单机、轻量级 | 分布式集群(主从节点、分片) |
| 核心语言 | Rust | Java(基于 Lucene) |
| 性能瓶颈 | 单机 CPU / 内存限制 | 分布式协调开销 |
| 上手难度 | 简单,开箱即用,REST API | 相对复杂,需要了解集群、分片等概念 |
| 数据规模 | 适合中小型数据集(GB 级别) | 适合大型和超大型数据集(TB/PB 级别) |
| 全文检索 | 依赖内置的强相关性算法 | 依赖 Lucene 强大的分词、查询解析器 |
总结:
 - 如果你的应用需要超低延迟、简单部署、数据量在 GB 级别,并且搜索是应用的核心功能,Meilisearch 是一个极佳的选择。
 - 如果你的需求涉及日志分析、大规模数据存储、集群高可用和复杂的聚合分析,那么 Elasticsearch 仍然是更成熟和全面的解决方案。
快速上手:5 分钟体验 Meilisearch
部署 Meilisearch 非常简单,你甚至不需要 Docker,只需一个命令即可运行。
1. 运行 Meilisearch
```bash安装 Meilisearch
curl -L https://install.meilisearch.com | sh
启动 Meilisearch
meilisearch --master-key 'aStrongMasterKey'
或使用 Docker
docker run -it --rm -p 7700:7700 getmeili/meilisearch:latest --master-key 'aStrongMasterKey'
```
2. 添加索引(创建 Index)
Meilisearch 不需要预先定义索引结构(Schema-less)。
bash<br /> curl -X POST 'http://localhost:7700/indexes' \<br /> -H 'Authorization: Bearer aStrongMasterKey' \<br /> -H 'Content-Type: application/json' \<br /> --data-binary '{<br /> "uid": "movies",<br /> "primaryKey": "id"<br /> }'<br />
3. 索引文档(添加 Documents)
bash<br /> curl -X POST 'http://localhost:7700/indexes/movies/documents' \<br /> -H 'Authorization: Bearer aStrongMasterKey' \<br /> -H 'Content-Type: application/json' \<br /> --data-binary '[<br /> {"id": 1, "title": "泰坦尼克号", "genres": ["剧情", "爱情"]},<br /> {"id": 2, "title": "黑客帝国", "genres": ["科幻", "动作"]}<br /> ]'<br />
4. 执行搜索
```bash搜索关键词 "泰坦"
curl -X GET 'http://localhost:7700/indexes/movies/search?q=泰坦'
<br /> <br /> 返回结果:<br /> <br />json
{
"hits": [
{
"id": 1,
"title": "泰坦尼克号",
"genres": ["剧情", "爱情"]
}
],
"offset": 0,
"limit": 20,
"estimatedTotalHits": 1,
"processingTimeMs": 1,
"query": "泰坦"
}
``<br /> <br /> 注意processingTimeMs: 1`,这是 Meilisearch 速度的最好证明!
5. 场景演示

结语
Meilisearch 的出现,代表了新一代搜索引擎对于开发者体验和即时性的追求。它在应用内搜索领域展现了强大的竞争力,证明了不必依赖 Lucene 的庞大体系,也能打造出极致性能的搜索产品。
虽然它还无法完全取代 Elasticsearch 在日志分析、可观测性等大型分布式场景的地位,但在许多新兴应用和对搜索速度有极高要求的场景中,它无疑是一个值得尝试的开源新星。
🚀 下期预告
下一篇我们将把目光转向搜索领域的云端先锋 —— Algolia。作为搜索即服务(Search-as-a-Service)的开创者,Algolia 如何以其卓越的 API 设计、惊人的搜索速度和精准的相关性排序,重新定义云端搜索体验?
💬 三连互动
- 你会把 ES/Solr 换成 Meilisearch 吗?
 - 在你的应用中,搜索延迟达到多少毫秒你会觉得无法接受?
 - 在什么场景下你会考虑使用 Meilisearch 而不是 Elasticsearch?
对搜索技术感兴趣的朋友,也欢迎加我微信(ID:lsy965145175)备注“搜索百科”,拉你进 搜索技术交流群,一起探讨与学习!
✨ 推荐阅读
 
 - 你会把 ES/Solr 换成 Meilisearch 吗?
 - [搜索百科(5):Easysearch — 自主可控的国产分布式搜索引擎](https://infinilabs.cn/blog/202 ... earch/)
 - [搜索百科(4):OpenSearch — 开源搜索的新选择](https://infinilabs.cn/blog/202 ... search)
 - [搜索百科(3):Elasticsearch — 搜索界的"流量明星"](https://infinilabs.cn/blog/202 ... earch/)
 - [搜索百科(2):Apache Solr — 企业级搜索的开源先锋](https://infinilabs.cn/blog/2025/search-wiki-2-solr/)
 - [搜索百科(1):Lucene — 打开现代搜索世界的第一扇门](https://infinilabs.cn/blog/202 ... ucene/)
🔗 参考资源
 - [Meilisearch 官方文档](https://www.meilisearch.com/docs/home)
 - [Meilisearch vs Elasticsearch](https://www.meilisearch.com/bl ... search)
 
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
开源项目 • INFINI Labs 小助手 发表了文章 • 0 个评论 • 1522 次浏览 • 3 天前
系列回顾与引言
在我们的 INFINI 本地环境搭建系列博客中:
- 第一篇《[搭建持久化的 INFINI Console 与 Easysearch 容器环境](https://infinilabs.cn/blog/202 ... docker)》,我们深入探讨了如何使用基础的 
docker run命令,一步步构建起 Console 和 Easysearch 服务,并重点解决了数据持久化的问题。 - 第二篇《[使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建](https://infinilabs.cn/blog/202 ... ompose)》,我们学习了如何利用 Docker Compose 的声明式配置,将多容器应用的定义和管理变得更加简洁高效。
 - 第三篇《[一键启动:使用 start-local 脚本轻松管理 INFINI Console 与 Easysearch 本地环境](https://infinilabs.cn/blog/202 ... -local)》,我们介绍了如何在联网环境下,一键安装 INFINI Console。
接下来,我们将聚焦于离线环境,详细讲解如何使用 Docker Compose 部署 INFINI Console 和 Easysearch。

简介
INFINI Console 是一款强大的集群管理与可观测性平台,而 INFINI Easysearch 则是一个轻量级、高性能的搜索与分析引擎。官方提供的离线部署包将两者整合,非常适合在无外网或需要快速搭建演示环境的场景下使用。

本文将详细介绍如何下载资源、正确加载镜像、以及最关键的——如何根据您的需求修改docker-compose.yml中的各项配置。
---
1. 准备工作
请确保您的环境中已安装以下软件:
- Docker
 - Docker Compose
---
2. 下载离线资源
从官方地址下载两个核心文件:
 infini-console.tar.gz: 包含docker-compose.yml和相关脚本。infini-console-easysearch-1.14.2.tar: 包含infinilabs/console和infinilabs/easysearch的 Docker 镜像。
bash<br /> wget <a href="https://release.infinilabs.com/easysearch/archive/offline/amd64/infini-console.tar.gz" rel="nofollow" target="_blank">https://release.infinilabs.com ... ar.gz</a><br /> wget <a href="https://release.infinilabs.com/easysearch/archive/offline/amd64/infini-console-easysearch-1.14.2.tar" rel="nofollow" target="_blank">https://release.infinilabs.com ... 2.tar</a><br />
---
3. 正确加载 Docker 镜像
注意:infini-console-easysearch-1.14.2.tar是一个包含多个镜像的归档包,不能直接使用docker load加载。
正确的加载步骤如下:
 - Docker
 - 创建目录并解压镜像归档包:
bash<br /> mkdir -p images<br /> tar -xvf infini-console-easysearch-1.14.2.tar -C images<br />
这会将console.tar和easysearch.tar等文件解压到images/目录中。
 - 批量加载所有镜像:
bash<br /> cd images<br /> ls *.tar | xargs -I {} docker load -i {}<br />
该命令会自动为目录下的每个.tar文件执行docker load操作。
 - 验证镜像加载结果:
bash<br /> docker images<br />
您应该能看到infinilabs/console:1.29.8和infinilabs/easysearch:1.14.2等镜像。
---
4. 修改配置文件
解压infini-console.tar.gz后,找到.env文件。所有自定义配置都应在此文件中修改。
以下是各项配置的详细说明和修改建议:
核心路径配置
env<br /> WORK_DIR_ABS=/data/infini-console<br />
- 作用: 定义所有持久化数据(日志、配置、索引)的根目录。
 - 修改建议: (必改) 强烈建议修改为您服务器上一个有足够空间的路径,例如 
/opt/infini-console。确保该目录存在且 Docker 拥有写入权限。
网络配置
env<br /> APP_NETWORK_NAME=infini-local-net<br />
 - 作用: 定义 Docker 内部网络的名称。
 - 修改建议: 通常无需修改。
Console 配置
env<br /> CONSOLE_IMAGE=infinilabs/console<br /> CONSOLE_VERSION_TAG=1.29.8<br /> CONSOLE_CONTAINER_NAME=infini-console<br /> CONSOLE_PORT_HOST=9000<br /> CONSOLE_PORT_CONTAINER=9000<br />
 - 作用: 定义 Console 的镜像、版本、容器名及端口映射。
 - 修改建议:
 CONSOLE_PORT_HOST: 如果宿主机的9000端口已被占用,请修改为其他可用端口(如8080)。
Easysearch 配置
env<br /> EASYSEARCH_IMAGE=infinilabs/easysearch<br /> EASYSEARCH_VERSION_TAG=1.14.2<br /> EASYSEARCH_NODES=1<br /> EASYSEARCH_CLUSTER_NAME=infini-console<br />
- 作用: 定义 Easysearch 的镜像、版本、节点数和集群名。
 - 修改建议:
 EASYSEARCH_NODES: 单机部署保持1即可。
访问与安全配置
env<br /> EASYSEARCH_INITIAL_ADMIN_PASSWORD=ShouldChangeme123.<br />
- 作用: 设置 Easysearch 
admin用户的初始密码。 - 修改建议: (必改) 请务必将其替换为一个强密码。登录 Console 时需要使用此密码。
env<br /> EASYSEARCH_HTTP_PORT_HOST=9200<br /> EASYSEARCH_TRANSPORT_PORT_HOST=9300<br />
 - 作用: 定义 Easysearch HTTP 和 Transport 接口在宿主机上的映射端口。
 - 修改建议: 如果 
9200或9300端口冲突,请修改。
JVM 参数配置
env<br /> ES_JAVA_OPTS_DEFAULT="-Xms8g -Xmx8g"<br />
 - 作用: 设置 Easysearch 的 JVM 堆内存大小。
 - 修改建议: (必改) 请根据服务器物理内存进行调整,避免超过物理内存的 50%。
 - 8GB 内存服务器: 建议设为 
-Xms2g -Xmx2g。 - 16GB 内存服务器: 建议设为 
-Xms4g -Xmx4g。
数据持久化路径
env<br /> CONSOLE_HOST_DATA_SUBPATH_REL=console/data<br /> CONSOLE_HOST_LOGS_SUBPATH_REL=console/logs<br /> EASYSEARCH_HOST_NODES_BASE_SUBPATH_REL=easysearch<br />
 - 作用: 定义数据和日志在 
WORK_DIR_ABS下的相对子路径。 - 修改建议: 通常无需修改。
---
5. 启动服务
完成配置修改后,在docker-compose.yml所在目录下执行:
bash<br /> docker-compose up -d<br />
等待服务完全启动。
---
6. 访问控制台
打开浏览器,访问你的服务器IP>:9000。
使用默认用户名admin和您在EASYSEARCH_INITIAL_ADMIN_PASSWORD中设置的密码进行初始化。
---
总结
通过以上步骤,您可以灵活地部署一套功能完整的 INFINI Console + Easysearch 环境。关键在于理解并根据实际情况修改.env文件中的参数,特别是WORK_DIR_ABS、EASYSEARCH_INITIAL_ADMIN_PASSWORD和ES_JAVA_OPTS_DEFAULT,这能确保部署的稳定性和安全性。
希望这篇详细的指南能帮助您顺利完成部署!
作者:罗厚付,极限科技(INFINI Labs)云上产品设计与研发负责人,拥有多年安全风控及大数据系统架构经验,主导过多个核心产品的设计与落地,日常负责运维超大规模 ES 集群(800+节点/1PB+数据)。
原文:https://infinilabs.cn/blog/202 ... line/ 
 - 作用: 定义所有持久化数据(日志、配置、索引)的根目录。
 
【搜索客社区日报】第2138期 (2025-11-03)
社区日报 • Muses 发表了文章 • 0 个评论 • 329 次浏览 • 14 小时前
https://elasticstack.blog.csdn ... 70474
2、Elastic AI agent builder 介绍(二)
https://elasticstack.blog.csdn ... 89733
3、Elastic Observability 中的 Streams 如何简化保留管理
https://elasticstack.blog.csdn ... 73819
4、DeepAgent源码流程解读
https://mp.weixin.qq.com/s/NBQPMcvcEeAVGq2qT9-hVw
5、【万字长文】大模型训练推理和性能优化算法总结和实践
https://mp.weixin.qq.com/s/zUz5Y0DOFa2XL5AI_j34FA
编辑:Muse
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2139期 (2025-11-04)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 204 次浏览 • 1 小时前
https://medium.com/%40ahbari.m ... c0e93
2. 为了能给mongodb和es做同步,我手搓了个工具(需要梯子)
https://medium.com/%40chiefdfo ... 3496c
3. 日志输出分析的中场战事(需要梯子)
https://medium.com/%40jasonner ... 08939
编辑:斯蒂文
更多资讯:http://news.searchkit.cn

