<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>首页 on 极限科技 | INFINI Labs</title><link>https://infinilabs.cn/</link><description>Recent content in 首页 on 极限科技 | INFINI Labs</description><generator>Hugo -- gohugo.io</generator><lastBuildDate>Wed, 15 Jul 2026 08:00:00 +0800</lastBuildDate><atom:link href="https://infinilabs.cn/index.xml" rel="self" type="application/rss+xml"/><item><title>INFINI Easysearch 向量搜索实战（一）</title><link>https://infinilabs.cn/blog/2026/easysearch-vector-search-1/</link><pubDate>Wed, 15 Jul 2026 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-vector-search-1/</guid><description>Easysearch 提供了强大的向量搜索能力，打破传统关键词匹配的局限，实现真正的“懂你”的语义搜索。助力企业快速构建智能推荐、图像识别和内容理解等 AI 应用，释放数据深层价值。
核心能力 # 能力 说明 两种向量类型 稠密浮点向量（knn_dense_float_vector）和稀疏布尔向量（knn_sparse_bool_vector） 多种索引模型 lsh（局部敏感哈希，近似搜索）、permutation_lsh（置换 LSH）、sparse_indexed（倒排索引）、exact（精确搜索） 多种相似度 cosine（余弦）、l1（曼哈顿距离）、l2（欧氏距离）、jaccard、hamming 与全文搜索融合 向量字段与文本字段存储在同一索引，支持 Hybrid 混合检索 function_score 集成 向量相似度可作为 function_score 的评分函数 典型应用场景 # 语义搜索：文本通过 Embedding 模型转为向量，按语义相似度检索 RAG 检索增强生成：为大语言模型提供知识库检索能力 推荐系统：用户/商品特征向量的相似推荐 图像/多模态搜索：图像特征向量的相似检索 去重与异常检测：通过向量距离判断内容相似度 Embedding 服务 # 在使用向量搜索前，先要准备一个 Embedding 模型，支持与 OpenAI API 兼容的 embedding 接口和 Ollama embedding 接口。本文使用阿里云上的 Embedding 模型进行演示。</description></item><item><title>Easysearch v2.3.0 发布 | 管理体验升级，稳定性与兼容性全面增强</title><link>https://infinilabs.cn/blog/2026/easysearch-2-3-0-release/</link><pubDate>Mon, 22 Jun 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-2-3-0-release/</guid><description>INFINI Easysearch v2.3.0 正式发布。本次版本围绕“更易用的管理体验、更稳健的集群能力、更可靠的运行表现”持续优化，重点覆盖数据流与管道管理、CCR 与 Rollup 稳定性、安全权限语义一致性，以及 ZSTD 压缩链路在复杂环境下的兼容性与内存表现。
功能特性 (Features) # 新增管道管理 UI Agent UI 新增 API Token 管理能力 新增数据流 bootstrap 创建 API，在缺少匹配模板时可自动补齐默认模板并继续创建数据流，简化联调与初始化流程 在数据流页面新增“添加数据流”入口 新增“修改当前用户密码”UI 改进优化 (Improvements) # Security enrollment token 新增 endpoints 字段（保留 endpoint 兼容单值），便于多节点地址感知。 默认 admin 角色映射补充 replication_leader 与 replication_follower，降低 CCR 角色配置复杂度。 强化 Rollup/ILM/SLM 启动期保护：在配置索引、安全模块或主分片未就绪时延后周期任务，减少冷启动误报。 优化 Rollup Search 索引路由策略，在 alias/wildcard 场景下可更准确区分 live 与 rollup 索引。 优化 CCR 同步调度与升级保护，减少空轮询、无效重试，并提升跨版本滚动升级期间可控性。 新增状态过滤能力（如 BOOTSTRAPPING、PAUSED、FAILED），便于运维排障。 优化初始化与安装流程：重复初始化默认保留关键数据文件，macOS 自动处理隔离标签，安装更顺畅。 增强 ZSTD 在非理想运行环境下的兼容回退与内存生命周期管理，降低后台合并内存峰值。 问题修复(Bug Fixes) # 修复 source_reuse 在 tombstone 与非 JSON/二进制 _source 场景下的解析异常与潜在写入阻塞。 修复 Rollup mixed search 在空字段、空索引与边界分流下的聚合异常，避免统计重复、丢失或合并失败。 修复 Rollup 索引识别与跨版本传输兼容问题，降低混合集群反序列化失败风险。 修复 cluster-state 全局请求在安全过滤后的模板、数据流与索引可见性语义不一致问题。 修复 cluster-state 转发、反序列化与超时响应链路中的边界问题，避免 metadata 泄漏与 REST 500/NPE。 修复 Security API 在内部用户查询与账户更新中的权限边界问题，恢复 404/403 契约一致性。 修复安全模式下 /_cluster/settings 与跨集群搜索（CCS）在权限过滤后的返回不完整问题。 修复 CCR 在重启、停止复制、proxy 远程集群和 SecurityManager 环境下的稳定性问题。 修复可搜索快照在小缓存配置下的启动失败，提升低资源场景可用性。 修复 ZSTD 在高压力 merge 场景下的 OOM 与异常传播问题，增强压缩链路健壮性。 修复远程集群管理 UI 在代理模式下无法删除的问题。 修复数据探索侧边栏对象字段丢失问题。 以上为本版本重点更新摘要，更多详情请查看 Easysearch 产品 Release Notes 或联系我们的技术支持团队！</description></item><item><title>Bboss v7.5.6 正式发布，全面兼容国产分布式搜索引擎 Easysearch</title><link>https://infinilabs.cn/blog/2026/bboss-integration-with-easysearch/</link><pubDate>Mon, 22 Jun 2026 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/bboss-integration-with-easysearch/</guid><description>一、引言 # 2026 年 6 月 21 日，经过 Bboss 开源社区与极限科技（INFINI Labs）的紧密合作， Bboss v7.5.6 正式发布！
作为国内领先的 AI 智能体开发框架、数据采集同步 ETL 工具以及流批一体化计算引擎，Bboss 在本次更新中与国产分布式搜索引擎 Easysearch 完成深度兼容，其 Elasticsearch Java 客户端 全面兼容 Easysearch 1.x、2.x 全系列版本。开发者现在可以无缝使用 Bboss 客户端操作 Easysearch 集群，享受与 Elasticsearch 一致的开发体验。
二、Bboss Elasticsearch 客户端简介 # Bboss 是一款高性能、高兼容性的搜索引擎 Java REST 客户端框架，基于 Apache License 2.0 开源，原生支持 Elasticsearch、Easysearch 和 Opensearch。
自带客户端集群节点负载均衡和容灾，多集群多数据源，自动索引托管，多种分页机制，傻瓜级 CRUD，脚本，SQL，JDBC，高亮，权重，聚合，IP，GEO 地理位置，父子嵌套，应有尽有。
核心特性 # 特性 说明 原生多引擎支持 完美支持 ES 1.</description></item><item><title>信创环境下部署 INFINI Console：一站式搭建搜索基础设施统一管控平台</title><link>https://infinilabs.cn/blog/2026/console-install-at-xc-platform/</link><pubDate>Tue, 09 Jun 2026 12:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/console-install-at-xc-platform/</guid><description>引言 # 在前面的文章中，我们分别进行了 Easysearch 在信创环境下的部署 以及 INFINI Gateway 数据网关的部署。到目前为止，整套搜索服务体系的核心组件已经就位 —— Easysearch 负责存储和检索，Gateway 负责进行流量管控。
但你可能注意到一个问题：Easysearch 虽然有着自己的管理界面。但随着集群数量增多、业务变得更加复杂，管理者不得不在多个系统之间切换，效率低下且容易遗漏告警。有没有一个 “管理中枢” ，将所有搜索集群统一纳管，一站式完成监控、告警、安全审计和数据探索？
这正是 INFINI Console 要解决的问题。本文将延续“小白友好”风格，带你完成系列第四篇——部署 INFINI Console，用它为整个搜索服务体系装上统一的“指挥中心”。
一、INFINI Console 是什么？为什么需要它？ # 1. 精准定位 # INFINI Console 是一款 轻量级、跨版本、多集群的搜索基础设施统一管控平台，也是整个极限科技产品体系中承担“可观测性与集中管理”角色的核心组件。它可以将不同业务、不同版本的多个 Easysearch 或 Elasticsearch 集群集中纳管，让管理者和运维人员在一个平台上完成日常运维工作。
2. 它能做什么？ # INFINI Console 的核心能力可以概括为以下五大板块：
平台管理：在一个平台内统一纳管任意多套 Easysearch / Elasticsearch 集群，支持跨版本（5.x 到 8.x）、跨云混合部署，新集群动态注册接入，目标集群无需安装任何插件。 可观察性监控：一键开启对目标集群的全维度监控，覆盖集群、节点、索引等级的详细指标，慢查询、异常日志、集群动态一览无余，帮你快速定位问题、缩短故障时间。 主动告警：支持灵活的告警规则配置，7×24 小时自动巡检集群关键指标和业务数据，一旦触发阈值立即通知，让你从“被动等故障”变成“主动防问题”。 安全审计：支持企业级 LDAP、AD、SSO 对接，提供集群、索引、字段、文档级别的统一访问控制，支持查询请求审计与分析，可智能识别和阻断异常查询。 开发者工具与数据探索：内置智能语法提示、多集群工作区、常用指令快捷加载，支持索引管理、数据浏览、文档编辑、时序数据快速查看等功能。 3. 轻量级特性 # INFINI Console 使用 Golang 编写，安装包非常小，只有约 11MB，没有任何外部环境依赖（除了需要一个 Easysearch 或 Elasticsearch 集群作为存储后端），部署安装非常简单，只需下载对应平台的二进制可执行文件，启动即可。</description></item><item><title>信创环境下部署 INFINI Gateway：为 Easysearch 构建高性能安全入口</title><link>https://infinilabs.cn/blog/2026/gateway-install-at-xc-platform/</link><pubDate>Fri, 05 Jun 2026 12:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/gateway-install-at-xc-platform/</guid><description>引言 # 上一篇文章里，我们已经完成了 Easysearch 在信创环境下的部署。搜索服务能跑起来只是第一步，要让它真正用于生产，还需要补上“入口治理”这一环。
例如，下面这些问题在生产环境中非常常见：
如何防止某个应用或用户发出超大查询请求，把 Easysearch 集群拖垮？ 如果 Easysearch 某个节点突然宕机，请求能不能自动切换到健康节点，让业务无感知？ 如何知道每天有多少次查询、哪些查询慢、哪些请求不合法，有没有办法对请求进行审计？ 这些正是 INFINI Gateway（极限网关） 擅长解决的问题。本文延续“小白友好”风格，带你完成 Gateway 的安装与验证，为 Easysearch 增加一层高性能、安全、可观测的入口防护。
一、INFINI Gateway 是什么？和 Easysearch 是什么关系？ # 如果把 Easysearch 比作大型图书馆，那么 INFINI Gateway 就像门口的 “前台总台”。过去读者（应用程序）直接进入书库检索；现在所有请求先经过前台，再转发到书库。这样做的好处很直接：可以缓存热门请求，减少后端压力；可以限制流量，避免集群被突发请求冲垮；还可以记录访问日志，方便审计与分析。
从技术层面讲，INFINI Gateway 的定位如下：
高性能数据网关：面向搜索场景设计，请求先在网关完成处理，再转发到后端 Easysearch 集群。 代理 + 增强：位于客户端与 Easysearch 之间，可在转发链路中叠加限流、缓存加速、请求审计、结果改写等能力。 兼容原生 API：对外接口兼容 Elasticsearch / Easysearch 原生 API，应用只需把连接地址从直连 Easysearch 改为指向网关，无需改业务代码。 轻量易部署：基于 Golang 开发，安装包约 10MB，无额外外部依赖。 信创兼容认证：已通过华为鲲鹏 Kunpeng 920 兼容性认证，并获得 KUNPENG COMPATIBLE 证书。 整个系列的组件关系如下：</description></item><item><title>信创生态再深化！极限科技 Easysearch 与鼎甲备份系统完成深度兼容适配认证</title><link>https://infinilabs.cn/blog/2026/easysearch-and-dbackup-have-completed-compatibility-and-adaptation-certification/</link><pubDate>Wed, 03 Jun 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-and-dbackup-have-completed-compatibility-and-adaptation-certification/</guid><description>近日，极限科技与鼎甲科技顺利完成双向兼容适配认证，国产分布式检索数据库 Easysearch V2.0 与鼎甲数据备份与恢复系统 DBackup V8.0 全面通过功能、性能、稳定性联合测试，产品适配顺畅、运行表现优异，成功实现国产检索存储与国产数据灾备全链路深度打通。
为保障适配落地效果，双方组建专项技术团队，围绕 Easysearch 海量索引、向量索引等特色数据结构开展定制化调优，覆盖全量与增量备份、瞬时恢复、故障回滚、集群高可用等核心业务场景。经过多轮严苛验证，两套自研产品可无缝协同，能够为检索类数据提供覆盖全生命周期的安全防护能力。
作为国产化核心检索引擎，Easysearch V2.0 原生兼容 ES 生态，支持全文检索、向量检索、多模态检索等丰富能力，深度适配国产软硬件环境，可有效助力政务、金融、大数据等行业实现搜索引擎国产化替换。鼎甲 DBackup V8.0 是国内主流政企级灾备产品，具备全域数据备份、极速恢复、异地容灾、勒索防护等成熟能力，长期为海量关键业务数据提供安全保障。
未来，极限科技与鼎甲科技将持续深化技术与生态合作，持续跟进产品版本迭代适配，联合打磨标准化行业解决方案，拓展金融、政务、能源等落地场景，携手完善国产基础软件产业链，持续赋能政企信创数字化建设。</description></item><item><title>国产统信 UOS 部署 Coco Server 全指南：从零搭建企业级 AI 搜索服务端</title><link>https://infinilabs.cn/blog/2026/coco-server-install-at-xc-platform/</link><pubDate>Wed, 27 May 2026 12:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/coco-server-install-at-xc-platform/</guid><description>引言 # 在上一篇文章《 从零到跑起来：Easysearch 信创环境安装全流程》中，我们成功在信创平台上安装并运行起了 Easysearch。但 Easysearch 是一个底层搜索引擎，直接操作有一定门槛。如果我们想让团队里的每个人都能方便地“搜文件、聊文档、问知识”，就需要一个更贴近日常使用、又能把 AI 能力融入进来的上层应用——这就是 Coco AI 。
本文将继续手把手带你从零开始，在国产统信 UOS 服务器操作系统上部署 Coco Server，并与已安装的 Easysearch 进行对接。全文依然零基础可读，跟着步骤一步步来即可。
一、Coco Server 是什么？它和 Easysearch 什么关系？ # 先对我们的产品进行一个简单的介绍：
Easysearch 是底层引擎，负责存储和检索数据，像汽车的发动机和底盘； Coco Server 是基于 Easysearch 之上的服务端应用程序，提供 Web 管理界面、统一搜索、AI 聊天、知识库管理等高级功能，类似车身和智能驾驶系统； Coco AI 桌面客户端则是连接 Coco Server 的终端软件，安装在个人电脑上使用。 而在本文中部署的 Coco Server，是整个 Coco AI 体系的“大脑”：
它负责连接各类数据源（飞书、语雀、GitHub、本地文件等）； 它管理大模型提供商（Deepseek、通义千问、OpenAI 等）； 它提供 Web 管理后台，让管理员可以可视化地完成所有配置。 部署完成之后，团队成员只需通过客户端或浏览器，就能享受统一搜索与 AI 智能问答带来的便利。Coco AI 的整体架构图如下：
二、部署前置条件 # 进行服务器相关优化 # #内核参数优化 cat &amp;lt;&amp;lt; SETTINGS | sudo tee /etc/sysctl.</description></item><item><title>从零到跑起来: Easysearch 信创环境安装全流程</title><link>https://infinilabs.cn/blog/2026/easysearch-install-at-xc-platform/</link><pubDate>Tue, 26 May 2026 11:30:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-install-at-xc-platform/</guid><description>一、Easysearch 介绍 # 在动手安装之前，我们先花一点时间了解这个工具。 INFINI Easysearch （以下简称 Easysearch）是由极限科技（INFINI Labs）自主研发的一款分布式 AI 搜索型数据库。用通俗的话讲，它是一个“超级搜索引擎”，能帮你在海量数据中快速查找信息，支持结构化和非结构化的数据检索、全文检索、向量检索、空间地理位置信息检索、组合查询、多语种支持、语义分析和聚合分析等多种功能，被广泛应用于企业搜索、日志分析、知识库管理等场景。它的安装包仅50MB，非常轻量。
Easysearch 的“自主可控”特性十分突出：
完全国产化：已适配龙芯、鲲鹏、飞腾、海光、兆芯、申威等主流国产 CPU； 全面兼容国产操作系统：支持银河麒麟、统信 UOS、中标麒麟等国产操作系统； 国密算法支持：全量支持 SM2/SM3/SM4 国密算法，满足等保三级及信创合规要求； ES生态兼容：完全兼容 Elasticsearch 的 API 接口，可无缝平替。 二、安装前需知 # 1.你的信创平台属于哪种？ # 信创平台的组合通常是“国产 CPU + 国产操作系统”，你需要确认你的环境属于哪种：
国产CPU 架构 常见搭配操作系统 鲲鹏（Kunpeng） ARM64 银河麒麟V10、统信UOS 飞腾（Phytium） ARM64 银河麒麟V10、统信UOS 海光（Hygon） x86 统信UOS、银河麒麟V10 龙芯（Loongson） LoongArch 银河麒麟V10、统信UOS 兆芯（Zhaoxin） x86 银河麒麟V10、统信UOS 申威（Sunway） SW64 统信UOS 不确定的话，可以在终端执行以下命令查看：</description></item><item><title>Elasticsearch 6/7/8 到 Easysearch 2.x 迁移指南</title><link>https://infinilabs.cn/blog/2026/elasticsearch-to-easysearch-2x-migration-guide/</link><pubDate>Wed, 06 May 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/elasticsearch-to-easysearch-2x-migration-guide/</guid><description>最近在协助客户进行 Elasticsearch 到 Easysearch 的迁移时，发现大家最关心的问题是&amp;quot;当前版本能否直接使用快照迁移&amp;quot;。这个问题看似简单，但不同版本的答案差异较大。本文将基于实际测试经验，梳理各版本的迁移路径和注意事项。
迁移路径速览 # 根据源 ES 版本，可以直接对照下表选择迁移方案：
源 ES 版本 能否直接快照恢复 推荐方案 实施复杂度 ES 6.x 否 INFINI Gateway 迁移 或 ES 7.10.x 中转 较低 ES 7.0 - 7.11 是 直接快照恢复 较低 ES 7.12 - 7.17 否 INFINI Gateway 迁移 较低 ES 8.x 否 INFINI Gateway 迁移 较低 结论：ES 7.0-7.11 是迁移最顺畅的版本窗口，可直接快照恢复；其他版本也有成熟的迁移方案，只是路径不同。</description></item><item><title>Easysearch analysis-ik 多词典性能优化：从性能回退到分词性能提升 25%~30%</title><link>https://infinilabs.cn/blog/2026/easysearch-analysis-ik-multidict-performance-recovery-vs-elasticsearch/</link><pubDate>Tue, 28 Apr 2026 20:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-analysis-ik-multidict-performance-recovery-vs-elasticsearch/</guid><description>Easysearch 版 analysis-ik 相比开源 IK 有一个重要的增强：支持多词典。简单说就是不同字段可以挂不同词库，可以叠加默认词典，也可以只用自定义词典。这是开源单词典 IK 做不到的。
功能实现初期，主要精力放在把能力跑通上。但在后来的一次写入压测中，我们发现 Easysearch 的写入吞吐和 Elasticsearch 有明显差距，最终定位到问题出在多词典的实现方式上——字段最终该用哪套词典，本来应该在分词前就算好，结果代码里把这个选择丢进了分词的热路径，每次分词都要反复切词典、重复扫同一段文本。
这篇文章记录的就是我们怎么一步步把性能拉回来、最终反超基线的过程。
问题怎么冒出来的 # 4 月 20 号，我们跑了一轮系统级写入压测。数据、mapping、settings、并发和 bulk 参数都一样，Elasticsearch 8.19.5 和 Easysearch 2.1.2 的写入吞吐差距大得有点不对劲：
时间 场景 Elasticsearch Easysearch 说明 2026-04-20 第 2 次有效重跑 29900 docs / bulk=250 / concurrency=3 端到端写入压测 129.44 docs/s 31.21 docs/s 这是整条写入链路的 docs/s，不是单独分词吞吐 2026-04-20 诊断样本 5000 docs / bulk=250 / concurrency=3 156.25 docs/s 30.</description></item><item><title>Easysearch 正式支持插件开发：让你的搜索系统真正"为你所用"</title><link>https://infinilabs.cn/blog/2026/easysearch-plugin-development/</link><pubDate>Fri, 24 Apr 2026 12:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-plugin-development/</guid><description>从&amp;quot;用搜索&amp;quot;到&amp;quot;造搜索&amp;quot; # 搜索系统的需求千差万别。标准功能覆盖不了所有场景——行业特定的分词规则、定制化的业务逻辑、与外部系统的深度集成……
以往，这类定制需求需要依赖厂商支持。从 Easysearch 2.1.2 开始，你可以自己动手了。
随着构建依赖库正式发布到 Maven 中央仓库，Easysearch 的插件开发能力正式对外开放。这意味着 Easysearch 不再是一个黑盒产品，而是一个可扩展、可定制的搜索平台。你可以基于官方接口开发自定义插件，像使用原生功能一样使用它们。
插件能做什么 # Easysearch 提供三类核心扩展点，覆盖搜索系统的关键环节：
Easysearch 插件架构与流程位置图 1. 文档写入 &amp; 索引流程 原始文档写入数据 → Ingest 插件写入阶段 → 分析器插件索引阶段 → Easysearch 索引数据存储 2. 搜索查询流程 客户端请求搜索查询 → REST 插件查询阶段 → 执行搜索查询索引 → 返回结果搜索响应 Ingest 插件 - 写入阶段 分析器插件 - 索引阶段 REST 插件 - 查询阶段 1. 分析器插件（AnalysisPlugin） # 自定义分词器、Token 过滤器、字符过滤器。适用于：
电商 SKU 的型号规格解析 医疗、法律等领域的专业术语分词 特殊符号或空格的规范化处理 注册后直接在索引设置中使用，与原生分析器完全等同。</description></item><item><title>破解 AI 幻觉困局：Easysearch 以检索技术筑牢大模型“可信防线”</title><link>https://infinilabs.cn/blog/2026/cracking-ai-hallucinations-easysearch-builds-a-trusted-retrieval-defense/</link><pubDate>Tue, 21 Apr 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/cracking-ai-hallucinations-easysearch-builds-a-trusted-retrieval-defense/</guid><description>来源：经济网《破解AI 幻觉困局：Easysearch 以检索技术筑牢大模型“可信防线”》
链接：http://www.jingji.com.cn/zxxx/202604/t20260421_2919850.shtml
发表日期：2026-04-21
随着大模型技术在企业级场景的深度落地，AI 幻觉问题成为制约行业落地的核心瓶颈——从虚构业务数据到生成错误政策解读，从编造专业术语到输出逻辑混乱的方案，AI “一本正经胡说八道”的现象频发，不仅影响决策效率，更可能带来合规风险与经济损失。在此背景下，具备强大检索能力的 Easysearch 企业级搜索引擎，凭借“事前精准检索、事中事实校验、事后溯源验证”的全链路技术方案，成为企业破解AI 幻觉、构建可信AI体系的核心抓手，为大模型落地筑牢数据安全与输出可信的双重防线。
一、AI 幻觉频发：企业落地大模型的“隐形陷阱” # AI 幻觉并非偶然现象，而是伴随大模型“生成式”本质诞生的必然问题，其发生贯穿大模型全生命周期，可分为三个关键阶段：
(一)生成前：知识盲区引发的“无知型幻觉” # 大模型的训练数据存在时效性与局限性，当用户提问超出其训练知识范围时，模型会基于概率推理编造答案。例如，企业询问 2025 年最新行业政策细则、内部未公开的业务数据，或跨领域的专业知识，模型因未接触过相关信息，只能虚构看似合理的内容，形成“无中生有”的幻觉。
(二)生成中：记忆混乱引发的“逻辑型幻觉” # 企业数据多为非结构化的杂乱信息，分散在 ERP、OA、硬盘、邮箱等多系统中，大模型因无法精准获取完整数据，易出现信息拼接错误 —— 将 A 部门的合同条款与 B 部门的业务规则混淆，或把历史数据与最新动态混淆，生成逻辑矛盾、前后不一致的内容，尤其在复杂业务方案、合规审查场景中，这类幻觉极易导致决策失误。
(三)生成后：盲目自信引发的“虚假型幻觉” # 大模型具备极强的内容生成能力，会以自信、肯定的语气输出错误信息，即便答案错误，也会通过专业话术包装，让用户误以为其内容真实可信。这种“虚假自信”的幻觉，往往是企业最容易忽视的风险点——例如在财务审计、法律文书生成场景中，错误的结论可能被直接用于业务执行，造成严重后果。
据行业调研显示，超 70% 的企业在大模型落地过程中遭遇过 AI 幻觉问题，其中金融、医疗、政务等对数据准确性要求极高的行业，幻觉带来的合规风险与经济损失尤为突出。如何让AI “有据可依、有证可查”，成为企业大模型落地的核心诉求。
二、Easysearch：以检索技术破解 AI 幻觉三大核心痛点 # Easysearch 作为专业的企业级检索引擎，并非简单的搜索工具，而是基于“检索增强生成(RAG)”技术，构建起覆盖“检索-注入-校验”全链路的防幻觉体系，精准破解 AI 幻觉的三大核心痛点，让大模型真正实现“有备而来、拒绝瞎编”。
(一)事前精准检索：消除知识盲区，阻断“无知型幻觉” # Easysearch 具备强大的多源异构数据接入能力，可无缝对接企业 MySQL、Oracle 等数据库，以及 Word、PDF、邮件、日志、图片、音频等全类型非结构化数据，实现企业全量数据的统一汇聚。当用户发起提问时，Easysearch 不会让大模型直接作答，而是先深入企业数据仓库进行精准检索，快速提取与问题相关的真实、最新数据，为大模型提供充足的“知识储备”。
例如，企业员工询问产品合规要求，Easysearch 会自动检索内部合规手册、最新行业政策文件、过往合规案例等真实资料，确保大模型基于完整、准确的信息生成回答，从根源上阻断因知识盲区导致的幻觉。
(二)事中强制引用：规范生成逻辑，杜绝“逻辑型幻觉” # Easysearch 会将检索到的真实资料打包为“证据包”，连同用户问题一同注入大模型，并明确要求“基于以下参考资料作答”。这一机制强制大模型必须引用企业真实数据，不能凭空虚构或随意拼接，从生成环节约束模型逻辑。</description></item><item><title>INFINI Agent v1.31.0 发布 | 全新 Easysearch 向导：一站式集群拉起与精细化管理</title><link>https://infinilabs.cn/blog/2026/agent-1-31-0-release/</link><pubDate>Fri, 17 Apr 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/agent-1-31-0-release/</guid><description>INFINI Agent v1.31.0 带来了本版本最重要的特性——Easysearch 安装向导。用户无需手动编辑任何配置文件，通过图形界面即可完成 Easysearch 集群的安装、配置和日常管理。
Easysearch 安装向导 # 一键拉起新集群 # 向导支持 开发模式 和 生产模式 两种方式创建 Easysearch 节点。用户只需填写集群名称、节点名称、监听地址、端口、数据目录等基本信息，向导便会自动完成软件下载、JDK 配置、安全证书生成、参数配置、插件安装、节点启动等全部步骤，并实时展示每一步的进度，支持随时暂停和恢复。
一键加入已有集群 # 通过粘贴现有集群提供的 Token，向导可自动从目标集群拉取证书、版本、插件等配置信息，完成新节点的安装和接入，全程无需手动复制任何证书文件。
安装前环境预检 # 向导在开始安装前会对当前机器进行全面检测，帮助用户提前发现潜在问题：
操作系统和 CPU 架构是否受支持 内存是否满足推荐要求 端口是否已被占用 数据目录磁盘空间是否充足、路径是否可写 系统参数（文件描述符限制、内核 max_map_count 等）是否满足 Easysearch 运行需求 TLS 证书填写后实时校验有效性，包括证书链完整性和过期时间 TLS 安全证书灵活配置 # 支持三种证书配置方式，满足不同安全需求：
自动生成：向导一键生成自签名证书，无需任何证书知识 手动上传（共享）：为 HTTP 和节点通信层提供同一套证书 手动上传（分离）：为 HTTP 层和节点通信层分别提供独立证书 完整的服务生命周期管理 # 集群建好后，向导提供持续的管理能力：
启动、停止、重启 Easysearch 节点 在线安装和卸载插件 在线编辑配置，包括 easysearch.</description></item><item><title>用 Easysearch 给 AI Agent 装上长期记忆：Mem0 集成实战</title><link>https://infinilabs.cn/blog/2026/mem0-integration/</link><pubDate>Thu, 16 Apr 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/mem0-integration/</guid><description>你有没有遇到过这样的场景：昨天花了半小时跟 AI 把一个 Bug 的根因讲清楚了，今天新开一个对话，对方又一脸懵地从零问起。每次都要重新交代背景，像是在跟一个永远刚入职的实习生打交道。
根本原因很简单：现在大多数 AI Agent 的&amp;quot;记忆&amp;quot;只存在于当前 context window 里。窗口结束，记忆清零。
这篇文章介绍怎么用 Mem0 + Easysearch 给 Agent 装上一块真正的长期记忆——跨会话、可语义检索、在本地跑，数据完全自己掌控。
整体架构 # 用户 ↔ AI Agent（Trae / Cursor / VS Code 等） ↓ MCP 协议 Mem0 OpenMemory MCP Server ↓ HTTPS Easysearch 集群 ┌──────────────────┐ │ 记忆向量索引 │ │ kNN 语义检索 │ └──────────────────┘ 写记忆：Agent 发现有价值的信息（Bug 根因、架构决策、约定命名……）时，调用 add_memories，MCP Server 用 Embedding 模型将文本向量化后写入 Easysearch。
读记忆：Agent 开始新任务前，调用 search_memory，MCP Server 把问题向量化后在 Easysearch 做 kNN 检索，把语义最相关的历史记忆注入到 Prompt 里。</description></item><item><title>银行和保险风控，怎样把规则真正跑进实时链路</title><link>https://infinilabs.cn/blog/2026/easysearch-rules-engine-banking-insurance-risk-control/</link><pubDate>Wed, 15 Apr 2026 22:30:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-rules-engine-banking-insurance-risk-control/</guid><description>在金融行业做风控，规则往往是最不缺的东西。多年的业务经验、合规要求和风险事件，早已沉淀出一套套判断逻辑。银行和保险团队真正缺的，是一套能让这些规则在实时链路里稳定运行的机制。
大额转账应该秒级拦截，结果还在等离线任务；改密后立即转账、暴力破解登录、同事故多人理赔，本来应该第一时间打标，结果要跨好几个系统补逻辑；规则改得频繁，但每次调整都得改代码、重新发版、重新联调，最后大家都不敢轻易动。
很多高价值风险本身并不复杂，判断逻辑用规则就能清楚表达：单笔大额转账、24 小时频繁小额分拆、1 小时内地理位置异常交易、30 分钟密码连续错误、30 天内多头借贷、投保后 90 天内理赔、同一事故 3 个以上关联理赔人。这些规则的要求不在于复杂，在于实时、稳定、可改、可解释。
我们整理了一套银行和保险风控样例，在 Easysearch 2.1.2 测试环境里走通了完整链路，记录下来，供参考。
先看结论 # 规则数：24 覆盖场景：银行交易、反洗钱、账户安全、信贷、保险理赔 规则编译耗时：415ms 单规则样本验证：24 / 24 命中 混合业务流样本：8 条，命中 6 条，未命中 2 条（正常事件） 写入后会直接输出结构化风险字段，包括是否命中、命中规则 ID 列表、命中条数和最高风险等级，下游系统可以直接用这些字段做决策，不需要再自己解析。
规则数量 24 编译耗时 415ms 混合样本命中 6 / 8 规则引擎在链路里承担什么 # 这套方案把整条链路分成三层：上游特征系统负责计算窗口聚合、账户画像、名单命中和关系特征；Easysearch 规则引擎负责实时命中和结构化输出；下游处置系统负责拦截、二次验证、人工复核和告警推送。
规则引擎不负责自己做历史聚合。类似 acct_txn_cnt_24h（24 小时内交易笔数）、loan_apply_org_cnt_30d（30 天内申请机构数）、txn_geo_distance_km_1h（1 小时内地理距离）这些字段，都由上游流式计算或特征服务预先算好，再作为扁平字段写进当前事件文档。规则引擎要做的，是把&amp;quot;当前事件 + 已计算特征&amp;quot;快速转成风险结果。
这个分工明确之后，规则本身的维护和规则引擎的边界就都清楚了。
把这套实时风控链路拆开看，核心就是五步：事件接入、特征补齐、规则编译、在线匹配、结果输出与处置。下面这张图把银行和保险场景里这条链路的分工关系完整串起来了。
规则覆盖的五类场景 # 场景 示例规则 银行交易 大额转账、深夜大额转账、新账户大额流出 反洗钱 小额分拆、资金归集后转出、休眠账户激活 账户安全 暴力破解、撞库、改密后立即转账 信贷风控 多头借贷、还款日前余额骤降、收入还款压力过高 保险理赔 投保后短期出险、频繁小额理赔、同事故多人理赔 规则文件的一部分如下：</description></item><item><title>同样 15,000 条重规则，Percolate Query 比 Easysearch 慢 21.8 倍——Heavy-OR 场景实测</title><link>https://infinilabs.cn/blog/2026/easysearch-rules-engine-vs-percolate-query-heavy-or-benchmark/</link><pubDate>Tue, 14 Apr 2026 20:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-rules-engine-vs-percolate-query-heavy-or-benchmark/</guid><description>15,000 条 heavy-OR 规则，200,000 条文档，同一台机器：Easysearch 在线规则引擎全流程 11.68 秒，Percolate Query 仅搜索阶段就跑了 254.30 秒——慢了 21.8 倍。
在&amp;quot;规则先存、文档后到&amp;quot;这类场景下，Percolate Query 的延迟会随规则数量和复杂度的增长快速恶化。规则涨到数千条后，每批文档匹配的耗时可以从秒级攀升至几分钟。这类问题换索引参数、调批次大小、精简 DSL，都治标不治本，根子在执行模型本身。
本文通过一组 heavy-OR 基准测试，量化两种方案的实际差距。
测试配置 # 测试在同一台主机上运行，使用同一套规则文本和文档样本。Percolate Query 的查询条件由相同规则翻译而来，保证两侧规则语义一致。
参数 值 规则总数 15,000 文档总数 200,000 批次大小 10,000 / 批 重规则数量 2,500 条大 OR 热点规则 单条大 OR 规模 随机 50 ～ 500 个 OR 条件 测试结果 # 路径 用时 纯写入 plain_bulk 6.</description></item><item><title>警惕企业级搜索数据泄露风险，国产 Easysearch 以全链路安全方案筑牢数据安全防线”</title><link>https://infinilabs.cn/blog/2026/beware-of-enterprise-search-data-leaks-easysearch-builds-a-full-chain-security-defense/</link><pubDate>Tue, 07 Apr 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/beware-of-enterprise-search-data-leaks-easysearch-builds-a-full-chain-security-defense/</guid><description>来源：经济网《警惕企业级搜索数据泄露风险 国产 Easysearch 以全链路安全方案筑牢数据安全防线》
链接：http://www.jingji.com.cn/zxxx/202604/t20260407_2885808.shtml
发表日期：2026-04-07
近期，以 Elasticsearch (简称 ES) 为代表的企业级搜索数据库意外泄露事件频发，累计暴露超百亿条用户敏感数据，涵盖个人身份信息、金融账户等核心内容，凸显企业级搜索场景下数据安全管理的严峻性，引发行业广泛关注与警惕。仅 2026 年 1 月，就有安全研究人员发现一个未加密的公共数据库泄露约 1.49 亿条用户名和密码，波及谷歌、苹果、Meta 等公司用户，涉及 90 万个 iCloud 账户、4800 万个 Gmail 账户及 1700 万个 Facebook 登录信息，总容量达 96 GB; 而在 2025 年底，一个未加密的 16 TB MongoDB 数据库更是暴露了 43 亿条专业记录，其中近 20 亿条为个人隐私数据，包含姓名、电话号码、工作经历等敏感信息，可能引发大规模 AI 驱动的社会工程攻击。
国内监管处罚案例同样密集，湖南省网信办近期通报的案例尤为典型：某信息公司因 ES 数据库公网端口未及时关闭，导致核心数据暴露泄露，企业及相关责任人合计被罚 18 万元，成为企业级搜索安全失范的深刻警示。此前，北京市网信办也曾对三家企业作出行政处罚，经查实，这三家企业部署的 Easysearch 数据库存在未授权访问漏洞，造成部分数据泄露，最终被分别处以警告、罚款，相关责任人也受到相应处罚。此外，国外类似事件也屡见不鲜，法国曾发生超 9500 万条公民数据被公开的事件，涉事数据库为开放的 Elasticsearch 服务器，无需授权即可访问，数据涵盖姓名、电话号码等核心信息; 美国数据经纪公司 LexisNexis 也曾发生信息泄露，超 36.4 万人的个人敏感信息被黑客通过第三方平台获取，涉及社会安全号码、驾驶执照号码等内容。
针对这一行业痛点，极限数据 (北京) 科技有限公司近日正式发布 Easysearch 企业级搜索全链路安全解决方案，以 100% 自主可控技术架构，从部署隔离、加密防护、合规审计三大维度，破解企业级搜索“裸奔”风险，为关键行业数据安全筑牢防线。
一、频发泄露事件敲响警钟：企业级搜索成数据安全高危场景</description></item><item><title>Easysearch BKD Merge 异常排查实录：最终定位到旧版 GraalVM JIT 运行时</title><link>https://infinilabs.cn/blog/2026/easysearch-bkd-merge-root-cause-graalvm-jit/</link><pubDate>Thu, 02 Apr 2026 12:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch-bkd-merge-root-cause-graalvm-jit/</guid><description>最近一次高并发写入压测中，我们遇到了一个非常诡异的 BKD merge 崩溃。从报错看，很像 Easysearch 2.1.2 在 merge 阶段把 segment 读成了错误状态。典型错误是这样的：
java.lang.ArrayIndexOutOfBoundsException: Index -3 out of bounds for length 8 java.lang.ArrayIndexOutOfBoundsException: Index -4 out of bounds for length 8 异常栈最终落在 Lucene BKD 相关路径上：
BKDReader.readNodeData() BKDWriter.merge() Lucene90PointsWriter.merge() 如果只看栈，很容易把问题归到 Easysearch 的 BKD merge 逻辑。但排查到最后，结论恰恰相反。
问题不在 Easysearch 的代码，而在 JDK 运行时。 更精确地说，是某个特定 Oracle GraalVM 21 构建中的 JVMCI/Graal JIT 路径，把 Lucene BKD 的热点代码执行错了。
为什么这个问题难查 # 它有几个特别迷惑人的特征：
只在高并发写入压测下触发 服务重启后的前几轮最容易复现 同一进程里，删了索引重新压，后面复现率反而下降 不是固定字段，多个数字类型字段都中过招 ZSTD 和 best_compression 两种 codec 下都能复现 实际命中过的字段包括 @timestamp、size、status、_seq_no。所以这不是某个字段、某种 codec 或某个 mapping 的偶发问题。</description></item><item><title>INFINI Labs 产品更新 | Easysearch 2.1.0 新增高性能 Rules 规则引擎插件,数据探索 Discover 等</title><link>https://infinilabs.cn/blog/2026/release-20260316/</link><pubDate>Mon, 16 Mar 2026 17:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/release-20260316/</guid><description>INFINI Easysearch v2.1.0 发布：新增 Rules 规则引擎（百万级规则、复杂表达式、自动同步恢复）与 形态学分析插件（俄语/英语词形还原，提升搜索召回率）；审计日志支持动态用户审计，UI 新增日志查看、配置及数据探索页面，运维更高效。INFINI Console、Gateway、Agent、Loadgen v1.30.3 统一基于 Framework 升级，优化本地磁盘队列数据消费。详情见 Release Notes。
Easysearch v2.1.0 # INFINI Easysearch 是一个分布式的搜索型数据库，实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch，同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
Easysearch 本次更新如下：
🚀 功能特性 (Features) # 新增 Rules 规则引擎插件，提供高性能的规则匹配能力 支持 linux-x64 和 linux-aarch64 架构 支持 Ingest Pipeline 集成，数据写入时自动匹配规则并添加标签 支持复杂的规则表达式（AND/OR/NOT、near、正则、数值范围等） 支持百万级规则库，匹配性能是传统方案的上百倍。 支持多节点集群自动同步和广播编译规则 节点启动时自动同步缺失的规则库 规则库同步期间自动保护写入，确保规则完整性 本地元数据文件持久化记录编译历史，支持规则库文件丢失后的自动恢复 新增形态学分析插件（analysis-morphology），支持俄语和英语的形态分析 精准还原：基于词典将动词时态、名词格位等还原为标准原型（如 went → go） 词元扩展：同时索引原词与关联词根（如runner → runner, run），实现智能搜索匹配 高召回率：解决俄语复杂的变格与变位搜索难题，确保不同语法形式下均能精准检索 审计日志新增动态指定用户进行审计的功能 UI 插件新增如下能力 支持审计日志在线查看 支持审计日志模块动态配置 新增数据探索页面 ✈️ 改进优化 (Improvements) # 将“结巴”分词插件日志迁移至 Log4J，并降低周期性任务的日志级别以减少冗余 🐛 问题修复(Bug Fixes) # 修复少量 UI 界面操作问题 Console v1.</description></item><item><title>Easysearch ZSTD 基准测试：高压缩率下实现近 5 倍查询吞吐</title><link>https://infinilabs.cn/blog/2026/easysearch_zstd_query_throughput_advantage/</link><pubDate>Sun, 15 Mar 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/easysearch_zstd_query_throughput_advantage/</guid><description>在搜索引擎领域，压缩算法的选择一直是一个经典的权衡难题：
选择高压缩率（如 best_compression / DEFLATE），磁盘省了，但查询解压慢； 选择高速编码（如默认 LZ4），查询快了，但磁盘占用大。 Easysearch 引入了基于 JDK 21 FFM（Foreign Function &amp;amp; Memory API） 直连本地 ZSTD 动态库的加速方案，试图打破这一困局。为了验证效果，我们在完全对等的环境下，对 Easysearch（ZSTD）和 Elasticsearch 7.10.2（best_compression）进行了一次严格的查询吞吐对比测试。
结果令人振奋——即使在系统明显背景负载下，Easysearch 也没有因为高压缩而变慢，反而在查询吞吐上实现了近 5 倍提升。
测试环境 # 为确保对比公平，两套集群的硬件资源、JVM 配置、数据规模、索引结构完全对齐：
配置项 Easysearch Elasticsearch 7.10.2 节点数 3 3 JVM 堆内存 12GB × 3 12GB × 3 node.processors 16 × 3 16 × 3 文档数 10,000,000 10,000,000 主分片 / 副本 3 / 0 3 / 0 数据类型 nginx 访问日志 nginx 访问日志 字段数 17 17 mapping 完全一致（MD5 校验） 完全一致（MD5 校验） Stored fields 压缩模式 ZSTD (JDK21 FFM/native, level=3) best_compression (DEFLATE) 压缩机制对比：best_compression 映射到 Lucene BEST_COMPRESSION；在 stored fields 路径上，压缩实现为 DeflateWithPresetDictCompressionMode，内部使用 java.</description></item><item><title>极限科技开源赞助计划：欢迎开源项目申请支持</title><link>https://infinilabs.cn/blog/2026/2026-03-06-infinilabs-opensource-sponsorship-program/</link><pubDate>Fri, 06 Mar 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/2026-03-06-infinilabs-opensource-sponsorship-program/</guid><description>开源改变了软件世界。
从操作系统到数据库，从编程语言到云原生基础设施，几乎所有现代技术栈的核心，都来自开源社区的长期积累。很多优秀的项目，往往由少数开发者在业余时间维护，却支撑着无数企业和产品。
作为一家长期深耕技术基础设施的公司，极限科技（INFINI Labs）一直是开源生态的受益者，同时我们也希望成为开源社区的建设者。
因此，我们正式启动 INFINI Labs 开源赞助计划，为优秀的开源项目提供支持。
为什么要做这件事 # 极限科技从成立之初，就深度参与开源生态。
在我们的 GitHub 组织：
https://github.com/infinilabs
目前已经发布了多个开源项目，涵盖搜索基础设施、开发框架、运维工具等多个方向，例如：
开源基础设施 # INFINI Gateway 高性能数据网关，可作为 Elasticsearch、OpenSearch 等搜索服务的统一入口，用于流量治理、访问控制和数据处理等场景。
INFINI Console 用于管理多个搜索集群的轻量级管理工具。
INFINI Framework 一个轻量级 Golang 应用框架，用于构建高性能服务。
INFINI Loadgen 用于 API 压力测试和性能评估的工具。
开源社区项目 # IK Analysis Plugin Elasticsearch / OpenSearch 生态中广泛使用的中文分词插件之一。
Pinyin Analysis Plugin Elasticsearch / OpenSearch 的中文拼音分词插件，支持中文转拼音、首字母提取等功能。
Coco AI 一款开源的 AI 搜索与知识库工具，支持私有化部署，帮助企业快速构建智能搜索能力。
与此同时，我们也在持续研发新的技术产品，例如：</description></item><item><title>捷报传来！极限科技 Coco AI 团队荣获第二届“兴智杯”总决赛二等奖</title><link>https://infinilabs.cn/blog/2026/cocoai-team-won-the-second-prize-in-the-second-xingzhi-cup-competition/</link><pubDate>Fri, 13 Feb 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/cocoai-team-won-the-second-prize-in-the-second-xingzhi-cup-competition/</guid><description>2025 年 12 月，第二届“兴智杯”全国人工智能创新应用大赛总决赛在深圳顺利举办，本次大赛以“兴智赋能，创新引领”为主题，吸引了海内外 6000 余支团队、1.8 万余人踊跃参与，汇聚了人工智能领域的顶尖力量，上演了一场高水平的技术与创新比拼。
作为本次大赛的核心赛道之一，“基于国产软件栈的创新应用赛”聚焦国产人工智能生态构建，重点考察参赛作品的国产化适配能力、技术创新性及行业落地价值，成为众多参赛团队角逐的焦点。总决赛期间，各参赛团队同台竞技、各展所长，通过方案阐述、现场答辩等环节，全面展现人工智能技术在实际场景中的创新应用成果，竞争尤为激烈。
凭借深厚的技术积累、创新的解决方案以及出色的现场表现，极限数据（北京）科技有限公司 Coco AI 团队在众多参赛队伍中脱颖而出，在“基于国产软件栈的创新应用赛”中斩获大赛总决赛二等奖，用实力诠释了在人工智能国产应用领域的专业素养与创新能力。
Coco AI 团队的参赛作品深度依托国产软件栈，结合自身技术优势，打造了贴合行业实际需求的人工智能解决方案，既彰显了国产软硬件的应用价值，也为人工智能技术的国产化落地提供了有益参考。此次获奖，是对团队技术创新与实践能力的高度认可，更是极限科技在人工智能领域深耕细作、助力国产AI生态发展的有力见证。
此次“兴智杯”大赛为人工智能领域的创新者搭建了交流展示、切磋提升的优质平台，有效推动了人工智能技术与各行业的深度融合，加速了国产人工智能解决方案的落地应用。未来，极限科技 Coco AI 团队将以此为契机，持续深耕人工智能领域，加大国产化技术研发投入，不断突破创新，推出更多优质的国产化人工智能产品与解决方案，为我国人工智能产业高质量发展贡献力量。
相关链接：
第二届&amp;quot;兴智杯&amp;quot;全国人工智能创新应用大赛官网 第二届“兴智杯”全国人工智能创新应用大赛软硬件创新生态主题赛获奖名单公示</description></item><item><title>探索低空经济“关键一跃” —— 技术如何驱动商业落地线上研讨会圆满举办</title><link>https://infinilabs.cn/blog/2026/low-altitude-economy-key-leap-tech-driven-commercialization-webinar-held/</link><pubDate>Fri, 30 Jan 2026 17:35:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/low-altitude-economy-key-leap-tech-driven-commercialization-webinar-held/</guid><description>来源：搜狐《探索低空经济“关键一跃”——技术如何驱动商业落地线上研讨会圆满举办 》
链接：https://www.sohu.com/a/981917933_121314057
发表日期：2026-01-30 17:35
2026 年 1 月 29 日下午 14:30-15:30，由极限科技联合 IT168、青云科技共同主办的线上研讨会“低空经济的关键一跃：如何从技术突破到商业落地？”成功举办。活动聚焦低空经济发展现状、技术挑战与商业路径，进行了深入探讨。来自无人机、智慧城市、物流运输、技术解决方案与投资领域的专业人士云端相聚，线上交流氛围热烈、互动积极。
随着国家“十四五”规划将低空经济明确列为战略性新兴产业，无人机物流、城市空中交通（UAM）、应急救援、智慧巡检等应用场景正加速从试点走向规模化，2025 年也因此被业界称为“低空经济元年”。然而，产业的腾飞仍面临空域管理精细化、基础设施网络化、技术标准统一化及商业模式可持续化等多重挑战。本次研讨会旨在汇聚行业智慧，共同探索切实可行的发展路径，助推低空经济跨越从技术验证到大规模商用的关键门槛。
本次研讨会由 IT168 企业总编陶然主持，特邀极限科技联合创始人曾嘉毅与青云科技华东区域架构总监樊华作为主讲嘉宾，分别从云计算架构与数据智能平台的角度，分享了对于低空经济系统构建中关键技术支撑与落地实践的深刻洞察。
极限科技联合创始人曾嘉毅则从数据智能的角度切入，他指出，低空经济的真正规模化与智能化，离不开高效、实时、精准的数据处理与分析能力。他以极限科技参与建设的“低空飞行综合服务管理平台”为例，详细阐释了如何通过构建以 Easysearch 分布式搜索引擎为核心的数据智能中枢，实现对区域内广泛航空器的实时监控、轨迹回溯、冲突预警与任务智能分析。
曾嘉毅介绍，该平台能够融合处理飞行轨迹、设备状态、任务信息及各类载荷数据（如高清影像、LiDAR 点云等），并通过强大的实时检索与地理空间分析能力，为空域管理、设施运维、安全管控与商业决策提供秒级响应支持，显著提升了运营效率与系统安全性。他强调，统一、智能的数据平台是整合低空经济“车、路、云、网、图”各要素，实现安全、高效、协同运营的关键技术纽带。
在随后的深度讨论环节，嘉宾与线上观众围绕以下核心议题展开了富有建设性的交流：
低空经济产业图谱与价值链：深入剖析了从上游的飞行器制造、中游的运营服务与数据平台、到下游的多元应用场景的全产业链布局，共同强调了数据作为核心生产要素，在提升中后端服务价值与效率中的关键作用。
无人机与城市空中交通技术演进：探讨了包括 eVTOL（电动垂直起降飞行器）、无人机集群智能控制、高精度导航与避障、高带宽低延迟通信等前沿技术的发展趋势、融合路径与当前面临的主要集成挑战。
低空基础设施建设现状与展望：不仅关注起降场、能源补给网络、通信导航覆盖等“硬基建”的规划与建设，也深入讨论了空域动态管理、数字孪生系统、法规监管平台等“软基建”的协同发展路径与必要性。
商业化案例与可持续模式探索：结合物流配送、电力巡检、城市安防、文旅航拍等具体场景，分享了如何利用数据驱动运营流程优化、风险动态评估与定价、以及开拓新的商业增长点的实际案例与创新商业模式思考。
政策法规与标准体系构建：解读当前低空空域管理改革的政策动向，探讨了在安全红线内促进产业创新的平衡之道，并呼吁产业链各方携手，共同推进技术、运营、安全等领域的标准化进程，为产业规范化、规模化发展奠定基石。
与会专家与观众普遍形成共识：低空经济的全面爆发，有赖于技术成熟度、政策配套完善度与商业模式闭环能力三者的同步推进与良性互动。而构建一个能够贯通数据、赋能决策、保障安全的统一智能数据平台，正日益成为整合产业资源、实现安全高效协同运营不可或缺的“数字底座”。
本次研讨会在热烈的云端互动中圆满结束。活动不仅为行业奉献了一场思想盛宴，也为低空经济从局部突破迈向全面商业落地提供了有价值的实践参考与方向指引。极限科技表示，将持续深耕搜索与大数据核心技术，与产业伙伴一道，共同助推中国低空经济高质量发展。</description></item><item><title>探索低空经济“关键一跃” —— 技术如何驱动商业落地线上研讨会圆满举办</title><link>https://infinilabs.cn/blog/2026/low-altitude-economy-how-to-move-from-technological-breakthroughs-to-commercial-implementation/</link><pubDate>Fri, 30 Jan 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/low-altitude-economy-how-to-move-from-technological-breakthroughs-to-commercial-implementation/</guid><description>2026年1月29日 下午 14:30 - 15:30，由极限科技联合 IT168、青云科技共同主办的线上研讨会“低空经济的关键一跃：如何从技术突破到商业落地？”成功举办。活动聚焦低空经济发展现状、技术挑战与商业路径，进行了深入探讨。来自无人机、智慧城市、物流运输、技术解决方案与投资领域的专业人士云端相聚，线上交流氛围热烈、互动积极。
扫码观看直播回放 随着国家“十四五”规划将低空经济明确列为战略性新兴产业，无人机物流、城市空中交通（UAM）、应急救援、智慧巡检等应用场景正加速从试点走向规模化，2025年也因此被业界称为“低空经济元年”。然而，产业的腾飞仍面临空域管理精细化、基础设施网络化、技术标准统一化及商业模式可持续化等多重挑战。本次研讨会旨在汇聚行业智慧，共同探索切实可行的发展路径，助推低空经济跨越从技术验证到大规模商用的关键门槛。
本次研讨会由 IT168 企业总编陶然主持，特邀 极限科技联合创始人曾嘉毅 与青云科技华东区域架构总监樊华作为主讲嘉宾，分别从云计算架构与数据智能平台的角度，分享了对于低空经济系统构建中关键技术支撑与落地实践的深刻洞察。
极限科技联合创始人曾嘉毅则从数据智能的角度切入，他指出，低空经济的真正规模化与智能化，离不开高效、实时、精准的数据处理与分析能力。他以极限科技参与建设的“低空飞行综合服务管理平台”为例，详细阐释了如何通过构建以 Easysearch 分布式搜索引擎为核心的数据智能中枢，实现对区域内广泛航空器的实时监控、轨迹回溯、冲突预警与任务智能分析。
曾嘉毅介绍，该平台能够融合处理飞行轨迹、设备状态、任务信息及各类载荷数据（如高清影像、LiDAR 点云等），并通过强大的实时检索与地理空间分析能力，为空域管理、设施运维、安全管控与商业决策提供秒级响应支持，显著提升了运营效率与系统安全性。他强调，统一、智能的数据平台是整合低空经济“车、路、云、网、图”各要素，实现安全、高效、协同运营的关键技术纽带。
在随后的深度讨论环节，嘉宾与线上观众围绕以下核心议题展开了富有建设性的交流：
低空经济产业图谱与价值链：深入剖析了从上游的飞行器制造、中游的运营服务与数据平台、到下游的多元应用场景的全产业链布局，共同强调了数据作为核心生产要素，在提升中后端服务价值与效率中的关键作用。
无人机与城市空中交通技术演进：探讨了包括 eVTOL（电动垂直起降飞行器）、无人机集群智能控制、高精度导航与避障、高带宽低延迟通信等前沿技术的发展趋势、融合路径与当前面临的主要集成挑战。
低空基础设施建设现状与展望：不仅关注起降场、能源补给网络、通信导航覆盖等“硬基建”的规划与建设，也深入讨论了空域动态管理、数字孪生系统、法规监管平台等“软基建”的协同发展路径与必要性。
商业化案例与可持续模式探索：结合物流配送、电力巡检、城市安防、文旅航拍等具体场景，分享了如何利用数据驱动运营流程优化、风险动态评估与定价、以及开拓新的商业增长点的实际案例与创新商业模式思考。
政策法规与标准体系构建：解读当前低空空域管理改革的政策动向，探讨了在安全红线内促进产业创新的平衡之道，并呼吁产业链各方携手，共同推进技术、运营、安全等领域的标准化进程，为产业规范化、规模化发展奠定基石。
与会专家与观众普遍形成共识：低空经济的全面爆发，有赖于技术成熟度、政策配套完善度与商业模式闭环能力三者的同步推进与良性互动。而构建一个能够贯通数据、赋能决策、保障安全的统一智能数据平台，正日益成为整合产业资源、实现安全高效协同运营不可或缺的“数字底座”。
本次研讨会在热烈的云端互动中圆满结束。活动不仅为行业奉献了一场思想盛宴，也为低空经济从局部突破迈向全面商业落地提供了有价值的实践参考与方向指引。极限科技表示，将持续深耕搜索与大数据核心技术，与产业伙伴一道，共同助推中国低空经济高质量发展。</description></item><item><title>极限科技荣膺 2025 金猿奖 — “年度国产化优秀代表厂商”，自主可控搜索方案 Easysearch 获行业高度认可</title><link>https://infinilabs.cn/blog/2026/infinilabs-wins-the-2025-golden-ape-award/</link><pubDate>Fri, 16 Jan 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/infinilabs-wins-the-2025-golden-ape-award/</guid><description>近日于上海明捷万丽酒店成功举办的 “2025 第八届金猿大数据产业发展论坛 — 暨 AI Infra &amp;amp; Data Agent 趋势论坛” 大会上，极限数据（北京）科技有限公司（以下简称“极限科技”） 凭借其在分布式搜索引擎领域的技术突破与卓越的国产化实践，成功入选《2025 中国大数据产业「年度国产化优秀代表厂商」》榜单，并获颁这一行业重磅奖项。
本届论坛由金猿组委会、数据猿、上海市数商协会及上海大数据联盟联合主办，以“数据有猿·智见十年”为主题，吸引了近千家企业参与申报。经过严格的初审、公审与终审交叉验证机制，极限科技最终从众多竞争者中脱颖而出，荣登榜单。
深耕核心搜索技术，填补国产化空白 # 极限科技成立于 2021 年 12 月，是一家专注于大数据搜索与分析的基础软件公司。公司总部位于北京，在长沙设立研发中心，并在上海、广州设立办事处或服务中心。其核心团队均来自 Elasticsearch 原厂及中文社区，拥有多年 ES 源码开发经验，致力于“让搜索更简单”，打造极致易用的数据探索与分析体验。
公司自主研发的核心产品 Easysearch 搜索型数据库，是我国在分布式搜索引擎领域实现关键国产化替代的代表性成果。该产品精准填补了国内在轻量化、高性能、自主可控搜索引擎方面的市场空白。
产品性能卓越，实现无缝迁移与超越 # Easysearch 支持结构化与非结构化数据检索、全文检索、向量检索、空间地理位置信息检索、多模态混合检索、组合查询、多语种支持、语义分析、聚合分析等多种核心功能。测试表明，其性能已达到甚至优于国外领先产品。
在产品能力上，Easysearch 不仅完全兼容 Elasticsearch 的生态接口，保障了用户业务的无缝平滑迁移，更在性能优化、存储效率、企业级安全及原生中文处理等方面实现了显著超越。其内置的 Web 管理控制台、全面的数据加密与权限管控功能，提供了开箱即用的企业级体验。
构建完整信创生态 # 尤为关键的是，Easysearch 率先完成了与国产主流 CPU（如鲲鹏、飞腾、海光、龙芯、申威、兆芯等）和操作系统（如统信 UOS、银河麒麟、开源欧拉等）的深度适配与互认证，构建了完整的信创技术栈支持能力，彻底解决了国外产品在国产化环境下兼容性差、维护困难、更新受限等长期存在的痛点。
在核心技术国产化意义上，Easysearch 通过完全自主可控的分布式搜索技术体系，突破了关键基础软件依赖国外企业的局面，满足了政府、金融、能源、运营商等行业对“可控、安全、可替代”的战略需求。同时，其向量搜索和 AI 检索能力填补了国内在智能搜索与大模型结合领域的技术缺口。
获权威资质认可，落地众多头部客户 # 极限科技及 Easysearch 已获得多项权威资质认证，包括国家高新技术企业、ISO 三大管理体系认证，并荣获 2023 年星河案例数据库标杆案例。产品亦通过了信通院基础能力专项测评及中国泰尔实验室检验测试。
目前，Easysearch 已在金融、运营商、制造、政企等多领域实现规模化落地，服务客户包括移动云、中国一汽、中国人保、东莞证券、航天信息等头部企业，累计下载部署量已超过 500 万次。其中，公司开发的中文分词器（IK、Pinyin）、压测工具（Loadgen）、数据迁移工具（ESM）已被 85% 的中国 Elasticsearch 用户部署在生产环境中。
荣获行业大奖，彰显标杆价值 # 此次荣获 “年度国产化优秀代表厂商” 奖项，不仅是行业对极限科技技术实力与国产化贡献的高度认可，更彰显了公司在推动大数据产业自主创新进程中的标杆作用。</description></item><item><title>极限科技 Coco AI 荣获 2025 IT168 技术卓越奖 - 创新产品奖</title><link>https://infinilabs.cn/blog/2026/coco-ai-wins-the-2025-it168-innovative-product-award/</link><pubDate>Tue, 13 Jan 2026 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2026/coco-ai-wins-the-2025-it168-innovative-product-award/</guid><description>北京，2026 年 1 月 —— 在由 IT168 主办的“2025 年度技术卓越奖”评选中，极限数据（北京）科技有限公司（简称：极限科技）的人工智能产品 Coco AI 凭借其创新的技术架构与突出的市场实践，荣获 “创新产品奖”。该奖项旨在表彰在 AI、大数据、云计算等领域实现关键突破、具备显著应用价值与市场潜力的产品与解决方案。
奖项与产品信息 # 获奖企业：极限数据（北京）科技有限公司
获奖产品：Coco AI – 统一搜索与 AI 智能助手
产品官网：https://coco.rs/zh
开源地址：https://github.com/infinilabs/coco-app
评选榜单：https://zt.itpub.net/topic/jishuzhuoyue251215
关于 Coco AI # Coco AI 是极限科技推出的一款 完全开源、可私有部署的统一搜索与 AI 智能助手系统，专为企业打造。它致力于解决企业数据分散、信息孤岛严重、数据敏感及知识沉睡等核心痛点。
统一搜索：通过连接本地文件、云存储（S3）、知识库、代码仓库（GitHub）、协作平台（Notion、语雀）、MySQL、MongoDB 等异构数据源，提供跨平台的一站式搜索体验。 AI 赋能：深度融合主流大模型能力，支持语义搜索、自然语言问答、智能推荐，并构建个性化知识图谱，激活企业沉睡数据。 安全可控：支持企业级权限管理、数据脱敏与加密，可完全私有化部署，确保数据安全合规。 灵活扩展：采用 MCP 架构，支持模型动态调用外部工具，无需修改核心代码即可灵活扩展 AI 应用场景。 目前，Coco AI 已在多个行业场景中落地，帮助企业构建“智能知识中枢”，提升信息获取效率与决策协作水平。
获奖理由 # IT168 技术卓越奖评审委员会认为，Coco AI 的获奖主要基于以下几点：
技术创新：将企业搜索、RAG、知识图谱与大模型能力深度融合，构建了面向真实业务场景的“搜索+AI”一体化平台，技术路径清晰且具备前瞻性。 开源开放：产品完全开源并支持私有化部署，为企业提供了兼顾自主可控与成本效益的 AI 搜索解决方案，对推动基础软件与 AI 应用生态繁荣具有积极意义。 实践价值：已在多个行业完成从技术验证到规模化应用的跨越，帮助企业将分散的知识资产转化为可复用的生产力，在“技术实效”上表现突出。 团队声音 # 极限科技总经理、Coco AI 项目负责人曾勇表示：</description></item><item><title>APM（三）：监控 Python 服务链</title><link>https://infinilabs.cn/blog/2025/integrating-skywalking-with-easysearch-part3/</link><pubDate>Wed, 31 Dec 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/integrating-skywalking-with-easysearch-part3/</guid><description>上一篇我们通过 Skywalking 监控了一个单体的 Python Flask 服务，并在 Skywalking 的 Web UI 中进行展示。这次我们再写一个服务 BService，调用上次创建的 AService，看看在 Skywalking 中的效果如何。
启动后端服务 # 先启动好后端服务，包括 Skywalking 和 Easysearch。启动完成后能通过 Web UI 访问 Skywalking。
构建 Python 服务 BService # 我们编写一个简单的 BService 服务程序，只要访问 localhost:8082/b 就会调用 AService 并返回相关信息。
from flask import Flask import requests app = Flask(__name__) SERVICE_A_URL = &amp;#39;http://localhost:8081/a&amp;#39; @app.route(&amp;#39;/b&amp;#39;, methods=[&amp;#39;GET&amp;#39;]) def call_service_a(): response = requests.get(SERVICE_A_URL) if response.status_code == 200: return f&amp;#34;Hello, I&amp;#39;am Server B and {response.text} from Service A&amp;#39; else: return &amp;#39;Error calling Service A&amp;#39; if __name__ == &amp;#39;__main__&amp;#39;: app.</description></item><item><title>INFINI Labs 产品更新 | Coco AI v0.10 × Easysearch v2.0 联袂上线：UI 全面重构，体验焕然一新</title><link>https://infinilabs.cn/blog/2025/release-20251219/</link><pubDate>Fri, 19 Dec 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20251219/</guid><description>此次更新主要包括 Coco AI v0.10.0 更换全新的 UI 组件，服务端新增 milvus 和 dropbox 连接器；Easysearch v2.0.2 正式发布， 新增嵌入文档语义搜索，优化内置 UI 响应速度，无需依赖 Kibana，实现集群“开箱即管”；INFINI Console、Gateway、Agent、Loadgen v1.30.1 统一基于 Framework v1.4.0 升级，优化本地磁盘队列数据消费。详情见 Release Notes。
Coco AI 0.10 # Coco AI 是一款完全开源、跨平台的企业级智能搜索与助手系统，专为现代企业打造。它通过统一搜索入口，连接企业内外部的异构数据源，融合大模型能力，帮助团队高效访问知识，智能决策协作。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 0.10 # 🚀 功能特性 (Features) # 扩展程序 UI 支持可调整窗口大小 添加打开按钮以启动已安装的扩展程序 ✈️ 改进优化 (Improvements) # 将应用程序和文件搜索视为普通扩展 通过深度链接安装扩展失败时，显示错误消息（而非错误代码） 用 shadcn/ui 组件替换旧组件 🐛 问题修复(Bug Fixes) # 修复输入框高度异常问题 为 Extension.</description></item><item><title>Easy-Es 2.1.0-easysearch 版本发布</title><link>https://infinilabs.cn/blog/2025/easy-es-2.1.0-easysearch-release/</link><pubDate>Mon, 15 Dec 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easy-es-2.1.0-easysearch-release/</guid><description>版本更新概述 # 经过极限科技与 Dromara 开源社区下 Easy-Es 项目的紧密合作与共同努力，我们很荣幸地联合推出 Easy-Es 2.1.0-easysearch 版本！
作为双方携手打造的第一个合作成果，本版本已正式发布：
源码仓库：https://gitee.com/dromara/easy-es/tree/easy-es4easySearch/ Maven 依赖：https://mvnrepository.com/artifact/org.dromara.easy-es/easy-es-boot-starter/2.1.0-easysearch 本次更新的核心内容是将 Easy-Es 框架底层增加兼容极限科技自主研发的 Easysearch 搜索引擎，这标志着国产搜索引擎与国内优秀开源项目深度融合的重要里程碑，是极限科技与 Dromara 社区携手共建国产技术生态的创新实践。
迁移至 Easysearch 的背景与优势 # 随着国内对自主可控技术需求的日益增长，特别是在基础设施软件领域，企业对于信创合规的要求不断提升。极限科技自主研发的 Easysearch 搜索引擎具备以下显著优势：
国产化自主可控：完全自主研发，符合信创要求，无许可证风险，为企业提供安全可靠的技术保障 轻量级架构：相比传统搜索引擎，资源占用更少，启动更快速，显著降低企业运维成本 卓越性能表现：查询性能优异，能够满足大部分业务场景需求，用户体验流畅 良好兼容性：与 Elasticsearch 的 API 接口基本兼容，迁移成本较低，保护用户现有投资 基于以上优势，双方决定共同将 Easy-Es 框架底层迁移至 Easysearch，这不仅为用户提供更多选择，更是双方携手推动国产搜索引擎生态建设的重要举措。
Easy-Es 框架优势 # Easy-Es 框架在搜索开发领域具备以下核心优势：
极简代码开发：相比原生 API 可减少 50%-80% 的代码量，大幅提升开发效率。 // 使用 Easy-Es 仅需一行代码完成查询 List&amp;lt;Document&amp;gt; documents = documentMapper.selectList( EsWrappers.lambdaQuery(Document.class).eq(Document::getTitle, &amp;#34;测试&amp;#34;) ); 自动索引管理： 框架提供全自动智能索引托管功能，开发者无需关心索引的创建、更新及数据迁移等复杂操作，索引全生命周期由框架自动管理，过程零停机。</description></item><item><title>APM（二）：监控 Python 服务</title><link>https://infinilabs.cn/blog/2025/integrating-skywalking-with-easysearch-part2/</link><pubDate>Fri, 12 Dec 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/integrating-skywalking-with-easysearch-part2/</guid><description>上一篇我们已经安装好了 Skywalking 和 Easysearch，这次我们来写个简单的 Python 服务，并把它的服务调用信息发送给 Skywalking，通过 Skywalking 的 Web UI 进行展示。
启动后端服务 # 先启动好后端服务，包括 Skywalking 和 Easysearch。启动完成后能通过 Web UI 访问 Skywalking。
构建 Python 服务 # 我们编写一个简单的 Flask 服务程序，只要访问 localhost:8081/a 就会返回 &amp;ldquo;Hello, I&amp;rsquo;m Service A!&amp;rdquo; 信息。
from flask import Flask app = Flask(__name__) @app.route(&amp;#39;/a&amp;#39;, methods=[&amp;#39;GET&amp;#39;]) def service_b(): return &amp;#34;Hello, I&amp;#39;m Service A!&amp;#34; if __name__ == &amp;#39;__main__&amp;#39;: app.run(host=&amp;#39;0.0.0.0&amp;#39;, port=8081) 运行前，要安装好依赖。
pip3 install flask pip3 install apache-skywalking 依赖关系展示如下：
设置环境变量 # 为了让服务能成功把相关信息发送到 Skywalking 后端，启动前我们还要设置两个环境变量告诉服务程序该往哪里发送信息。</description></item><item><title>🔥 程序员爆哭！我们让 COCO AI 接管 GitLab 审查后，团队直接起飞：连 CTO 都说“这玩意儿比人靠谱多了”</title><link>https://infinilabs.cn/blog/2025/coco-support-ai-review-of-gitlab-merge-requests/</link><pubDate>Thu, 11 Dec 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/coco-support-ai-review-of-gitlab-merge-requests/</guid><description>我直接讲结论：
把 COCO AI 接入 GitLab 做自动代码审核之后，我们团队的开发效率被硬生生抬了一个时代。
没夸张。不是优化 10% 或 20%。是 ——
开发效率 x3
Bug 暴露率 x4
Review 时间 ÷10
更夸张的是，连我们 CTO 都说：
“这玩意儿比人审得狠，也比人稳定。”
程序员则在角落瑟瑟发抖：
“以前写代码是骗过人，现在要骗过神。”
今天我就把整个故事公开，让你看看真正的 AI 审查是什么狠劲。
01 ｜为什么你们团队的代码审查永远做不好？因为你们还在靠人。 # 你们团队是不是这样？
开发提个 MR，等两天没人看 Reviewer 随便扫一眼就点 Approve 线上事故后互相甩锅 业务压得 reviewer 根本没空认真审 新人写代码没人看，雷悄悄埋进去 老工程师被拉满，耗死在重复劳动里 别骗自己了，这不是“流程问题”。
这是 时代问题。
靠人审代码？
那是 2018 年的玩法。
现在是 AI 审代码 的时代。
谁先用，谁就是下一代团队。
02 ｜ COCO AI 接入 GitLab 后，第一天就把我们吓了一跳 # MR 刚发起，COCO AI 立刻跳出来：</description></item><item><title>APM（一）: Skywalking 与 Easyearch 集成</title><link>https://infinilabs.cn/blog/2025/integrating-skywalking-with-easysearch/</link><pubDate>Wed, 10 Dec 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/integrating-skywalking-with-easysearch/</guid><description>概述 # SkyWalking 是一个开源的可观测性平台，用于收集、分析、聚合和可视化服务和云原生基础设施的数据。SkyWalking 提供了一种简单的方法，即使在云之间也能保持对分布式系统的清晰视图。它是一个现代的 APM，专门为云原生、基于容器的分布式系统设计。
SkyWalking 涵盖了云原生世界中所有的可观测性需求，包括：
Tracing: SkyWalking 原生数据格式，以及 v1 和 v2 格式的 Zipkin 跟踪都得到支持。 Metrics: SkyWalking 支持成熟的指标格式，包括原生计量格式、OTEL 指标格式和 Telegraf 格式。SkyWalking 与服务网格平台（通常为 Istio 和 Envoy）集成，将可观测性构建到数据平面或控制平面。此外，SkyWalking 原生代理可以在指标模式下运行，从而显著提升性能。 Logging: 包括从磁盘收集或通过网络收集的日志。原生代理可以自动将追踪上下文与日志绑定，或使用 SkyWalking 通过文本内容绑定追踪和日志。 Profiling: Profiling 是一种强大的工具，帮助开发者从代码行角度理解应用程序的性能。SkyWalking 提供了内置于原生语言代理和独立的 eBPF 代理的剖析功能。 Event: 事件是一种特殊类型的数据，用于记录系统中的重要时刻，例如版本升级、配置变更等。将事件与指标关联有助于解释指标中的峰值或谷值，将事件与追踪和日志关联有助于排查根本原因。 更详细的信息请大家移步 Skywalking 官方网站。
测试环境 # 本篇使用的 Skywalking 版本是 10.2.0 ，需要 Java 11/17/21。
Easyearch 使用的版本是 1.14.1，需要开启 Elastic 兼容模式，具体操作参考 文档 。
生成 Java 密钥库文件 # 使用如下命令将 Easysearch 的 CA 证书（ca.</description></item><item><title>极限科技携企业搜索与 AI 搜索创新产品亮相 “2025 中国石油石化人工智能创新应用交流大会”</title><link>https://infinilabs.cn/blog/2025/infinilabs-appeared-at-2025-china-petrochemical-ai-innovation-conferency/</link><pubDate>Fri, 05 Dec 2025 15:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/infinilabs-appeared-at-2025-china-petrochemical-ai-innovation-conferency/</guid><description>北京，2025 年 12 月 3 日 —— 为积极响应国家“人工智能+”行动号召，推动人工智能技术与油气行业深度融合，由中国石油学会油气数字化智能化专业委员会、中国石油、中国石化、中国海油、国家管网、中国中化等中央企业数字化部门联合主办的“2025 中国石油石化人工智能创新应用交流大会”在北京隆重开幕。本次大会以“AI 赋能石油石化高质量创新发展”为主题，汇聚了众多两院院士、行业专家及领军企业，共同探讨人工智能在能源领域的创新应用与未来路径。作为专注于智能数据与分析领域的高新技术企业，极限科技（北京）科技有限公司（以下简称“极限科技”）受邀参会，并正式向行业展示其自主研发的两款核心产品 —— 企业搜索引擎 “ INFINI Easysearch” 与 企业 AI 搜索与智能中心 “ Coco AI”，旨在为石油石化行业的数字化转型与智能化升级提供坚实的技术底座和场景化解决方案。
在油气行业向数字化、智能化加速迈进的关键时期，如何高效挖掘、使用海量数据，并从中获取生产、运营与决策洞察，成为行业提质增效与绿色低碳转型的核心挑战。极限科技此次亮相的两款产品，正是针对这些痛点量身打造。
Easysearch：开启企业级数据 “智能检索” 新时代
面对石油石化企业内部分散、异构的海量数据资产（如地质勘探数据、生产实时数据、设备文档、研究报告等），传统检索方式效率低、准确性差。INFINI Easysearch 作为一款面向企业级场景的分布式搜索引擎，深度融合了自然语言处理和大模型技术，具备全文检索、AI 向量检索、语义检索能力，满足超大规模数据的复杂检索分析场景，并且特别加强了数据安全、隐私保护、审计及数据容灾等企业级功能。
Coco AI：打造“开箱即用”的全域搜索与企业智能中枢
Coco AI 致力于降低 AI 技术在石油石化复杂场景中的应用和落地门槛，其底层基于自研搜索型数据库（Easysearch），通过统一搜索入口，连接企业内外部的异构数据源，颠覆了企业访问和获取信息的方式和途径；支持私有化部署，保障数据安全，满足高安全、高合规场景需求（极端情况下可以离线使用）；融合大模型，构建智能助手，打造真正“会思考”的企业知识中枢；通过 MCP 方式串联 AI 应用，轻松实现能力扩展，优化公司及部门级 AI 应用流程。Coco AI 实现了企业内部数据、用户角色、模型调用、智能体之间的连接和流转，业务人员都可通过 Coco AI 的直观界面拖拽和配置数据、模型，快速构建和迭代 AI 智能体，加速“人工智能+”从理念到价值的转化。
会议期间，极限科技的展台吸引了大量与会专家、企业代表的驻足与深入交流。公司技术专家在现场通过实际案例演示，生动展现了 Easysearch 与 Coco AI 如何助力石油石化企业实现数据驱动的科研创新、智能化生产运营与科学化决策管理。
极限科技负责人表示：“我们非常荣幸能参与这一行业盛会。石油石化是国家能源安全的压舱石，其智能化转型需求迫切且场景丰富。极限科技将以 Easysearch 和 Coco AI 为核心，持续深耕能源行业，与产业链伙伴紧密合作，共同构建开放、协同的人工智能+应用生态，为行业的高质量发展与能源强国建设贡献科技力量”。
关于极限科技（INFINI Labs）
极限科技是一家专注于大数据搜索与分析的基础软件及 AI 应用的高科技创新企业。“极限科技”的名称，源于我们的口号：追求极致，无限可能。
搜索是连接人类生产生活与庞大数字世界的桥梁，搜索是一切数据驱动决策和智能应用的起点。作为国内为数不多的以搜索技术为核心的科技企业，我们确立了 “让搜索更简单、更智能” 的目标，并将 “简单、易用、极致、创新” 作为产品哲学的核心，以帮助大型企业及组织机构挖掘数据核心价值，驱动智能决策与业务创新。</description></item><item><title>Easysearch 2.0.0 性能测试</title><link>https://infinilabs.cn/blog/2025/easysearch-2.0.0-performance-improvements/</link><pubDate>Mon, 24 Nov 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-2.0.0-performance-improvements/</guid><description>概述 # Easysearch 2.0.0 正式版带来了显著的性能提升和优化改进。通过与上一个稳定版本 1.15.6 的全面对比测试，我们使用 esrally 基准测试工具在 append-no-conflicts 场景下进行了深入的性能评估。测试结果表明，2.0.0 版本在索引性能、查询延迟、内存管理等核心指标上都实现了突破性改进。
核心性能提升 # 1. 索引性能更加稳定 # 写入效率提升 12.81%
Easysearch 2.0.0 索引性能表现更加稳定：
累计索引 CPU 时间（所有主分片）：从 225.1 分钟缩短至 196.3 分钟，减少 28.8 分钟（-12.81%） 索引吞吐量： 平均吞吐量从 180,868 docs/s 提升至 190,712 docs/s（+5.44%） 最大吞吐量从 198,184 docs/s 提升至 220,460 docs/s（+11.24%） 最小吞吐量从 164,263 docs/s 提升至 178,961 docs/s（+8.95%） 累计索引 CPU 时间的减少，表明 2.0.0 版本在索引操作上更加高效，CPU 利用率更优。这意味着在相同硬件条件下，Easysearch 2.0.0 能够更快地完成数据摄入任务，对于需要处理大规模数据写入的场景具有重要意义。
Indexing Throughput (docs/s) - Higher is Better v1.</description></item><item><title>INFINI Labs 产品更新 | Coco AI v0.9 与 Easysearch v2.0 全新功能上线，全面支持 GitLab 合并请求（MR）自动 AI Review</title><link>https://infinilabs.cn/blog/2025/release-20251121/</link><pubDate>Fri, 21 Nov 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20251121/</guid><description>INFINI Labs 产品更新发布！此次更新主要包括：Coco AI v0.9 全面支持 GitLab 合并请求（MR）自动 AI Review，并重构为插件流水线架构，新增 Neo4j、MongoDB 等 10+ 数据源连接器，开启“AI+开发”协同新范式；Easysearch v2.0 正式发布，内置轻量级管理 UI，无需依赖 Kibana，实现集群“开箱即管”，Lucene 升级至 9.12.2，性能全面提升；INFINI Console、Gateway、Agent、Loadgen v1.30 统一基于 Framework v1.3 升级，全面支持 Easysearch 2.0 与 OpenSearch 3.x，新增百分比聚合、子目录代理等关键能力。详情见 Release Notes。
Coco AI v0.9 # Coco AI 是一款完全开源、跨平台的企业级智能搜索与助手系统，专为现代企业打造。它通过统一搜索入口，连接企业内外部的异构数据源，融合大模型能力，帮助团队高效访问知识，智能决策协作。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 v0.9 # 🚀 功能特性 (Features) # feat: 支持通过快捷键切换分组 #911 feat: 支持从设置页面打开日志文件夹 feat: 支持使用 home 和 end 键移动光标 feat: 支持使用 page up 和 page down 键移动选中条 feat: 规范化多级菜单的标签结构 feat: 当父插件类型为 Extension 时，搜索父插件可以搜到子插件 feat: 支持使用 modifier key 和回车对话 AI 助手 feat: 允许在光标位于开头时返回 feat(插件兼容性): 插件描述文件添加 minimum_coco_version 字段进行版本检查 feat: 实现紧凑窗口模式 feat: 实现设置项搜索延迟和本地搜索结果权重 feat: 添加主窗口透明度设置 feat: 添加从默认模式回答紧凑模式的延迟设置 ✈️ 改进优化 (Improvements) # refactor: 优化搜索结果的排序逻辑 #910 style: 为图片添加深色投影 #912 chore: 为 Web 组件添加跨域配置 #921 refactor: 若 AXUIElementSetAttributeValue() 失败则进行重试 #924 refactor(calculator): 若表达式为 &amp;ldquo;num =&amp;gt; num&amp;rdquo; 格式则跳过计算 #929 chore: 使用自定义日志目录 #930 chore: 将 tauri_nspanel 升级至 v2.</description></item><item><title>Coco AI 参选 Gitee 2025 最受欢迎开源软件！您的每一票，都是对中国开源的硬核支持</title><link>https://infinilabs.cn/blog/2025/coco-ai-gitee-activity-2025-opensource/</link><pubDate>Sun, 16 Nov 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/coco-ai-gitee-activity-2025-opensource/</guid><description>「 Gitee 2025 年度开源项目评选」火热进行中！
Coco AI 正在参加 Gitee 2025 最受欢迎的开源软件投票活动， 👉 快来给我投票吧！一起见证中国开源力量，谢谢你宝贵的一票！
扫码 or 点击 直达链接，进入投票页面 投票直达链接：https://gitee.com/activity/2025opensource?ident=IEZ3FS
🥥 什么是 Coco AI # Coco AI 是 极限科技（INFINI Labs） 重磅推出一款完全开源、跨平台的企业级智能搜索与助手系统，专为现代企业打造。它通过统一搜索入口，连接企业内外部的异构数据源，融合大模型能力，帮助团队高效访问知识，智能决策协作。
Coco 官网：https://coco.rs
Gitee 主页：https://gitee.com/infinilabs/coco-app (来个 Star ⭐️ 吧)
Coco Demo 视频：
.aspect-ratio { position: relative; width: 100%; height: 0; padding-bottom: 75%; } .aspect-ratio iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; } 👉 快来给我投票吧！麻烦大家动动发财手，支持一下，谢谢！！！</description></item><item><title>⚡ 闪电直播 - INFINI Demo Show</title><link>https://infinilabs.cn/blog/2025/infini-demo-show/</link><pubDate>Tue, 04 Nov 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/infini-demo-show/</guid><description>本活动由 极限科技（INFINI Labs）组织举办，旨在让大家在 30 分钟内快速了解 INFINI Labs 最新产品动态与使用技巧。
活动将在每双周周二下午 17:00 准时开始，每期由不同的 INFINI Labs 产研同学参与分享，没有花哨的 PPT，直接上手 Demo 演示实战。
分享话题涵盖：
Easysearch Coco AI Pizza INFINI Cloud INFINI Gateway INFINI Console INFINI Loadgen More 📢 下期预告
时间：2025-11-18 17:00 ~ 17:30
直播地址：极限实验室视频号
活动详情：https://infini.yuque.com/infini/products/em17dnves2s6yz31
欢迎关注极限实验室视频号进行预约和观看回放视频。</description></item><item><title>搜索百科（6）：Meilisearch — Rust 打造的轻量级搜索新锐</title><link>https://infinilabs.cn/blog/2025/search-wiki-6-meilisearch/</link><pubDate>Fri, 31 Oct 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/search-wiki-6-meilisearch/</guid><description>大家好，我是 INFINI Labs 的石阳。
欢迎关注 《搜索百科》 专栏！每天 5 分钟，带你速览一款搜索相关的技术或产品，同时还会带你探索它们背后的技术原理、发展故事及上手体验等。
在之前的几期中，我们认识了搜索技术的基石 Lucene、企业级搜索先锋 Solr、搜索界的“流量明星” Elasticsearch 以及它的分叉兄弟 OpenSearch 和 ES 国产替代方案 Easysearch。它们大多基于 Lucene 构建，形成了庞大且功能丰富的生态。
今天，我们将介绍一位“非主流”选手：一款基于 Rust 编写、主打“快”和“简单”的现代搜索引擎——Meilisearch。它以全新的姿态，为开发者带来了不同的搜索体验。
Meilisearch 概述 # Meilisearch 是一款开源的、用 Rust 编写的即时搜索引擎。它提供了一个快速、轻量且可定制的搜索 API，旨在为用户提供毫秒级的搜索体验。
它的核心优势在于为应用内搜索和电商搜索等对延迟敏感的场景提供了出色的用户体验。
首次发布：2020 年 最新版本：1.24.0（截止 2025 年 10 月） 核心语言：Rust 开源协议：MIT License 官方网址： https://www.meilisearch.com/ GitHub 仓库： https://github.com/meilisearch/meilisearch 诞生故事 # Meilisearch 的故事始于 2018 年，当时法国工程师 Quentin de Quelen 在开发一个电商项目时，发现现有的搜索引擎要么太重量级，要么配置太复杂。他想要一个&amp;quot;开箱即用&amp;quot;的搜索解决方案，能够快速集成到应用中，并提供优秀的搜索体验。
于是，他决定用 Rust 语言从头编写一个搜索引擎。选择 Rust 是因为其出色的性能、内存安全性和并发能力，非常适合构建高性能的搜索核心。
项目最初只是一个内部工具，但随着功能的完善和社区的反馈，Meilisearch 在 2019 年正式开源，并迅速获得了开发者的青睐。2020 年，团队获得了 150 万美元的种子轮融资，正式成立了 Meilisearch 公司。</description></item><item><title>使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理</title><link>https://infinilabs.cn/blog/2025/console-easysearch-with-docker-compose-offline/</link><pubDate>Tue, 28 Oct 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/console-easysearch-with-docker-compose-offline/</guid><description>系列回顾与引言 # 在我们的 INFINI 本地环境搭建系列博客中：
第一篇《 搭建持久化的 INFINI Console 与 Easysearch 容器环境》，我们深入探讨了如何使用基础的 docker run 命令，一步步构建起 Console 和 Easysearch 服务，并重点解决了数据持久化的问题。 第二篇《 使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建》，我们学习了如何利用 Docker Compose 的声明式配置，将多容器应用的定义和管理变得更加简洁高效。 第三篇《 一键启动：使用 start-local 脚本轻松管理 INFINI Console 与 Easysearch 本地环境》，我们介绍了如何在联网环境下，一键安装 INFINI Console。 接下来，我们将聚焦于离线环境，详细讲解如何使用 Docker Compose 部署 INFINI Console 和 Easysearch。
简介 # INFINI Console 是一款强大的集群管理与可观测性平台，而 INFINI Easysearch 则是一个轻量级、高性能的搜索与分析引擎。官方提供的离线部署包将两者整合，非常适合在无外网或需要快速搭建演示环境的场景下使用。
本文将详细介绍如何下载资源、正确加载镜像、以及最关键的——如何根据您的需求修改 docker-compose.yml 中的各项配置。
1. 准备工作 # 请确保您的环境中已安装以下软件：</description></item><item><title>搜索百科（5）：Easysearch — 自主可控的国产分布式搜索引擎</title><link>https://infinilabs.cn/blog/2025/search-wiki-5-easysearch/</link><pubDate>Sun, 19 Oct 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/search-wiki-5-easysearch/</guid><description>大家好，我是 INFINI Labs 的石阳。
欢迎关注 《搜索百科》 专栏！每天 5 分钟，带你速览一款搜索相关的技术或产品，同时还会带你探索它们背后的技术原理、发展故事及上手体验等。
在上一篇我们介绍了 OpenSearch —— 那个因协议争议而诞生的开源搜索分支。今天，我们把目光转向国内，聊聊极限科技研发的一款轻量级搜索引擎：Easysearch。
引言 # 在搜索技术的世界里，从 Lucene 的出现到 Solr、Elasticsearch 的崛起，搜索引擎技术已经发展了二十余年。然而，随着开源协议的变更与国际形势的变化，国产自主搜索引擎的需求愈发迫切。在这样的背景下，Easysearch 作为一款自主可控、轻量高效、兼容 Elasticsearch 的分布式搜索引擎应运而生，为国内企业带来了全新的选择。
Easysearch 概述 # Easysearch 是一款分布式搜索引擎，实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析、AI 集成等。Easysearch 衍生自开源协议 Apache 2.0 的 Elasticsearch 7.10 版本，并不断往前迭代更新，紧跟 Lucene 最新版本的更新。Easysearch 可以替代 Elasticsearch，同时添加和完善多项企业级功能。
首次发布：2023 年 4 月 最新版本：1.15.4（截止 2025 年 10 月） 主导企业：极限科技 (INFINI Labs) 官方网址： https://easysearch.cn 诞生背景：为什么要有 Easysearch？ # Easysearch 由极限科技（INFINI Labs）团队推出。项目的起点源于团队长期在搜索引擎和大数据领域的深厚实践积累，团队深刻认识到国内企业在使用 Elasticsearch 时普遍面临以下痛点：
开源协议变化带来的商业风险 —— Elastic 于 2021 年将许可更改为 SSPL，导致社区分裂，增加了企业在合规和商用上的不确定性； 高并发与高可靠性场景下对稳定可控方案的需求 —— 企业级应用亟需一个性能可靠、可深度优化的搜索基础设施； 技术栈自主可控的迫切需求 —— 随着国产化进程加快，国内生态中缺乏轻量化、易部署、且完全可控的搜索引擎产品； 本地化服务与快速响应能力的缺口 —— 国内企业更需要本地团队提供高效的技术支持与服务，对本土化、个性化功能需求能得到及时响应与反馈。 基于这些考虑，Easysearch 在设计之初就明确了目标：构建一款兼容 Elasticsearch API、简洁易用、性能出众且完全自主可控的国产搜索引擎。</description></item><item><title>Elasticsearch 备份：snapshot 镜像使用篇</title><link>https://infinilabs.cn/blog/2025/es-backup-snapshot/</link><pubDate>Tue, 30 Sep 2025 17:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/es-backup-snapshot/</guid><description>上一篇文章中，我们简要的列举了 Elasticsearch 备份 主要的几个方案，比对了一下各个方案的实现原理、优缺点和适用的场景。现在我们来看看 ES 自带的镜像备份方案。
1. 镜像备份 # 在开始研究镜像备份之前，我先抛三个问题：
ES 镜像备份是怎么实现增量备份的？ 历史镜像清理维护是怎么做到保存完整数据的？ 增量恢复要怎么操作的？ 2. 镜像的准备条件 # 在做镜像备份之前，先要为 ES 注册一个镜像仓库，即 repository。目前 ES 支持的仓库类型有：
Respository 配置类型 Shared file system &amp;ldquo;type&amp;rdquo; : &amp;ldquo;fs&amp;rdquo; Read-only URL &amp;ldquo;type&amp;rdquo;: &amp;ldquo;url&amp;rdquo; S3 &amp;ldquo;type&amp;rdquo;: &amp;ldquo;s3&amp;rdquo; HDFS &amp;ldquo;type&amp;rdquo;: &amp;ldquo;hdfs&amp;rdquo; Azure &amp;ldquo;type&amp;rdquo;: &amp;ldquo;azure&amp;rdquo; Google Cloud Storage &amp;ldquo;type&amp;rdquo;: &amp;ldquo;gcs&amp;rdquo; 注意： S3, HDFS, Azure and GCS 需要安装相应的插件。</description></item><item><title>Elasticsearch 备份：方案篇</title><link>https://infinilabs.cn/blog/2025/es-backup-plans/</link><pubDate>Tue, 30 Sep 2025 16:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/es-backup-plans/</guid><description>1. 为什么要备份 # 在 Elasticsearch 集群的日常运维中，制定完善的数据备份与恢复策略是保障业务连续性和数据安全的基石。其中，备份作为数据保护的“最后一道防线”，其核心在于将某个时间点的集群完整快照，转储至可以快速恢复的存储介质或者离线数据库中，定期更新并长期保存。
一个有效的备份方案，不仅要求备份数据的完整性、一致性与可恢复性，还必须满足离线存储、周期执行与恢复验证等关键要求。其重要性不言而喻：在面对诸如硬件故障、数据中心级灾难、人为误操作（如误删数据）等极端场景时，备份是我们能够快速重建集群、找回关键历史数据，从而实现业务容灾与数据归档的唯一希望。因此，建立并严格执行备份方案，对于确保企业核心数据的长期安全与合规性至关重要。
2. ES 备份实现的方案 # 社区里，ES 的备份方案有很多，除了 ES 自带的 snapshot 和 CCR 外，还有社区里很多开源项目，如 esdump、gateway 等等，当然你也可以用 logstash+kafka 之类组件通过数据同步的自建方案（自建方案本文不进行阐述）实现数据备份的效果。
2.1 镜像备份 # Snapshot 是 Elasticsearch 自带的备份与恢复机制。它通过将索引底层的 Lucene segment 文件 拷贝到外部仓库来实现备份，首次备份是全量，之后为增量快照，只保存新增或变更的 segment。基于数据文件的备份，节省了数据内容的解析成本，对资源的占用更少，整体效率更高。
使用前需要配置快照仓库（repository），常见类型包括共享文件系统（NFS）、HDFS、S3、GCS 等，并保证所有节点都能访问该仓库。
基于底层数据文件的备份，使得镜像能支持到索引级和集群级的恢复。备份与恢复的耗时与数据规模密切相关，规模较小时可能仅需数分钟，而在数据量较大时，则可能延长至数小时甚至一天以上。同时也存在版本兼容的问题，具体可以 参见这里
Snapshot 是生产环境下一个不错的冷备方案，适合大规模数据的容灾恢复。
2.2 CCR # Cross Cluster Replication（CCR）是一种 Elasticsearch 提供的跨集群实时复制方案，可作为数据备份与容灾手段。其原理是将一个集群中的索引设为 leader index，在远程集群中配置对应的 follower index，通过内部的 shard-level replication 机制实时拉取并应用写入操作，保证目标索引与源索引保持高度一致。
使用 CCR 需要 X-Pack（商业功能） 支持，并要求两个集群之间网络能够互通，且 Elasticsearch 版本通常需保持一致。
CCR 是跨集群的分片复制功能，它和主副本复制类似。在首次链接复制完基础数据文件后，CCR 会从源集群的主分片持续拉取变更操作，然后在目标集群对应的分片上重放，从而保证两边分片的数据内容保持一致。因此 CCR 提供近实时的数据同步，RPO 接近 0。且对业务透明，无需改动应用。</description></item><item><title>Easysearch 字段'隐身'之谜：source_reuse 与 ignore_above 的陷阱解析</title><link>https://infinilabs.cn/blog/2025/invisibility-in-easysearch-field/</link><pubDate>Sun, 28 Sep 2025 19:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/invisibility-in-easysearch-field/</guid><description>背景问题 # 前阵子，社区有小伙伴在使用 Easysearch 的数据压缩功能时发现，在开启 source_reuse 和 ZSTD 后，一个字段的内容看不到了。
索引的设置如下：
{ ...... &amp;quot;settings&amp;quot;: { &amp;quot;index&amp;quot;: { &amp;quot;codec&amp;quot;: &amp;quot;ZSTD&amp;quot;, &amp;quot;source_reuse&amp;quot;: &amp;quot;true&amp;quot; } }, &amp;quot;mappings&amp;quot;: { &amp;quot;dynamic_templates&amp;quot;: [ { &amp;quot;message_field&amp;quot;: { &amp;quot;path_match&amp;quot;: &amp;quot;message&amp;quot;, &amp;quot;mapping&amp;quot;: { &amp;quot;norms&amp;quot;: false, &amp;quot;type&amp;quot;: &amp;quot;text&amp;quot; }, &amp;quot;match_mapping_type&amp;quot;: &amp;quot;string&amp;quot; } }, { &amp;quot;string_fields&amp;quot;: { &amp;quot;mapping&amp;quot;: { &amp;quot;norms&amp;quot;: false, &amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;, &amp;quot;fields&amp;quot;: { &amp;quot;keyword&amp;quot;: { &amp;quot;ignore_above&amp;quot;: 256, &amp;quot;type&amp;quot;: &amp;quot;keyword&amp;quot; } } }, &amp;quot;match_mapping_type&amp;quot;: &amp;quot;string&amp;quot;, &amp;quot;match&amp;quot;: &amp;quot;*&amp;quot; } } ] .</description></item><item><title>INFINI Labs 产品更新 | Coco AI v0.8 与 Easysearch v1.15 全新功能上线，AI 搜索体验再进化！</title><link>https://infinilabs.cn/blog/2025/release-20250928/</link><pubDate>Sun, 28 Sep 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250928/</guid><description>INFINI Labs 产品更新发布！此次更新主要包括 Coco AI v0.8 新增窗口管理插件，新的插件类型 View，Linux 文件搜索以及更多的连接器；Easysearch v1.15 新增 UI 插件，提供了轻量级界面化管理功能，不再依赖第三方对集群进行管理，真正做到开箱即用，AI 插件正式提供混合搜索能力，结合了关键词搜索和语义搜索，以提升搜索相关性。
以下为详细更新介绍：
Coco AI v0.8 # Coco AI 是一款完全开源、跨平台的企业级智能搜索与助手系统，专为现代企业打造。它通过统一搜索入口，连接企业内外部的异构数据源，融合大模型能力，帮助团队高效访问知识，智能决策协作。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 v0.8 # 功能特性 (Features) # 改进版本升级，跳过此版本的按钮 支持从本地安装插件 子插件的 JSON 现在也可以设置 platforms 字段 插件设置页面现在可以卸载插件 新增插件设置项 &amp;lsquo;hide_before_open&amp;rsquo; App 搜索索引 app 的名字，现在索引多种语言的 app 名字，英文、中文以及系统语言 Debug 模式下，支持 context menu 为 Linux (GNOME/KDE) 实现文件搜索 实现 MacOS 窗口管理插件 新增插件类型 View 对于文件搜索的结果，现在可以打开文件所在的文件夹 问题修复 (Bug Fixes) # 修复更新检查失败的问题 修复 web 组件，登录状态的问题 修复快捷键无法打开插件商店的问题 修复设置插件快捷键在 Windows 上崩溃的问题 修复无法通过 &amp;ldquo;coco://&amp;rdquo; deeplink 登录的问题 MacOS 文件搜索，确保 mdfind 进程不会成为僵尸进程 修复设置窗口打开是空白的问题 尽最大努力，确保用户添加的 search path 中的文件会被 indexer 索引 修复 MacOS 某些 app 设置空的 CFBundleDisplayName/CFBundleName 导致 app 名字为空的问题 改进优化 (Improvements) # 将 query_coco_fusion() 函数拆分 清理 tauri::AppHandle’s 类型的范型参数 R 检查各个安装渠道的 plugin.</description></item><item><title>ES 数据比对之 INFINI Gateway</title><link>https://infinilabs.cn/blog/2025/es-data-comparison/</link><pubDate>Sat, 27 Sep 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/es-data-comparison/</guid><description>上一篇我们通过 INFINI Gateway 进行了索引 数据迁移，对索引迁移结果进行了初步且直观的校验，既对比索引的文档数是否一致。今天介绍个实实在在的数据比对方法，通过网关对比索引文档的内容在两个集群是否一致，此方法适用于 Elasticsearch、Easysearch、Opensearch。话不多说，就拿上次迁移的两个索引开整。
测试环境 # 软件 版本 Easysearch 1.12.0 Elasticsearch 7.17.29 INFINI Gateway 1.29.2 比对步骤 # 操作非常简单，拢共分两步：
准备网关配置 数据比对 比对实战 # 准备网关比对数据的配置 老样子去 github 拿就完了，戳 这里。下载完之后，稍作修改.
修改文件开头的变量，两个 ENDPOINT 分别指向两个集群。
1 env: 2 LR_GATEWAY_HOST: 127.0.0.1:8001 3 LR_GATEWAY_API_HOST: 127.0.0.1:9000 4 ELASTICSEARCH_ENDPOINT: http://127.0.0.1:9200 5 ELASTICSEARCH_ENDPOINT2: http://127.0.0.1:9201 6 SUITES_NAME: index-docs-diff 修改集群资源相关的配置</description></item><item><title>ES 数据迁移之 INFINI Gateway</title><link>https://infinilabs.cn/blog/2025/data-migration-using-infini-gateway/</link><pubDate>Sun, 21 Sep 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/data-migration-using-infini-gateway/</guid><description>之前有 博客介绍过通过 Reindex 的方法将 Elasticsearch 的数据迁移到 Easysearch 集群，今天再介绍一个方法，通过 INFINI Gateway 来进行数据迁移。
测试环境 # 软件 版本 Easysearch 1.12.0 Elasticsearch 7.17.29 INFINI Gateway 1.29.2 迁移步骤 # 选定要迁移的索引 在目标集群建立索引的 mapping 和 setting 准备 INFINI Gateway 迁移配置 运行 INFINI Gateway 进行数据迁移 迁移实战 # 选定要迁移的索引 在 Elasticsearch 集群中选择目标索引：infinilabs 和 test1，没错，我们一次可以迁移多个。
在 Easysearch 集群使用源索引的 setting 和 mapping 建立目标索引。（略） INFINI Gateway 迁移配置准备 去 github 下载 配置，修改下面的连接集群的部分</description></item><item><title>搜索百科（4）：OpenSearch — 开源搜索的新选择</title><link>https://infinilabs.cn/blog/2025/search-wiki-4-opensearch/</link><pubDate>Thu, 18 Sep 2025 15:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/search-wiki-4-opensearch/</guid><description>大家好，我是 INFINI Labs 的石阳。
欢迎关注 《搜索百科》 专栏！每天 5 分钟，带你速览一款搜索相关的技术或产品，同时还会带你探索它们背后的技术原理、发展故事及上手体验等。
上一篇我们围观了 “流量明星” Elasticsearch — 从食谱搜索到 PB 级明星产品，从 Apache 2.0 到 SSPL 协议风波；今天我们来聊聊它的“分叉兄弟” OpenSearch。
引言 # 2021 年，当 Elasticsearch 宣布将其许可证从 Apache 2.0 变更为 SSPL/Elastic License 时，整个搜索社区为之震动。这一变更直接催生了一个新的开源分支 — OpenSearch。这个由 AWS 主导的项目不仅在短短几年内迅速发展成熟，更成为了许多企业在云原生环境下搜索解决方案的新选择。
OpenSearch 概述 # OpenSearch 是从 Elasticsearch 7.10.2 分支而来的开源搜索与分析套件，由 AWS 主导开发并贡献给开源社区。OpenSearch 包括 OpenSearch（搜索引擎）和 OpenSearch Dashboards（可视化界面），完全兼容 Apache 2.0 协议，旨在为用户提供一个真正开源、社区驱动的搜索与分析解决方案。
首次发布：2021 年 4 月 最新版本：3.2.0（截止 2025 年 9 月） 开源协议：Apache License 2.0 主导企业：Amazon Web Services (AWS) 官方网址： https://opensearch.</description></item><item><title>Easysearch 国产替代 Elasticsearch：8 大核心问题解读</title><link>https://infinilabs.cn/blog/2025/es-to-easysearch-8-qa/</link><pubDate>Wed, 17 Sep 2025 17:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/es-to-easysearch-8-qa/</guid><description>近年来，随着数据安全与自主可控需求的不断提升，越来越多的企业开始关注国产化的搜索与日志分析解决方案。作为极限科技推出的国产 Elasticsearch 替代产品，Easysearch 凭借其对搜索场景的深入优化、轻量级架构设计以及对 ES 生态的高度兼容，成为众多企业替代 Elasticsearch 的新选择。
我们在近期与用户的交流中，整理出了大家最关心的八大问题，并将它们浓缩为一篇技术解读，希望帮助你快速了解 Easysearch 的优势与定位。
用户最关心的八大问题 # Easysearch 对数据量的支撑能力如何，能应对 PB 级数据存储吗？ 答：完全可以。Easysearch 支持水平扩展，通过增加节点即可线性提升存储与计算能力。在实际应用中，已成功支撑 PB 级日志与检索数据。同时，其存储压缩率相比 Elasticsearch 7.10.2 平均高出 2.5~3 倍，显著节省硬件成本。
在高并发写入场景下，Easysearch 和 ES 的性能差异有多大？ 答：在相同硬件配置下，使用 Nginx 日志进行 bulk 写入压测，Easysearch 在多种分片配置下的写入性能相比 Elasticsearch 7.10.2 提升 40%-70%，更适合高并发写入场景。
是否支持中文分词？需要额外插件吗？ 答：中文分词一直是 Elasticsearch 用户的「必装插件」。而在 Easysearch 中，中文分词是开箱即用的，同时支持 ik、pinyin 等主流分词器，还能自定义词典，方便电商、内容平台等场景。
从 ES 迁移到 Easysearch 是否复杂？会影响业务吗？ 答：迁移往往是国产替代的最大顾虑。为此，Easysearch 提供了 极限网关 工具，支持全量同步和实时增量同步。迁移过程中业务可继续读写，只需短暂切换连接地址，几乎无感知。
监控与运维工具是否完善？是否支持 Kibana？ 答：Easysearch 提供完整的监控与运维体系。从 Easysearch 1.15.x 版本起自带 Web UI 管理控制台（类似简化版 Kibana），支持索引管理、查询调试、权限控制等功能。同时还提供 INFINI Console 实现多集群管理与深度监控等。也可以通过配置让 Kibana 连接 Easysearch（部分高级功能可能受限）。</description></item><item><title>搜索百科（3）：Elasticsearch — 搜索界的“流量明星”</title><link>https://infinilabs.cn/blog/2025/search-wiki-3-elasticsearch/</link><pubDate>Mon, 15 Sep 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/search-wiki-3-elasticsearch/</guid><description>大家好，我是 INFINI Labs 的石阳。
欢迎关注 《搜索百科》 专栏！每天 5 分钟，带你速览一款搜索相关的技术或产品，同时还会带你探索它们背后的技术原理、发展故事及上手体验等。
前两篇我们探讨了 搜索技术的基石 Apache Lucene 和 企业级搜索解决方案 Apache Solr。今天，我们来聊聊一个真正改变搜索游戏规则，但也充满争议的产品 — Elasticsearch。
引言 # 如果说 Lucene 是幕后英雄，那么 Elasticsearch 就是舞台中央的明星。借助 REST API、分布式架构、强大的生态系统，它让搜索 + 分析成为“马上可用”的服务形式。
在日志平台、可观察性、安全监控、AI 与语义检索等领域，Elasticsearch 的名字几乎成了默认选项。
Elasticsearch 概述 # Elasticsearch 是一个开源的分布式搜索和分析引擎，构建于 Apache Lucene 之上。作为一个检索平台，它可以实时存储结构化、非结构化和向量数据，提供快速的混合和向量搜索，支持可观测性与安全分析，并以高性能、高准确性和高相关性实现 AI 驱动的应用。
首次发布：2010 年 2 月 最新版本：9.1.3（截止 2025 年 9 月） 核心依赖：Apache Lucene 开源协议：AGPL v3 官方网址： https://www.elastic.co/elasticsearch/ GitHub 仓库： https://github.com/elastic/elasticsearch 起源：从食谱搜索到全球“流量明星” # Elasticsearch 的故事始于以色列开发者 Shay Banon。2010 年，当时他在学习厨师课程的妻子需要一款能够快速搜索食谱的工具。虽然当时已经有 Solr 这样的搜索解决方案，但 Shay 认为它们对于分布式场景的支持不够完善。</description></item><item><title>搜索百科（2）：Apache Solr — 企业级搜索的开源先锋</title><link>https://infinilabs.cn/blog/2025/search-wiki-2-solr/</link><pubDate>Fri, 12 Sep 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/search-wiki-2-solr/</guid><description>大家好，我是 INFINI Labs 的石阳。
欢迎回到 《搜索百科》 专栏！每天 5 分钟，带你速览一款搜索相关的技术或产品，同时还会带你探索它们背后的技术原理、发展故事及上手体验等。
上一篇我们认识了搜索技术的基石 Apache Lucene，今天我们将继续这个旅程，了解基于 Lucene 构建的第一个成功商业级搜索平台 —— Apache Solr。
Solr 是什么？ # Solr 是一款极速的开源多模态搜索平台，基于 Apache Lucene 的全文、向量和地理空间搜索能力构建而成。Solr 具备高可靠性、可扩展性和容错性，支持分布式索引、复制与负载均衡查询，提供自动故障转移与恢复、集中化配置等功能。如今，Solr 为全球众多大型互联网网站提供搜索和导航功能。
首次发布：2004 年，2006 年进入 Apache 最新版本：截至 2025 年，已更新至 9.x 系列 核心依赖：Apache Lucene 开源协议：Apache License 2.0 官方网址： https://solr.apache.org GitHub 仓库： https://github.com/apache/solr 它的定位是：把 Lucene 打造成独立的企业级搜索服务。相比 Lucene 需要写代码调用，Solr 提供了 Web 管理界面、REST API 和配置文件，让开发者更容易上手。
起源：从网站搜索到 Apache 顶级项目 # Solr（读作&amp;quot;solar&amp;quot;)的故事始于 2004 年，当时 CNET 公司的开发人员 Yonik Seeley 需要为其新闻网站构建一个搜索功能。虽然 Lucene 提供了强大的核心搜索能力，但直接使用 Lucene 需要编写大量 Java 代码，缺乏开箱即用的功能。</description></item><item><title>搜索百科（1）：Lucene — 打开现代搜索世界的第一扇门</title><link>https://infinilabs.cn/blog/2025/search-wiki-1-lucene/</link><pubDate>Tue, 09 Sep 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/search-wiki-1-lucene/</guid><description>大家好，我是 INFINI Labs 的石阳。
这是《搜索百科》专栏系列博客第 1 篇，每天 5 分钟，带你速览一款搜索相关的技术或产品，同时还会带你探索它们背后的技术原理、发展故事及上手体验等。
搜索技术看似专业，但它早已深度融入我们的日常生活。无论是电商搜索、知识检索，还是 AI 语义搜索、RAG、向量检索，背后都有经典与新兴技术的结合。希望这个系列能帮大家建立更清晰的认知，也欢迎留言交流。
引言：为什么先写 Lucene？ # 如果你曾用 GitHub 搜代码、用电商网站搜商品，或者在日志平台里“捞”报错，你就已经享受了 Lucene 的红利——只是自己还不知道。今天，让我们认识下这位“幕后大佬”，看看它如何以一己之力，孵化了整个现代搜索江湖。没有它，就没有 Elasticsearch 的锋芒，也没有 Solr 的稳健。讲搜索，不从 Lucene 开始，就像讲武侠不提《易筋经》——根基都丢了。
诞生故事：一个程序员的“副业”成果 # Lucene 的诞生颇具传奇色彩。它的创造者 Doug Cutting（后来也是 Hadoop 的创始人之一）在 1997 年开始开发 Lucene，最初是为了给他的个人项目——一个网络爬虫和搜索引擎——提供搜索能力。
当时，市面上并没有成熟的开源搜索库可用，Doug 决定自己写一个。他在业余时间一点点打磨，最终在 1999 年发布了第一个版本。2001 年，Lucene 加入了 Apache 软件基金会，成为 Apache 的第一个开源搜索项目。
有趣的是，Lucene 的名字并不是来自什么技术术语，而是取自 Doug Cutting 妻子的中间名——Lucene。这也让这个项目多了一丝浪漫的色彩。
Lucene 概述 # Apache Lucene，是一个用 Java 编写的高性能、全文搜索引擎库。它不是那种你下载下来就能直接用的“搜索软件”，而是一个底层库，就像乐高积木里的基础砖块，虽然不起眼，但没有它，很多搜索产品根本搭不起来。
Lucene 提供了强大的索引和查询能力，支持分词、倒排索引、相关性评分、模糊查询、布尔查询等一系列功能。它是 Elasticsearch、Solr、Easysearch、OpenSearch 等现代搜索引擎的核心引擎。
首次发布：1999 年 最新版本：截至 2025 年 9 月，Lucene 已更新至 10.</description></item><item><title>Easysearch 冷热架构实战</title><link>https://infinilabs.cn/blog/2025/easysearch-hot-warm-arch/</link><pubDate>Mon, 08 Sep 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-hot-warm-arch/</guid><description>在之前的文章中，我们介绍了如何使用 索引生命周期策略来管理索引。如果要求索引根据其生命周期阶段自动在不同的节点之间迁移，还需要用到冷热架构。我们来看看具体如何实现。
冷热架构 # 冷热架构其实就是在 Easyearch 集群中定义不同属性的节点，这些节点共同组成冷热架构。比如给所有热节点一个 hot 属性，给所有冷节点一个 cold 属性。在 Easyearch 中分配节点属性是通过配置文件(easysearch.yml)来实现的，比如我要定义一个热节点和一个冷节点，我可以在对应节点的配置文件中添加如下行：
# 热节点添加下面的行 node.attr.temp: hot # 冷节点添加下面的行 node.attr.temp: cold 有了这些属性，我们就可以指定索引分片在分配时，是落在 hot 节点还是 cold 节点。
查看节点属性
测试环境是个 2 节点的 Easysearch 集群。
比如我创建新索引 test-index，希望它被分配到 hot 节点上。
PUT test-index { &amp;#34;settings&amp;#34;: { &amp;#34;number_of_replicas&amp;#34;: 0, &amp;#34;index.routing.allocation.require.temp&amp;#34;: &amp;#34;hot&amp;#34; } } 可以看到 test-index 索引的分片分配到 hot 节点 node-1 上。我们修改索引分配节点的属性，让其移动到 cold 节点 node-2 上。
PUT test-index/_settings { &amp;#34;settings&amp;#34;: { &amp;#34;index.routing.allocation.require.temp&amp;#34;: &amp;#34;cold&amp;#34; } } 生命周期与冷热架构 # 在上面的例子中，我们通过索引分配节点属性对索引“坐落”的节点进行了控制。在索引生命周期策略中也支持对该属性进行修改，实现索引根据生命周期阶段自动在不同的节点之间移动的目的。</description></item><item><title>极限科技获得国际专利正式授权——美国发明专利《Data Partitioning Method and Data Processing Method》</title><link>https://infinilabs.cn/blog/2025/us-patent-data-partitioning-method-and-data-processing-method/</link><pubDate>Mon, 11 Aug 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/us-patent-data-partitioning-method-and-data-processing-method/</guid><description>近日，从大洋彼岸传来捷报：极限数据（北京）科技有限公司于 2023 年申请的 PCT 国际专利《Data Partitioning Method and Data Processing Method》，已于 2025 年 7 月 1 日通过美国专利商标局（USPTO）审查，正式获得美国发明专利授权（专利号：US12,346,590 B2）。这标志着极限科技在大数据存储与处理分析领域的技术创新再次获得国际权威认可。
本发明本专利提出了一种全新的数据分区及处理方法：通过文档唯一标识设计与二维拆分算法，实现基于数据感知的无限水平扩展，无需根据数据量预判分区数量，可从容应对未知海量数据的持续增长。相比传统分布式系统存储分区方式（如哈希分区、范围分区等），本发明在异构系统兼容性、动态扩容、写入压力缓解等方面表现更为优异，为全球化业务场景提供了高可用、高弹性的数据底座。
这项美国授权专利的获得，不仅进一步彰显了极限数据在大数据存储与分析领域的技术实力，也为后续海外市场的产品落地与商业拓展提供了强有力的知识产权保障。未来，我司将持续加大研发投入，以技术创新驱动产品升级，为全球用户带来更安全、更高效、更易用的数据探索与分析体验。</description></item><item><title>极限科技 Coco AI 荣获 2025 首届人工智能应用创新大赛全国一等奖</title><link>https://infinilabs.cn/blog/2025/coco-ai-won-first-prize-at-the-2025-AI-innovation-competition/</link><pubDate>Wed, 06 Aug 2025 11:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/coco-ai-won-first-prize-at-the-2025-AI-innovation-competition/</guid><description>由中国技术经济学会主办的 2025 首届全国人工智能应用创新大赛 总决赛于 6 月 22 日在湖南大学圆满落幕。该赛事以“场景驱动・创新创业”为主题，旨在考察参赛选手设计 AI 智能体（AI Agent）、应用人工智能大模型技术解决实际问题的能力。本届大赛吸引了全国 632 所高校及 210 家企业的 4913 支团队参赛，经过层层选拔，最终 689 支团队晋级全国总决赛。
在激烈的竞争中，极限数据（北京）科技有限公司 Coco AI 团队凭借作品《Coco AI - 为现代团队打造的统一搜索与 AI 智能助手》，一路过关斩将，成功晋级全国总决赛，并在总决赛中脱颖而出，荣获一等奖。这一成绩的取得，不仅是对极限科技技术实力和创新能力的高度认可，更是对 Coco AI 产品价值的有力证明。
Coco AI 产品以“让搜索更简单”为使命，通过先进的 AI 技术，为现代团队提供高效、智能的统一搜索解决方案。在大赛中，Coco AI 团队凭借其扎实的技术功底、创新的解决方案以及出色的现场表现，赢得了评委和观众的一致好评。
此次获奖，是极限科技在人工智能领域取得的又一重要成果。我们将以此为契机，在人工智能快速发展的大背景下，持续优化 Coco AI 产品，不断提升其性能和用户体验。未来，极限科技将继续加大在人工智能领域的研发投入，助力企业释放数据价值，推动智能化搜索迈向新的未来。
关于 Coco AI # Coco AI 是一款完全开源的统一搜索与 AI 助手平台，专为现代企业设计。它通过统一搜索入口，连接企业内外部的异构数据源，融合大模型能力，帮助团队高效访问知识，智能决策协作。
针对企业数据“分散、敏感、难利用”的三大痛点，Coco AI 提供了全面解决方案：
统一搜索入口，连接所有数据源
支持集成 S3、Notion、Google Workspace、语雀、GitHub 等，实现跨平台聚合搜索，打破信息孤岛。
开源可私有部署，保障数据安全
平台完全开源，支持本地部署与离线运行，数据不出企业，满足高安全与合规要求。
融合大模型能力，激活沉睡数据
支持接入多种主流大模型，实现自然语言问答、语义理解与智能推荐，为个人和组织构建个性化知识图谱。</description></item><item><title>ES 调优帖：Gateway 批量写入性能优化实践</title><link>https://infinilabs.cn/blog/2025/gateway-bulk-write-performance-optimization/</link><pubDate>Sun, 03 Aug 2025 20:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/gateway-bulk-write-performance-optimization/</guid><description>背景：bulk 优化的应用 # 在 ES 的写入优化里，bulk 操作被广泛地用于批量处理数据。bulk 操作允许用户一次提交多个数据操作，如索引、更新、删除等，从而提高数据处理效率。bulk 操作的实现原理是，将数据操作请求打包成 HTTP 请求，并批量提交给 Elasticsearch 服务器。这样，Elasticsearch 服务器就可以一次处理多个数据操作，从而提高处理效率。
这种优化的核心价值在于减少了网络往返的次数和连接建立的开销。每一次单独的写入操作都需要经历完整的请求-响应周期，而批量写入则是将多个操作打包在一起，用一次通信完成原本需要多次交互的工作。这不仅仅节省了时间，更重要的是释放了系统资源，让服务器能够专注于真正的数据处理，而不是频繁的协议握手和状态维护。
这样的批量请求的确是可以优化写入请求的效率，让 ES 集群获得更多的资源去做写入请求的集中处理。但是除了客户端与 ES 集群的通讯效率优化，还有其他中间过程能优化么？
Gateway 的优化点 # bulk 的优化理念是将日常零散的写入需求做集中化的处理，尽量减低日常请求的损耗，完成资源最大化的利用。简而言之就是“好钢用在刀刃上”。
但是 ES 在收到 bulk 写入请求后，也是需要协调节点根据文档的 id 计算所属的分片来将数据分发到对应的数据节点的。这个过程也是有一定损耗的，如果 bulk 请求中数据分布的很散，每个分片都需要进行写入，原本 bulk 集中写入的需求优势则还是没有得到最理想化的提升。
gateway 的写入加速则对 bulk 的优化理念的最大化补全。
gateway 可以本地计算每个索引文档对应后端 Elasticsearch 集群的目标存放位置，从而能够精准的进行写入请求定位。
在一批 bulk 请求中，可能存在多个后端节点的数据，bulk_reshuffle 过滤器用来将正常的 bulk 请求打散，按照目标节点或者分片进行拆分重新组装，避免 Elasticsearch 节点收到请求之后再次进行请求分发， 从而降低 Elasticsearch 集群间的流量和负载，也能避免单个节点成为热点瓶颈，确保各个数据节点的处理均衡，从而提升集群总体的索引吞吐能力。
整理的优化思路如下图：
优化实践 # 那我们来实践一下，看看 gateway 能提升多少的写入。
这里我们分 2 个测试场景：
基础集中写入测试，不带文档 id，直接批量写入。这个场景更像是日志或者监控数据采集的场景。 带文档 id 的写入测试，更偏向搜索场景或者大数据批同步的场景。 2 个场景都进行直接写入 ES 和 gateway 转发 ES 的效率比对。</description></item><item><title>INFINI Labs 产品更新 | Coco AI v0.7.0 发布 - 全新的文件搜索体验与全屏化的集成功能</title><link>https://infinilabs.cn/blog/2025/release-20250728/</link><pubDate>Mon, 28 Jul 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250728/</guid><description>INFINI Labs 产品更新发布！此次更新主要包括 Coco AI v0.7.0 新增 macOS Spotlight 和 Windows 文件搜索支持、语音输入功能，以及全屏集成模式；Easysearch v1.14.0 引入完整文本嵌入模型、语义检索 API 和搜索管道功能等，全面提升产品性能和稳定性。
Coco AI v0.7.0 # Coco AI 是一款完全开源、跨平台的企业级智能搜索与助手系统，专为现代企业打造。它通过统一搜索入口，连接企业内外部的异构数据源，融合大模型能力，帮助团队高效访问知识，智能决策协作。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 v0.7.0 # 功能特性 (Features) # 文件搜索支持 Spotlight（macOS） (#705) 语音输入支持（搜索模式 &amp;amp; 聊天模式） (#732) 文本转语音现已由 LLM 驱动 (#750) Windows 文件搜索支持 (#762) 问题修复 (Bug Fixes) # 文件搜索：优先应用过滤器后再处理 from/size 参数 (#741) 文件搜索：按名称与内容搜索时未匹配文件名问题 (#743) 修复 Windows 平台窗口被移动时自动隐藏的问题 (#748) 修复删除快捷键时未注销扩展热键的问题 (#770) 修复应用索引未遵循搜索范围配置的问题 (#773) 修复子页面缺失分类标题的问题 (#772) 修复快捷 AI 入口显示错误的问题 (#779) 语音播放相关的小问题修复 (#780) 修复 Linux 平台任务栏图标显示异常 (#783) 修复子页面数据不一致问题 (#784) 修复扩展安装状态显示错误 (#789) 增加 HTTP 流请求的超时容忍度，提升稳定性 (#798) 修复回车键行为异常问题 (#794) 修复重命名后选中状态失效的问题 (#800) 修复 Windows 右键菜单中快捷键异常问题 (#804) 修复因 &amp;ldquo;state() 在 manage() 之前调用&amp;rdquo; 引起的 panic (#806) 修复多行输入问题 (#808) 修复 Ctrl+K 快捷键无效问题 (#815) 修复窗口配置同步失败问题 (#818) 修复子页面回车键无法使用问题 (#819) 修复 Ubuntu (GNOME) 下打开应用时崩溃问题 (#821) 改进优化 (Improvements) # 文件状态检测优先使用 stat(2) (#737) 文件搜索扩展类型重命名为 extension (#738) 创建聊天记录及发送聊天 API (#739) 更多文件类型图标支持 (#740) 替换 meval-rs 依赖，清除编译警告 (#745) Assistant、数据源、MCP Server 接口参数重构 (#746) 扩展代码结构调整 (#747) 升级 applications-rs 依赖版本 (#751) QuickLink/quick_link 重命名为 Quicklink/quicklink (#752) Assistant 样式与参数微调 (#753) 可选字段默认不强制要求填写 (#758) 搜索聊天组件新增 formatUrl、think 数据及图标地址支持 (#765) Coco App HTTP 请求统一添加请求头 (#744) 响应体反序列化前增加状态码判断 (#767) 启动页适配手机屏幕宽度 (#768) 搜索聊天新增语言参数与格式化 URL 参数 (#775) 未登录状态不请求用户接口 (#795) Windows 文件搜索清理查询字符串中的非法字符 (#802) 崩溃日志中展示 backtrace 信息 (#805) 相关截图</description></item><item><title>Easysearch 集成阿里云与 Ollama Embedding API，构建端到端的语义搜索系统</title><link>https://infinilabs.cn/blog/2025/Easysearch-Integration-with-Alibaba-CloudOllama-Embedding-API/</link><pubDate>Sun, 27 Jul 2025 22:40:16 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/Easysearch-Integration-with-Alibaba-CloudOllama-Embedding-API/</guid><description>背景 # 在当前 AI 与搜索深度融合的时代，语义搜索已成为企业级应用的核心能力之一。作为 Elasticsearch 的国产化替代方案，Easysearch 不仅具备高性能、高可用、弹性伸缩等企业级特性，更通过灵活的插件化架构，支持多种主流 Embedding 模型服务，包括 阿里云通义千问（DashScope） 和 本地化 Ollama 服务，实现对 OpenAI 接口规范的完美兼容。
本文将详细介绍如何在 Easysearch 中集成阿里云和 Ollama 的 Embedding API，构建端到端的语义搜索系统，并提供完整的配置示例与流程图解析。
一、为什么选择 Easysearch？ # Easysearch 是由极限科技（INFINI Labs）自主研发的分布式近实时搜索型数据库，具备以下核心优势：
✅ 完全兼容 Elasticsearch 7.x API 及 8.x 常用操作 ✅ 原生支持向量检索（kNN）、语义搜索、混合检索 ✅ 内置数据摄入管道与搜索管道，支持AI模型集成 ✅ 支持国产化部署、数据安全可控 ✅ 高性能、低延迟、可扩展性强 尤其在 AI 增强搜索场景中，Easysearch 提供了强大的 text_embedding 和 semantic_query_enricher 处理器，允许无缝接入外部 Embedding 模型服务。
二、支持的 Embedding 服务 # Easysearch 通过标准 OpenAI 兼容接口无缝集成各类第三方 Embedding 模型服务，理论上支持所有符合 OpenAI Embedding API 规范的模型。以下是已验证的典型服务示例：</description></item><item><title>IK 字段级别词典的升级之路</title><link>https://infinilabs.cn/blog/2025/ik-field-level-dictionarys-3/</link><pubDate>Sat, 26 Jul 2025 22:10:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/ik-field-level-dictionarys-3/</guid><description>背景知识：词库的作用 # IK 分词器是一款基于词典匹配的中文分词器，其准确性和召回率与 IK 使用的词库也有不小的关系。
这里我们先了解一下词典匹配法的作用流程：
预先准备一个大规模的词典，用算法在文本中寻找词典里的最长匹配项。这种方法实现简单且速度快。 但面临歧义切分和未登录词挑战：同一序列可能有不同切分方式（例如“北京大学生”可以切成“北京大学/生”或“北京/大学生”），需要规则或算法消除歧义； 而词典中没有的新词（如网络流行语、人名等）无法正确切分。 可以看到词库是词元产生的比对基础，一个完善的中文词库能大大提高分词器的准确性和召回率。
IK 使用的词库是中文中常见词汇的合集，完善且丰富，ik_smart 和 ik_max_word 也能满足大部分中文分词的场景需求。但是针对一些专业的场景，比如医药这样的行业词库、电商搜索词、新闻热点词等，IK 是很难覆盖到的。这时候就需要使用者自己去维护自定义的词库了。
IK 的自定义词库加载方式 # IK 本身也支持自定义词库的加载和更新的，但是只支持一个集群使用一个词库。
这里主要的制约因素是，词库对象与 ik 的中文分词器执行对象是一一对应的关系。
这导致了 IK 的词库面对不同中文分词场景时较低的灵活性，使用者并不能做到字段级别的词库加载。并且基于文件或者 http 协议的词库加载方式也需要不小的维护成本。
字段级别词库的加载 # 鉴于上述的背景问题，INFINI lab 加强了 IK 的词库加载逻辑，做到了字段级别的词库加载。同时将自定义词库的加载方式由外部文件/远程访问改成了内部索引查询。
主要逻辑如图：
这里 IK 多中文词库的加载优化主要基于 IK 可以加载多词类对象（即下面这段代码）的灵活性，将原来遍历一个 CJK 词类对象修改成遍历多个 CJK 词类对象，各个自定义词库可以附着在 CJK 词库对象上实现不同词库的分词。
do{ //遍历子分词器 for(ISegmenter segmenter : segmenters){ segmenter.analyze(context); } //字符缓冲区接近读完，需要读入新的字符 if(context.needRefillBuffer()){ break; } } 对默认词库的新增支持 # 对于默认词库的修改，新版 IK 也可以通过写入词库索引方式支持，只要将 dict_key 设置为 default 即可。</description></item><item><title>IK 字段级别词典升级：IK reload API</title><link>https://infinilabs.cn/blog/2025/ik-field-level-dictionarys-2/</link><pubDate>Sat, 26 Jul 2025 22:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/ik-field-level-dictionarys-2/</guid><description>之前介绍 IK 字段级别字典 使用的时候，对于字典的更新只是支持词典库的新增，并不支持对存量词典库的修改或者删除。经过这段时间的开发，已经可以兼容词典库的更新，主要通过 IK reload API 来实现。
IK reload API # IK reload API 通过对词典库的全量重新加载来实现词典库的更新或者删除。用户可以通过下面的命令实现：
# 测试索引准备 PUT my-index-000001 { &amp;quot;settings&amp;quot;: { &amp;quot;number_of_shards&amp;quot;: 3, &amp;quot;analysis&amp;quot;: { &amp;quot;analyzer&amp;quot;: { &amp;quot;my_custom_analyzer&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;custom&amp;quot;, &amp;quot;tokenizer&amp;quot;: &amp;quot;my_tokenizer&amp;quot; } }, &amp;quot;tokenizer&amp;quot;: { &amp;quot;my_tokenizer&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;ik_smart&amp;quot;, &amp;quot;custom_dict_enable&amp;quot;: true, &amp;quot;load_default_dicts&amp;quot;:false, # 这里不包含默认词库 &amp;quot;lowcase_enable&amp;quot;: true, &amp;quot;dict_key&amp;quot;: &amp;quot;test_dic&amp;quot; } } } }, &amp;quot;mappings&amp;quot;: { &amp;quot;properties&amp;quot;: { &amp;quot;test_ik&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;, &amp;quot;analyzer&amp;quot;: &amp;quot;my_custom_analyzer&amp;quot; } } } } # 原来词库分词效果，只预置了分词“自强不息” GET my-index-000001/_analyze { &amp;quot;analyzer&amp;quot;: &amp;quot;my_custom_analyzer&amp;quot;, &amp;quot;text&amp;quot;:&amp;quot;自强不息，杨树林&amp;quot; } { &amp;quot;tokens&amp;quot;: [ { &amp;quot;token&amp;quot;: &amp;quot;自强不息&amp;quot;, &amp;quot;start_offset&amp;quot;: 0, &amp;quot;end_offset&amp;quot;: 4, &amp;quot;type&amp;quot;: &amp;quot;CN_WORD&amp;quot;, &amp;quot;position&amp;quot;: 0 }, { &amp;quot;token&amp;quot;: &amp;quot;杨&amp;quot;, &amp;quot;start_offset&amp;quot;: 5, &amp;quot;end_offset&amp;quot;: 6, &amp;quot;type&amp;quot;: &amp;quot;CN_CHAR&amp;quot;, &amp;quot;position&amp;quot;: 1 }, { &amp;quot;token&amp;quot;: &amp;quot;树&amp;quot;, &amp;quot;start_offset&amp;quot;: 6, &amp;quot;end_offset&amp;quot;: 7, &amp;quot;type&amp;quot;: &amp;quot;CN_CHAR&amp;quot;, &amp;quot;position&amp;quot;: 2 }, { &amp;quot;token&amp;quot;: &amp;quot;林&amp;quot;, &amp;quot;start_offset&amp;quot;: 7, &amp;quot;end_offset&amp;quot;: 8, &amp;quot;type&amp;quot;: &amp;quot;CN_CHAR&amp;quot;, &amp;quot;position&amp;quot;: 3 } ] } # 更新词库 POST .</description></item><item><title>TDBC 2025 大会聚焦 AI 与数据库融合，极限科技发布新一代 Coco AI 搜索平台</title><link>https://infinilabs.cn/blog/2025/infinilabs-appeared-at-TDBC-2025-sharing-coco-ai/</link><pubDate>Thu, 17 Jul 2025 18:30:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/infinilabs-appeared-at-TDBC-2025-sharing-coco-ai/</guid><description>2025 年 7 月 17 日 在北京召开的 TDBC 2025 可信数据库发展大会·人工智能与数据库融合发展分论坛 上，国内领先的搜索数据库及解决方案提供商 极限科技（INFINI Labs）正式发布其创新产品 —— Coco AI，一款面向企业的 AI 智能搜索与高效协作平台。极限数据（北京）科技有限公司创始人曾勇在《下一代企业搜索与 AI 的融合探索》主题演讲中，深入探讨了企业搜索的未来趋势及 Coco AI 的核心价值。
破解企业数据困境：多平台孤岛与隐私安全挑战 # 随着企业数据呈爆发式增长，信息分散在本地文件系统、云存储（如 S3）、协作工具（如内网 Wiki、工单系统、 CRM、ERP 等）及代码仓库（如 Gitcode、Gitee 等）等多个平台，员工往往需要频繁切换系统进行检索，效率低下。同时，企业对数据隐私和安全的高标准要求，使得直接使用公有云 AI 工具或上云存储存在潜在风险。此外，企业内部积累的海量知识未能有效转化为生产力，传统知识库管理依赖人工维护，效果有限。
Coco AI 的推出，正是为了帮助企业解决这些痛点，通过统一搜索、AI 增强、隐私优先的设计理念，打造一站式智能搜索中心，提升知识利用效率与协作体验。
Coco AI 核心功能：重新定义企业搜索与协作 # 跨平台统一搜索 支持本地文件、云端应用或自研各业务系统及第三方平台的无缝搜索，提供“本地搜”“云端搜”“混合搜”及“多模态搜”（文本、语音、图像、视频）能力，彻底告别数据碎片化。 无缝 AI 集成 基于语义搜索与生成式 AI 技术，支持快速提取企业内部知识，并接入 OpenAI、DeepSeek 等主流大模型。 相比集中式知识库，采用联邦数据连接方式，降低维护成本。 提供高度可定制的 RAG（检索增强生成）管道，让 AI 回答更精准、更贴合业务需求。 隐私优先设计 支持自托管部署，数据全程加密，提供企业级权限控制与动态脱敏功能，确保敏感信息不外泄，满足金融、医疗等高合规性行业需求。 灵活扩展性 通过 MCP 协议、Connector 及 Remote Search Adapter（RSA）对接企业自有数据源，支持 API 和插件扩展，适配多样化业务场景。 轻量级体验，高效团队协作 # Coco AI 以“轻量级、无存在感”为设计理念，内置实用工具（如计算器、便签）及团队协作功能，支持快速定位共享资源。其智能助手可在搜索中实时总结结果，提升决策效率。此外，APP 端支持多服务器连接，实现跨域协作而无需集中同步数据，兼顾便利性与安全性。</description></item><item><title>极限科技亮相 TDBC 2025 可信数据库发展大会——联合创始人曾嘉毅分享搜索型数据库生态建设新成果</title><link>https://infinilabs.cn/blog/2025/infinilabs-appeared-at-TDBC-2025-sharing-search-based-database/</link><pubDate>Thu, 17 Jul 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/infinilabs-appeared-at-TDBC-2025-sharing-search-based-database/</guid><description>2025 年 7 月 17 日 在北京召开的 TDBC 2025 可信数据库发展大会·数据库生态及国际化分论坛 上，全球数据库领域专家、学者与企业代表齐聚。极限数据（北京）科技有限公司联合创始人曾嘉毅发表《搜索型数据库生态建设及展望》主题演讲，剖析技术创新与实践，为行业提供高效数据检索与智能应用方案。
破解数据检索挑战，AI 赋能搜索升级 # 首先，我们需要面对结构化数据。典型处理方式是使用传统关系型数据库。但是，关系型数据库的设计初衷就决定了它面对的挑战：关系型数据库优先保证事务性，其数据分层结构导致查询需要层层下钻，同时传统关系型数据库能够处理的数据规模也是受限的。搜索型数据库针对以上挑战可以实现读写分离、多表聚合查询、数据库加速等。
与此同时，企业数据中大约 85% 为非结构化或半结构化数据，如图片、视频等，传统数据库处理困难。极限科技运用语义解析与 AI 向量化技术，语义解析深入理解数据语义并转化为结构化信息，AI 向量化将其映射到高维空间实现向量化表示，二者结合完成非结构化数据的标签提取与索引构建，提升检索准确性与效率。
针对中文文本，极限科技进行字段化处理研究。中文语法复杂、语义丰富，传统方法难以满足检索需求。公司通过自研算法精准分词与字段提取，结合向量化技术提升中文数据检索效果。同时，融合向量化全量搜索与模糊搜索，前者快速定位相似数据，后者处理用户输入的不准确信息，提高搜索容错性。
平台化建设与工具开源：打造全链路能力 # 极限科技构建的管控平台功能强大。支持多集群元原生编排和管理，企业可依业务场景和用户需求灵活调整集群资源，同时实现一键升级、备份管理等；提供统一监控、统一身份管理服务，实时监控系统组件与运行状态，及时预警问题。该平台兼容多厂商环境，企业可无缝集成现有系统，降低迁移成本与风险。公司开发的搜索服务网关针对检索服务提供流量分发与链路加速能力，进而实现查询分析、干预等高阶功能。
此外，极限科技积极推动搜索周边工具开源贡献。数据迁移工具 ESM 助力企业快速安全迁移数据至自家搜索型数据库，缩短迁移周期、降低风险；性能压测工具 Loadgen 模拟复杂场景测试系统性能，评估性能瓶颈与承载能力；中文分词工具 IK/ Pinyin 支持多种分词模式与自定义词典，满足不同用户需求。开源工具促进技术交流创新，支持行业生态发展。
“Coco” AI 搜索与智能体结合模式：重构搜索体验 # Coco AI 采用获得国家专利设计的人机交互体验，将搜索与 AI 进行无缝结合。传统 RAG 存在大模型直接回答搜索问题存在训练成本高、回答不精准问题。 Coco AI 后台灵活，支持为不同类型问题分配专属“小助手”。“小助手”针对特定问题优化配置，精准理解用户意图、提供准确回答，降低训练成本、提升回答精准度与效率。可以快速量身打造企业专属的 AI 智能体工具箱。
Coco AI 结合本地与云端协同搜索技术，连接本地文件、数据库及外部应用系统数据源。用户搜索时，可以同时对本地和外部 Coco Server 引擎同时处理查询请求，然后对结果进行打分与整合去重排序，结合大模型总结分析最终结果，实现意图理解与统一信息获取，打破信息孤岛，提供全面准确高效的搜索服务。
展望未来：AI 搜索与开放生态 # 极限科技对搜索型数据库未来有清晰规划。下一代 AI 搜索架构将深度融合向量检索与智能体技术。向量检索已发挥重要作用，智能体技术能自主感知、决策与行动。二者融合使 AI 搜索系统更智能理解用户需求，主动提供个性化服务，如依历史记录推荐信息，面对复杂任务自主分解协调资源处理。
在企业数据应用场景上，下一代架构将进一步优化拓展。除传统文档检索、数据查询，还将深入生产、运营、管理等环节，提供全面深入的数据分析与决策支持。如在生产制造中实时分析设备数据、提前发现故障隐患；在市场营销中深度挖掘客户数据、制定精准营销策略。
为推动行业发展，极限科技将持续推进开源战略，通过 GitHub/ Gitee/ Gitcode 等平台共享核心技术代码与文档，与全球开发者紧密合作。吸引更多开发者参与研发创新，共同解决技术难题。同时积极参与行业标准制定推广，促进市场规范化标准化发展，构建开放共享共赢的搜索型数据库生态。</description></item><item><title>极限科技亮相 TDBC 2025 可信数据库发展大会，连续三年荣誉入选信通院《中国数据库产业图谱》</title><link>https://infinilabs.cn/blog/2025/infinilabs-appeared-at-TDBC-2025/</link><pubDate>Thu, 17 Jul 2025 16:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/infinilabs-appeared-at-TDBC-2025/</guid><description>2025 年 7 月 16 日，由中国通信标准化协会主办、中国信息通信研究院（以下简称“中国信通院”）承办的“TDBC 2025 可信数据库发展大会”在北京隆重召开。作为我国数据库领域的年度权威盛会，本次大会以“自主·创新·引领”为主题，聚焦数据库技术创新与产业实践，发布了多项前沿研究成果，并深入探讨了行业发展趋势。极限科技受邀参会，并凭借在搜索型数据库领域的突出表现，连续三年荣誉入选《中国数据库产业图谱（2025 年）》，再次彰显其技术实力与市场影响力。
权威盛会聚焦技术前沿，共绘产业新蓝图 # TDBC 2025 可信数据库发展大会是我国数据库行业规格最高、影响力最广的年度盛会之一。本届大会汇聚了政府主管部门、行业领袖、科研机构及企业代表，围绕数据库核心技术突破、行业应用落地、生态协同发展等议题展开深度交流。中国信通院在会上发布了一系列重磅研究成果，其中《中国数据库产业图谱》作为全面展示国内数据库产业生态的权威报告，备受业界关注。
极限科技连续三年入选产业图谱，搜索型数据库代表获权威认可 # 《中国数据库产业图谱（2025 年）》由中国信通院基于产品技术能力、产业服务水平、市场表现及生态建设等多维度综合评估编制，旨在为行业用户提供选型参考，推动资源向优质企业集聚。极限科技作为搜索型数据库的代表企业之一，凭借其自主研发的分布式搜索分析引擎、高性能实时数据处理能力，以及在金融、政务、能源等关键行业的深度实践，连续三年荣誉入选图谱，并收录于搜索型数据库及数据库生态社区技术社区版块，成为数据库产业生态中的标杆企业。
图：极限科技荣誉入选中国信通院《中国数据库产业图谱（2025 年）》 极限科技相关负责人表示：“连续三年入选产业图谱，既是行业对极限科技技术实力的肯定，也是我们持续深耕搜索型数据库领域的动力。未来，我们将继续坚持自主创新，深化技术突破，为行业客户提供更高效、更智能的数据检索与分析解决方案。”
以自主创新为引擎，引领搜索型数据库高质量发展 # 当前，随着企业数字化转型的加速，海量数据的实时检索与智能分析已成为刚需。极限科技聚焦搜索型数据库核心技术，通过分布式架构、AI 融合、云原生等技术创新，打造了覆盖数据全生命周期的产品矩阵。其核心产品支持 PB 级数据秒级响应，并具备高可用、弹性扩展等特性，已在多个国家级项目中落地应用，助力客户实现数据治理能力与业务效能的双重提升。
此次大会上，极限科技还与业界同仁共同探讨了搜索型数据库如何支撑数字经济高质量发展。与会专家指出，随着数据要素价值的加速释放，搜索型数据库作为挖掘数据价值的关键工具，其自主创新水平直接关系到国家数据安全与产业竞争力。极限科技的实践为行业提供了可复制的范本，彰显了中国数据库企业的责任与担当。
展望未来：携手生态伙伴，共筑可信数据底座 # 极限科技表示，未来将持续深化与中国信通院等权威机构的合作，积极参与标准制定与生态共建，推动搜索型数据库技术与产业需求的深度融合。同时，公司将加大研发投入，探索数据库与人工智能等新技术的协同创新，为构建安全、高效、智能的数据基础设施贡献力量。
TDBC 2025 可信数据库发展大会的圆满落幕，标志着我国数据库产业迈向更高水平的自主创新阶段。极限科技将以此次入选产业图谱为契机，携手行业伙伴，共同书写中国数据库产业的新篇章。</description></item><item><title>TDBC 2025 可信数据库大会，极限科技邀您来赴约！</title><link>https://infinilabs.cn/blog/2025/2025-TDBC-trusted-database-conference/</link><pubDate>Sat, 12 Jul 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/2025-TDBC-trusted-database-conference/</guid><description>2025 年 7 月 16-17 日，「TDBC 2025 可信数据库发展大会」将在北京朝阳悠唐皇冠假日酒店隆重召开。大会由中国通信标准化协会主办，中国信息通信研究院、中国通信标准化协会大数据技术标准推进委员会（CCSA TC601）承办。
本次大会 极限科技 再度受邀，创始人兼总经理曾勇、联合创始人曾嘉毅 将分别于「人工智能与数据库融合发展分论坛」、「数据库生态及国际化分论坛」发表主题演讲，与大家共同探讨 AI 与企业搜索融合发展的技术突破和应用实践，以及企业搜索的发展新方向与海外市场开拓。与此同时我们也特设 展台（展位号 B09） 和大家线下相见！
演讲主题一：《重构信息获取方式：下一代企业搜索与 AI 的融合探索》
演讲主题二：《搜索型数据库生态建设和展望》
展位福利
除了精彩演讲，极限科技专家团队将于 B09 （记住展位号，不迷路！）与大家近距离交流。大家可以深入了解搜索型数据库与 AI 搜索的产品技术、行业解决方案，并与技术专家一对一探讨实际业务场景中的搜索应用问题。
此外，我们还精心准备了多款 INFINI Labs 定制周边礼品，只要来到展位参与互动就有机会获得，真诚欢迎各位新老朋友前来 B09 展位打卡交流！
大会议程
2025 可信数据库发展大会全议程公布！</description></item><item><title>极限科技荣获 2025 上海开源创新菁英荟「开源创新新星企业」奖</title><link>https://infinilabs.cn/blog/2025/infinilabs-wins-2025-shanghai-open-source-innovation-rising-star-award/</link><pubDate>Thu, 10 Jul 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/infinilabs-wins-2025-shanghai-open-source-innovation-rising-star-award/</guid><description>2025 年 6 月 28 日，由上海开源信息技术协会主办、上海对外经贸大学承办的“ 2025 上海开源创新菁英荟”圆满落幕。本届大会以“开源有 AI，智领千行”为主题，汇聚开源社区、科研机构及产业界 200 余位专家，共同探讨开源技术如何赋能千行百业智能化转型。会上揭晓了四大类奖项，极限科技凭借其开源项目 Coco AI 脱颖而出，荣获「开源创新新星企业」奖项，得到了行业权威认可。
统一搜索 + 私有部署，Coco AI 直击企业三大痛点 # 现代企业面临数据分散、安全风险高、知识利用率低三大核心痛点。Coco AI 作为一款完全开源、跨平台的企业级智能搜索与助手系统，通过三大创新解决行业难题：
统一搜索入口，跨平台连接数据
支持连接本地文件、云存储（S3）、协作工具（Notion、Google Workspace）、知识平台（语雀）、代码仓库（GitHub）等多种数据源，实现一站式搜索与信息聚合。 私有化部署，保障数据安全
完全开源且支持自主可控部署，数据全程留存于企业内网，满足高安全、高合规场景需求。 融合大模型，构建智能助手
接入 DeepSeek、通义千问等先进大模型，支持语义理解、自然语言问答、智能推荐，激活沉睡数据，打造真正“会思考”的企业知识中枢。 开源生态赋能，推动 AI 普惠化 # 作为国内少数以搜索技术为核心的初创企业，极限科技始终践行“让搜索更简单”的使命。其开源项目 Coco AI（MIT 许可证）允许自由修改与分发，服务端（AGPL-3.0）要求公开源代码以确保合规，降低企业使用门槛。通过开源生态与 AI 技术，将企业离散数据转化为可搜索、可问答、可决策的活资产。
未来展望：躬身开源，共筑智能时代 # 此次获奖不仅是对极限科技在开源领域创新实践的高度认可，更是对其未来发展的激励。极限科技将继续积极投身开源实践，不断优化和创新 Coco AI，为更多企业提供高效、安全、智能的解决方案，推动企业从“数据沉睡时代”迈向“知识智能时代”。同时，极限科技还将加强与开源社区的合作，吸引更多开发者参与开源项目的开发和维护，共同推动开源技术的发展和应用。
关于 Coco AI - 为现代团队打造的统一搜索与 AI 智能助手 # Coco AI 是一款完全开源、跨平台的企业级智能搜索与助手系统，专为现代企业打造。它通过统一搜索入口，连接企业内外部的异构数据源，融合大模型能力，帮助团队高效访问知识，智能决策协作。
官网： https://coco.rs
GitHub： https://github.com/infinilabs</description></item><item><title>INFINI Labs 产品更新 | Coco AI v0.6 发布 - 插件商店上线</title><link>https://infinilabs.cn/blog/2025/release-20250630/</link><pubDate>Mon, 30 Jun 2025 09:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250630/</guid><description>INFINI Labs 产品更新发布！此次更新涵盖 Coco AI 、Easysearch 等产品多项重要升级，其中 Coco AI 新增插件商店，方便用户安装和卸载插件，重构了搜索 API，优化聊天展示等，进一步提升 AI 搜索能力、易用性。
以下为详细更新介绍：
Coco AI v0.6 # Coco AI 是一款完全开源、专注于混合云平台的企业级 AI 搜索与智能助手系统。它通过统一搜索入口，连接企业内外部的异构数据源，颠覆了企业访问和获取信息的方式和途径；同时 Coco AI 利用大模型能力和机器学习技术，能够为每个用户创建个性化知识图谱，进而优化个人及公司决策协作流程。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 v0.6 # 功能更新 # 添加插件商店 #699 历史列表支持快捷键操作（选择、删除等） #700 添加 「检查更新」按钮 #701 添加 app 索引重建按钮来索引最新的 app #719 问题修复 # 快速 AI 状态进行同步 #693 打开/关闭插件应该也设置/取消快捷键 #691 在 refresh 时，将在线的 Coco server 重新添加会搜索列表 #696 输入框支持空格输入进行检索 #709 搜索右键菜单失效问题 #713 搜索窗口在搜索界面，底边栏提示消息错误的问题 #722 优化改进 # 插件的唯一标识变更为「作者 ID/插件 ID」 #643 重构了搜索 API #679 继续聊天展示优化 #690 服务器列表支持快捷键 enter 选择 #692 添加最新版本检查消息展示 #703 在日志中记录插件命令的执行结果 #718 Coco AI 服务端 v0.</description></item><item><title>【INFINI Workshop 第三期 - 上海站】Coco AI - 赋能企业搜索，打造专属智能助手</title><link>https://infinilabs.cn/blog/2025/workshop-3/</link><pubDate>Tue, 17 Jun 2025 16:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/workshop-3/</guid><description>在生成式 AI 快速演进的今天，企业如何构建智能、高效、安全的搜索与交互系统，已成为提升信息利用效率与用户体验的关键。本次 Workshop 聚焦于极限科技推出的 Coco AI —— 一款完全开源、跨平台的企业级智能搜索与助手系统，带您深入了解其核心能力、技术架构与落地实践。
无论您是希望提升组织内部搜索效率的 IT 管理者，构建智能化办公系统的产品/研发团队，还是关注 AI 技术落地的开发者与创业者，本次活动都将带来满满干货，是一次不可错过的学习与交流机会。
活动时间：2025 年 7 月 10 日 13:30 ～ 17:30
活动地点：上海静安武宁南路 1 号 WeWork(越商大厦)三楼
报名链接：https://hdxu.cn/1ffb5
内容摘要 # 企业多源异构数据的统一搜索方案 Coco AI 如何构建类 ChatGPT 式智能问答助手 Demo 演示：Coco AI 实现企业内部文档语义搜索与智能对话 案例实战：用 Coco AI 打造 Elasticsearch 智能助手 开源生态如何推动 Coco AI 持续创新 下一代企业 AI 搜索的演进趋势与 Coco AI 路线图 关于 Coco AI # Coco AI - 为现代团队打造的统一搜索与 AI 智能助手</description></item><item><title>Coco AI 实战（二）：摄入 MongoDB 数据</title><link>https://infinilabs.cn/blog/2025/coco-ai-hands-on-2/</link><pubDate>Tue, 17 Jun 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/coco-ai-hands-on-2/</guid><description>在之前的文章中，我们介绍过如何使用 《 Logstash 迁移 MongoDB 数据到 Easyseach》，既然 Coco AI 后台数据存储也使用 Easysearch，我们能否直接把 MongoDB 的数据迁移到 Coco AI 的 Easysearch，使用 Coco AI 对数据进行检索呢？You got it !
Connector # Coco AI 的 Connector 支持通过两种方式创建：API 接口或管理平台。相信已经完成 《私有知识库 Coco AI 实战（一）》的小伙伴已经有 Coco AI 的管理平台了，下面我们将通过管理平台创建 Connector，如需要通过 API 方式创建，请参考 文档。
登录管理平台，设置 -&amp;gt; Connector -&amp;gt; 新增
Datasource # 数据源 -&amp;gt; 新增 -&amp;gt; MongoDB
记录上面的 Datasource ID: d037kjj75bvg264k5pe0, logstash 配置中要用。
Easysearch # 由于是使用 Logstash 连接 Easysearch，要开启兼容模式，编辑 easysearch.yml，详情请查阅 《如何使用 Logstash 8 连接 Easysearch》。</description></item><item><title>INFINI Labs 产品更新 | INFINI Console 1.29.6 发布 – 优化监控图表异常毛刺等</title><link>https://infinilabs.cn/blog/2025/release-20250615/</link><pubDate>Mon, 16 Jun 2025 09:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250615/</guid><description>INFINI Labs 产品更新发布！此次更新涵盖 Console 、Easysearch 等产品多项重要升级，重点优化监控图表异常毛刺。
INFINI Easysearch v1.13.0 Rollup Job 支持自动更新操作索引 mapping 更新, 未完成 rollup 的源索引禁止被 ilm 进行清理。 INFINI Console v1.29.6 系统集群新增 Rollup Gap 指标，修复监控图表异常毛刺、历史数据 top 索引查询指标异常等问题。 INFINI Easysearch v1.13.0 # INFINI Easysearch 是一个分布式的企业级搜索引擎，实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch，同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
Easysearch 本次更新如下：
功能更新 # Rollup 新增对已创建 job 的 interval 和 page_size 参数更新的 api Rollup 索引数据增加 unique 字段标识当前 job 的数据 Rollup 配置增加 window_start_time 字段，当重建 Rollup 时 会把历史 metadata 的最新时间戳写到 window_start_time 里 问题修复 # 优化改进 # Rollup 会自动检测源数据索引是否有新增字段，并更新到 metrics ILM 删除索引时 增加对 Rollup 的运行状态判断，未处理完的索引不会删除 INFINI Console v1.</description></item><item><title>一键启动：使用 start-local 脚本轻松管理 INFINI Console 与 Easysearch 本地环境</title><link>https://infinilabs.cn/blog/2025/console-easysearch-start-local/</link><pubDate>Sun, 15 Jun 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/console-easysearch-start-local/</guid><description>系列回顾与引言 # 在我们的 INFINI 本地环境搭建系列博客中：
第一篇《 搭建持久化的 INFINI Console 与 Easysearch 容器环境》，我们深入探讨了如何使用基础的 docker run 命令，一步步构建起 Console 和 Easysearch 服务，并重点解决了数据持久化的问题。 第二篇《 使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建》，我们学习了如何利用 Docker Compose 的声明式配置，将多容器应用的定义和管理变得更加简洁高效。 虽然 Docker Compose 已经极大地提升了便利性，但在实际的开发和测试流程中，我们可能还需要处理版本选择、初始配置复制、多节点配置、指标采集开启等更细致的需求。为了进一步封装这些复杂性，提供真正的一键式体验，我们精心打造了一个强大的 Shell 脚本 start-local 。
本篇文章将带你领略 start-local 的魅力，看看它是如何将 Console 和 Easysearch (本文仍以 Console 1.29.6 和 Easysearch 1.13.0 为例) 的本地环境搭建与管理提升到一个全新的便捷高度——只需一行命令，即可拥有一个功能完备、数据持久的本地 INFINI Console 运行环境。
start-local：您的 INFINI Console 本地环境瑞士军刀 # start-local 脚本（灵感来源于 elastic/start-local）集成了环境搭建的诸多最佳实践，旨在提供极致的易用性。它在后台仍然依赖 Docker 和 Docker Compose，但为用户屏蔽了底层的复杂配置细节。</description></item><item><title>使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建</title><link>https://infinilabs.cn/blog/2025/console-easysearch-with-docker-compose/</link><pubDate>Sat, 14 Jun 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/console-easysearch-with-docker-compose/</guid><description>前言回顾 # 在上一篇文章《 搭建持久化的 INFINI Console 与 Easysearch 容器环境》中，我们详细介绍了如何使用基础的 docker run 命令，手动启动和配置 INFINI Console (1.29.6) 和 INFINI Easysearch (1.13.0) 容器，并实现了关键数据的持久化，解决了重启后配置丢失的问题。
手动操作虽然能让我们深入理解 Docker 的核心机制，但在管理多个容器、网络和卷时，命令会变得冗长且容易出错。这时，Docker Compose 就派上了用场。它允许我们使用一个 YAML 文件来定义和运行多容器 Docker 应用程序。
本篇文章将演示如何将上一篇的手动步骤转换为使用 Docker Compose，让你更轻松地管理和维护这套本地开发测试环境。
Docker Compose 的优势 # 使用 Docker Compose 带来了诸多好处：
声明式配置：在一个 docker-compose.yml 文件中定义所有服务、网络和卷，清晰明了。 一键式管理：使用简单的命令（如 docker compose up, docker compose down）即可启动、停止和重建整个应用环境。 简化网络和服务连接：Compose 会自动处理服务间的网络设置和依赖关系。 易于共享和版本控制：docker-compose.yml 文件可以轻松地与团队共享并通过版本控制系统（如 Git）进行管理。 准备工作 # 与上一篇类似，你需要：
操作系统: macOS (本文示例) Docker 环境: OrbStack ( https://orbstack.</description></item><item><title>搭建持久化的 INFINI Console 与 Easysearch 容器环境</title><link>https://infinilabs.cn/blog/2025/console-easysearch-with-docker/</link><pubDate>Sat, 14 Jun 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/console-easysearch-with-docker/</guid><description>背景介绍 # 许多用户在使用 Docker 部署 INFINI Console（本文使用 1.29.6 版本）时，可能会遇到一个常见问题：重启容器后，之前在 INFINI Console 中所连接的系统集群配置会丢失。这个问题通常源于未能正确配置 Docker 的数据持久化。原本通过 Docker 运行 INFINI Console 只是一个简单的测试示例，并未考虑多次重启使用，现官方文档也进行了更新，参考： 容器部署
接下来我们本地测试一下。
理解核心问题：Docker 容器与数据持久化 # 默认情况下，Docker 容器的文件系统是临时的。当容器被停止并删除后，容器内部所做的任何未被持久化的更改都会丢失。INFINI Console 的配置存储在其容器内部的特定目录中。为了在容器重启或重建后保留这些信息，我们必须将这些关键目录映射到宿主机（你的电脑）上的持久化存储位置。
准备工作 # 操作系统: macOS (本文示例) Docker 环境: OrbStack ( https://orbstack.dev/) 或 Docker Desktop for Mac。 请确保 Docker 服务已启动并正常运行。你可以通过在终端执行 docker --version 来验证。
docker --version Docker version 25.0.5, build 5dc9bcc 步骤一：创建本地持久化目录和自定义 Docker 网络 # 首先，在宿主机上为 Console 和 Easysearch 创建用于存储配置、数据和日志的目录。同时，创建一个自定义 Docker 网络，以便容器之间可以通过名称进行通信。</description></item><item><title>INFINI Labs 产品更新 | Coco AI 0.5 发布 – 无缝集成 AI 搜索能力、支持插件扩展、支持快照版本更新等</title><link>https://infinilabs.cn/blog/2025/release-20250611/</link><pubDate>Fri, 13 Jun 2025 09:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250611/</guid><description>INFINI Labs 产品更新发布！此次更新涵盖 Coco AI 产品多项重要升级，重点提升 AI 搜索能力、易用性及企业级优化。
Coco AI v0.5 无缝集成 AI 搜索能力，支持第三方插件，新增 AI Command 快速访问 AI 能力，支持快照版本更新，优化交互细节，提升整体稳定性与用户体验等。 Coco AI Server v0.5 强化 API 能力与安全性，完善小助手配置，支持多用户登录。 Coco AI v0.5 # Coco AI 是一个完全开源、跨平台的统一 AI 搜索与效率工具，能够连接并搜索多种数据源，包括应用程序、文件、谷歌网盘、Notion、语雀、Hugo 等本地与云端数据。通过接入 DeepSeek 等大模型，Coco AI 实现了智能化的个人知识库管理，注重隐私，支持私有部署，帮助用户快速、智能地访问信息。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 v0.5 # 功能更新 # 搜索模式支持快速 AI 访问 支持插件扩展 添加 AI 摘要组件 支持搜索二级页面 点击或回车关闭助手列表 为置顶窗口添加暗度设置 支持 Shift + Enter 输入框换行 支持快照版本更新 历史记录列表添加收起按钮 聊天输入框支持多行输入 将 ~/Applications 添加到搜索路径 聊天内容添加返回底部按钮 搜索输入框支持多行输入 WebSocket 支持自签名 TLS 添加允许自签名证书选项 支持通过环境变量 COCO_LOG 动态设置日志级别 搜索结果重新排序 问题修复 # 修复为设置 API 添加缺失的 CORS 功能标志 修复数据源图标显示错误 修复处理 HugoSite 类型数据源中的空 URL 值 修复数据源和 MCP 选择问题 修复创建模型提供者时 crypto.</description></item><item><title>Coco AI 实战（一）：Coco Server Linux 平台部署</title><link>https://infinilabs.cn/blog/2025/coco-ai-hands-on-1/</link><pubDate>Wed, 11 Jun 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/coco-ai-hands-on-1/</guid><description>Coco AI 是一个完全开源、跨平台的统一搜索和生产力工具，能够连接各种数据源，包括应用程序、文件、Google Drive、Notion、Yuque、Hugo 等，帮助用户快速地访问他们的信息。通过集成多种大型模型平台，Coco AI 实现了智能个人知识管理，并支持私有部署。
如果有 Docker 环境，推荐使用 Docker 一键拉起。
docker run -d --name cocoserver -p 9000:9000 infinilabs/coco:0.5.2-2267 前置条件 # Easysearch：Coco AI Server 需要一个 Easysearch 集群，可以是单节点集群。 LLM：可选，支持在线和本地部署的大模型。用于对知识进行提炼、问答等。 Easysearch 安装 # 建议使用 bundle 包安装，可以是单节点集群，详情请参考 文档。
安装完后启动 Easysearch 集群。
Coco Server 安装 # 部署 Coco Server 的过程非常简单，先访问 Coco AI 官网 下载 Server 端软件。
解压后可看到相关执行文件和配置文件: coco.yml
修改配置文件 coco.yml，填入本地 Easysearch 的访问信息。
ES_ENDPOINT: https://localhost:9200 ES_USERNAME: admin ES_PASSWORD: 56939c1f6527d1a0d51c WEB_BINDING: 0.</description></item><item><title>Easysearch 索引备份之 Clone API</title><link>https://infinilabs.cn/blog/2025/easysearch-index-clone-api/</link><pubDate>Mon, 09 Jun 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-index-clone-api/</guid><description>在日常运维 Easysearch 的过程中，备份数据是一项重要工作。为了确保数据安全和业务连续性，我们可能需要了解并掌握多种备份索引的方法，以便应对不同的场景。我们先梳理下常用的备份方法有哪些。
Snapshot # Easysearch 的 Snapshot（快照） 是一种官方支持的集群数据备份与恢复机制，通过将索引数据、集群状态（如设置、模板）和分片分配信息保存到外部存储仓库（如本地文件系统、AWS S3、华为云 OBS 等）实现全量或增量备份。其核心原理是复制索引的 Lucene 分片文件，并利用段文件（Segment）的不可变性实现增量存储优化。
快照的优点包括：
高效性：增量备份仅存储新增或修改的段文件，显著节省存储空间和网络传输成本； 可靠性：支持跨集群恢复和灾难性故障修复，避免直接拷贝数据目录导致的数据不一致风险； 灵活性：可指定备份特定索引，并支持版本兼容性恢复（需遵循版本匹配规则）； 自动化：通过策略（Snapshot Policy）实现定时备份管理。 缺点则包括：
时效性限制：无法实现实时备份，是一种 PIT (Point in Time) 备份； 需预先配置：需预先注册仓库并确保存储系统可用性； 恢复约束：恢复时需关闭或删除目标索引，或恢复时修改索引名称； 依赖主分片状态：若主分片不可用（如节点故障），快照任务会失败。 总体而言，Snapshot 是生产环境首选的备份方案，尤其适合大规模数据归档和跨环境迁移，但需权衡备份频率与存储成本。详情可以参考 文档。
Reindex # Easysearch 的 Reindex 是一种通过 API 将数据从一个索引复制到另一个索引的备份方法，适用于同集群或跨集群的数据迁移与重建。其核心操作是使用 POST _reindex 命令将源索引的文档批量读取并写入目标索引。备份时需确保目标索引的 Mapping 与源索引兼容（字段类型一致），并通过 size 参数控制批量处理量（如 &amp;quot;size&amp;quot;: 2000）以优化性能。对于跨集群备份，需在目标集群配置文件中添加源集群 IP 白名单（reindex.remote.whitelist）并提供认证信息，详情可以参考 文档。
优点：
灵活性：支持通过 query 参数筛选特定数据备份（如仅迁移某字段值符合条件的数据）； 无缝整合：可在目标索引中修改索引结构（如分片数、字段类型）； 并发及限流：支持设置并发度和限流阈值，适应不同的场景； 操作便捷：无需额外存储配置，适合临时备份或小规模迁移。 缺点：
资源消耗大：reindex 本质是数据写入，要占用 CPU、内存和磁盘 IO，可能影响集群性能； 网络依赖：跨集群备份依赖网络带宽，高延迟或带宽不足会显著拖慢速度； 中断风险：reindex 一旦中途报错，无法继续重试，只能从头再来； 时效性局限：备份完成后新增数据需手动触发二次迁移，无法实现实时同步。 建议在低峰期执行 Reindex，并优先采用快照（Snapshot）进行生产环境长期备份，Reindex 更适合索引结构调整或小规模数据迁移场景。</description></item><item><title>使用 Logstash 迁移 MongoDB 数据到 Easysearch</title><link>https://infinilabs.cn/blog/2025/migrating-data-from-mongodb-to-easysearch-using-logstash/</link><pubDate>Mon, 26 May 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/migrating-data-from-mongodb-to-easysearch-using-logstash/</guid><description>大家好！在前面的文章中，我们已经详细介绍了如何通过 Logstash 和 Canal 工具实现 MySQL 数据向 Easysearch 的迁移。如果您正在使用 MongoDB 作为数据存储，并希望将其中的数据迁移到 Easysearch 中，这篇指南或许能为您提供一些帮助。
为了实现 MongoDB 与 Easysearch 之间的数据迁移，Logstash 依然是一个非常成熟稳定的工具选择。在接下来的内容中，我们将介绍如何利用 Logstash 实现 MongoDB 到 Easysearch 的数据迁移。
MongoDB # MongoDB 作为一款功能强大的 NoSQL 数据库，与主流数据库系统一样支持 JDBC 连接方式。这意味着我们可以通过 Logstash 的 JDBC 插件实现与 MongoDB 的连接，从而将数据迁移至 Easysearch。
MongoDB 测试数据如下
Logstash # 本次测试使用的 Logstash 版本为 8.17.4 。使用 JDBC 连接 MongoDB 数据库，要下载对应数据库的 MongoDB JDBC Driver，下载后解压。
测试配置文件 mongodb_to_easysearch.conf
input { jdbc{ jdbc_driver_class =&amp;gt; &amp;#34;Java::com.wisecoders.dbschema.mongodb.JdbcDriver&amp;#34; jdbc_driver_library =&amp;gt; &amp;#34;/usr/share/logstash/driver/mongojdbc4.8.3.jar&amp;#34; jdbc_user =&amp;gt; &amp;#34;user&amp;#34; jdbc_password =&amp;gt; &amp;#34;usertest&amp;#34; jdbc_connection_string =&amp;gt; &amp;#34;jdbc:mongodb://localhost:27017/test&amp;#34; statement =&amp;gt; &amp;#34;db.</description></item><item><title>【直播活动】Coco AI 全景解读：开源智能搜索与知识管理革新</title><link>https://infinilabs.cn/blog/2025/live-event-oschina-with-coco-0523/</link><pubDate>Mon, 19 May 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/live-event-oschina-with-coco-0523/</guid><description>📣 INFINI Labs &amp;amp; 开源中国 联合举办 Coco AI 专场直播活动来袭！
本直播活动将带您全面解析 Coco AI，探索其核心功能、技术架构及实际应用场景，领略智能搜索与知识管理的革新。欢迎预约观看 👇
直播时间： 2025-05-23 19:00
直播平台： OSC 开源视频号 、极限实验室视频号
直播主题 # 《Coco AI 全景解读：开源智能搜索与知识管理革新》
直播简介 # 在人工智能浪潮中，如何高效管理海量信息、实现智能搜索与知识共享，已成为个人与企业共同面临的挑战。本次直播聚焦于极限科技推出的 Coco AI，一款完全开源免费的智能搜索与知识库工具。我们将带您探索其核心功能、技术架构及实际应用场景。
无论您是希望优化知识管理的个人，还是期望建立高效信息生态的企业，亦或是对技术实现感兴趣的开发者，本次直播都将是您不可错过的学习与交流机会。
直播亮点 # 01 本地、云端等多源数据的智能化统一搜索与知识管理 02 开源架构与 AI 技术如何提升搜索精度与知识管理效率 03 Demo 演示：展示 Coco AI 快速构建企业级知识库 04 助手案例：用 Coco AI 打造 Elasticsearch 智能助手 05 开源生态如何推动 Coco AI 持续创新 06 下一代 AI 搜索工具的发展趋势与 Coco AI 的长期规 直播福利 # （一）互动抽奖</description></item><item><title>ES 调优帖：关于索引合并参数 index.merge.policy.deletePctAllowed 的取值优化</title><link>https://infinilabs.cn/blog/2025/index-merge-policy-deletepctallowed/</link><pubDate>Wed, 14 May 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/index-merge-policy-deletepctallowed/</guid><description>最近发现了 lucene 9.5 版本把 merge 策略的默认参数改了。
* GITHUB#11761: TieredMergePolicy now allowed a maximum allowable deletes percentage of down to 5%, and the default maximum allowable deletes percentage is changed from 33% to 20%. (Marc D'Mello) 也就是 index.merge.policy.deletePctAllowed 最小值可以取 5%（原来是 20%），而默认值为 20%（原来是 33%）。
这是一个控制索引中已删除文档的占比的参数，简单来说，调低这个参数能够降低存储大小，同时也需要更多的 cpu 和内存资源来完成这个调优。
通过这个 帖子的讨论，大家可以发现，“实践出真知”，这次的参数调整是 lucene 社区对于用户积极反馈的采纳。因此，对于老版本的用户，也可以在 deletepct 比较高的场景下，调优这个参数，当然一切生产调整都需要经过测试。
对于 ES 的新用户来说，这时候可能冒出了下面这些问题
这个参数反馈的已删除文档占比 deletepct 是什么？ 它怎么计算的呢？较高的 deletepct 会有什么影响？ 较低的 deletepct 为什么会有更多的资源消耗？ 除了调优这个参数还有什么优化办法么？ 伴随这些问题，来探讨一下这个参数的来源和作用。
deletePctAllowed：软删除的遗留 # 在 Lucene 中，软删除是一种标记文档以便后续逻辑删除的机制，而不是立即从索引中物理删除文档。</description></item><item><title>Easysearch 时序数据的基于时间范围的合并策略</title><link>https://infinilabs.cn/blog/2025/time-range-mergepolicy-for-easysearch/</link><pubDate>Tue, 29 Apr 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/time-range-mergepolicy-for-easysearch/</guid><description>Easysearch 新功能：使用时间范围合并策略优化你的时序索引
如果你正在使用 Easysearch 处理日志、监控指标、事件流或其他任何具有时间顺序的数据，那么你一定知道索引的性能和效率至关重要。Easysearch 底层的 Lucene Segment 合并是保持搜索和索引性能的关键后台任务。然而，你是否意识到，默认的合并策略可能并不是处理时序数据的最佳选择？
今天，我们就来介绍 Easysearch 1.12.1 版本起引入的一个重要优化：基于时间范围的合并策略 (TimeRangeMergePolicy)，它专门为优化时序数据的 Segment 合并而生。
时序数据的合并挑战：默认策略的局限性 # Easysearch 默认使用的合并策略（如 TieredMergePolicy）非常智能，它会根据 Segment 的大小、文档删除比例等因素来决定合并哪些 Segment，以平衡查询性能和资源使用。
但在时序数据场景下，这种通用策略可能会遇到一些问题：
冷热数据混合： 想象一下，几个月前的旧日志数据（冷数据）可能因为大小合适而被选中，与最近几小时内产生的新数据（热数据）进行合并。这会带来不必要的 I/O 和 CPU 开销，因为冷数据通常访问很少，合并它们对查询性能的提升有限，反而消耗了宝贵的资源。 查询性能影响： 合并可能产生覆盖时间跨度非常大的 Segment。当你执行按时间范围过滤的查询时（这在时序场景中非常常见），查询可能需要扫描这些巨大的 Segment，即使其中大部分数据都不在你的目标时间范围内，从而降低查询效率。 解决方案：TimeRangeMergePolicy 登场！ # 为了解决上述痛点，Easysearch 引入了 TimeRangeMergePolicy。顾名思义，这种策略在做合并决策时，将时间维度纳入了核心考量。
它的核心思想很简单，但非常有效：
时间优先： 倾向于合并那些时间上相邻或接近的 Segment。比如，属于同一天或同一小时的 Segment 更有可能被一起合并。 保留时间分区： 尽量避免将时间跨度极大的 Segment 合并在一起。这有助于保持数据的“时间局部性”，使得按时间范围查询时能更快地排除不相关的 Segment。 优先合并新数据： 通常，新产生的数据（热数据）更新和删除操作更频繁。优先合并包含较新数据的 Segment，有助于更快地回收被删除文档占用的空间，并优化对最新数据的查询性能。 如何为你的时序索引启用 TimeRangeMergePolicy？ # 启用这个功能非常简单，只需要两步：
确认日期字段： 首先，确保你的索引 Mapping 中有一个能准确代表数据时间的字段，通常是日期（date）或时间戳（date_nanos）类型，例如 @timestamp、event_time 等。这个字段的值应该反映数据产生的实际时间。 更新索引设置： 使用 Index Settings API，为你的索引指定 index.</description></item><item><title>INFINI Labs 产品更新 | Coco AI 0.4 发布 – 完善小助手设置，添加MCP支持</title><link>https://infinilabs.cn/blog/2025/release-20250428/</link><pubDate>Mon, 28 Apr 2025 09:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250428/</guid><description>INFINI Labs 产品更新发布！此次更新涵盖 Coco AI 、Easysearch 等产品多项重要升级，重点提升 AI 搜索能力、易用性及企业级优化。
Coco AI v0.4 作为 开源、跨平台的 AI 搜索工具，完善小助手设置，添加 MCP 支持。 Coco AI Server 新增模型提供商管理，AI 助手设置和大量优化改进。 INFINI Easysearch v1.12.1 修复上个版本引入的数个问题。 INFINI Console、Gateway、Agent、Loadgen、Framework 关键问题修复，优化 HTTP 请求压缩，修复一些界面问题。 Coco AI v0.4 # Coco AI 是一个完全开源、跨平台的统一 AI 搜索与效率工具，能够连接并搜索多种数据源，包括应用程序、文件、谷歌网盘、Notion、语雀、Hugo 等本地与云端数据。通过接入 DeepSeek 等大模型，Coco AI 实现了智能化的个人知识库管理，注重隐私，支持私有部署，帮助用户快速、智能地访问信息。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 v0.4.0 # Coco AI 服务端 v0.4.0 # 功能更新 # 新增聊天会话管理 API 支持字体图标 新增 AI 助手设置 新增 MCP 服务器管理 新增模型提供商管理 新增版本及授权信息 问题修复 # 修复了语雀连接器对个人令牌支持不完善的问题 修复嵌入组件包装器中的 Content-Type 头错误问题 修复默认登录 URL 不可更改的问题 优化改进 # 内置连接器图标资源设置为只读 支持设置嵌入组件的图标和占位符 优化嵌入组件搜索框 UI 重构优化安全插件 嵌入组件主题样式设置为 auto 时搜索框主题样式跟随系统 嵌入组件支持设置推荐话题 跳过处理已禁用的嵌入组件包装器 创建 google drive 类型数据源时，如果缺少必要设置，引导用户去设置 默认使用 Go Module 管理模块依赖 图标组件支持用户输入 URL 地址配置图标 更新默认查询模版 INFINI Easysearch v1.</description></item><item><title>Console 纳管 Elasticsearch 9（二）：日志监控</title><link>https://infinilabs.cn/blog/2025/console-manage-es9-logs/</link><pubDate>Sun, 27 Apr 2025 17:30:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/console-manage-es9-logs/</guid><description>前面介绍过 Console 纳管 Elasticsearch 9（一），进行指标监控、数据管理、DSL 语句执行，但日志监控功能需要结合 Agent 才能使用。现在来实现一下：
Agent 需要和 ES 部署到同一机器上，这里是在我本地电脑上进行安装。
安装 Elastisearch # curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.0.0-darwin-x86_64.tar.gz curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.0.0-darwin-x86_64.tar.gz.sha512 | shasum -a 512 -c - tar -xzf elasticsearch-9.0.0-darwin-x86_64.tar.gz cd elasticsearch-9.0.0/ ./bin/elasticsearch 将 ES 注册到 Console 中。
安装 Agent # curl -O https://release.infinilabs.com/agent/stable/agent-1.29.2-2008-mac-amd64.zip mkdir agent unzip agent-1.29.2-2008-mac-amd64.zip -d agent/ cd agent 修改配置文件 agent.yml，填写正确的 Console 地址。
启动 Agent，成功注册到 Console，获取到相关配置，但连接 Console 系统集群出现异常，这是因为 Console 系统集群是 Docker 部署的（172.17.0.2 是 Docker 内部 IP）。</description></item><item><title>Console 纳管 Elasticsearch 9（一）：指标监控、数据管理、DSL 语句执行</title><link>https://infinilabs.cn/blog/2025/console-manage-es9/</link><pubDate>Sun, 27 Apr 2025 17:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/console-manage-es9/</guid><description>Elasticsearch 发布 9.0 版本了，测试 Console 管理维护 ES9 集群。
部署注册 # 使用 Docker 快速部署 ES9。
docker run --name es9 -p 9201:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:9.0.0 使用 Docker 部署 Console，请参考 文档。
docker run -d --name console -p 9001:9000 infinilabs/console:1.29.2-2008 将 ES9 注册到 Console，默认采集模式为 Agentless。
请求模拟 # 使用 Loadgen 模拟数据写入和查询。
env: ES_USERNAME: elastic ES_PASSWORD: CZ-FHm+M5cbfee_yMPZp ES_ENDPOINT: https://192.168.0.101:9201 runner: # total_rounds: 1 no_warm: true valid_status_codes_during_warmup: [ 200,201,404 ] # Whether to log all requests log_requests: false # Whether to log all requests with the specified response status log_status_codes: - 0 - 500 assert_invalid: false assert_error: false # Whether to reset the context, including variables, runtime KV pairs, etc.</description></item><item><title>【直播活动】开源智能搜索与知识管理革新 —— Coco AI 全景解读</title><link>https://infinilabs.cn/blog/2025/live-event-comprehensive-overview-of-coco-AI/</link><pubDate>Fri, 25 Apr 2025 18:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/live-event-comprehensive-overview-of-coco-AI/</guid><description>4 月 28 日（周一）19:00，INFINI Labs 与 GitCode 联合为您带来 Coco AI 专场直播！本次直播将深度剖析 Coco AI 的核心功能、技术架构及其在实际场景中的应用，带您领略智能搜索与知识管理的全新变革。精彩不容错过，快来预约观看吧！👇
直播时间： 2025-04-28 19:00
直播平台： GitCode 视频号 、CSDN 双端、极限实验室视频号
CSDN 直播间地址 👇
https://live.csdn.net/room/csdnedu/q6BD0Kui
直播主题 # 开源智能搜索与知识管理革新 —— Coco AI 全景解读
直播简介 # 在人工智能技术飞速发展的今天，如何高效管理海量信息、实现智能搜索与知识共享，已成为个人与企业共同面临的挑战。本次直播将全面解析 Coco AI —— 由极限科技（INFINI Labs）推出的开源、跨平台智能搜索与知识库管理工具，带您探索其核心功能、技术架构及实际应用场景。
无论您是希望优化知识管理的个人，还是期望建立高效信息生态的企业，亦或是对技术实现感兴趣的开发者，本次直播都将是您不可错过的学习与交流机会。
直播主题及嘉宾介绍 # 主题一 ：《下一代 AI 搜索工具 - Coco AI 介绍》 # 主题摘要： Coco AI 是由极限科技推出的一款完全开源且免费的智能搜索与 AI 知识库工具。本次分享将深入介绍 Coco AI 的核心功能，并探讨如何融合人工智能与搜索技术，实现智能化搜索与知识管理的全面优化，从而有效提升企业协作效率与个人生产力。
分享嘉宾： 曾勇，极限科技 / INFINI Labs 创始人兼 CEO，现正带领团队专注于下一代实时搜索引擎与 AI 智能搜索相关技术的研发与创新。</description></item><item><title>Coco AI 入驻 GitCode：打破数据孤岛，解锁智能协作新可能</title><link>https://infinilabs.cn/blog/2025/coco-AI-settles-in-gitcode/</link><pubDate>Fri, 25 Apr 2025 17:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/coco-AI-settles-in-gitcode/</guid><description>在信息爆炸时代，企业正面临前所未有的挑战：
企业数据和信息分散，数据孤岛现象严重，员工往往浪费大量时间跨平台检索； 跨部门协作困难，团队因信息隔阂导致项目延期； 数据安全问题严峻，迫使企业对数据管理提出高要求； 传统搜索准确率不足，无法满足用户深层次需求； 这正是 Coco AI 诞生的契机——一款重新定义企业效率的智能中枢。
Coco AI 是一个完全开源、跨平台的统一搜索与效率工具，深度融合大语言模型技术，实现从&amp;quot;人找信息&amp;quot;到&amp;quot;信息追人&amp;quot;的范式革命。目前已加入 GitCode 平台成为 G-Star 优秀毕业项目。通过连接 Google Workspace、Notion、语雀等 200+ 数据源，接入 DeepSeek 等大模型，构建企业级智能知识图谱，让数据真正流动起来，帮助企业高效管理和利用内外部数据资源。
多种功能 一次集合 # 全域智能搜索 # Coco AI 支持整合企业内部和外部的多种数据源，包括 Google Workspace、Dropbox、GitHub、本地文件系统等。 提供统一的搜索界面，用户无需切换多个平台即可快速检索所需信息。 AI 知识管家 # 内置基于生成式 AI 的聊天助手，能够理解企业内部的文档、对话记录和工作流程。 支持从互联网、内部知识库和指定数据源中提取信息，提供与组织相关的智能回答。 支持在搜索模式和聊天模式之间快速切换。 企业安全中枢 # 遵循企业级权限管理规范，确保数据访问的安全性。 支持私有化部署，满足企业对数据隐私的高要求。 允许开发者根据需求进行定制和扩展，支持企业自行部署，确保数据隐私和安全。 协作生态集成 # 用户可以直接与单个文件或数据源进行交互，例如对文档内容提问或生成摘要。 通过整合团队常用的工具和数据源，提升团队协作效率。 支持基于上下文的多轮对话，帮助团队成员快速获取所需信息。 在 1 分钟内轻松将 Coco AI 功能嵌入到您的网站中。 架构设计图 # 核心模块 “Coco Server” 提供搜索、聊天、附件管理、索引、嵌入、安全等功能，并通过 API 实现与外部系统的交互。同时，系统支持自定义 UI，为用户提供个性化的搜索和任务管理体验，并通过 AI 助手提供智能化的信息交互体验。</description></item><item><title>Easysearch 移除 Data 节点注意事项</title><link>https://infinilabs.cn/blog/2025/easysearch-removal-of-data-node-considerations/</link><pubDate>Wed, 23 Apr 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-removal-of-data-node-considerations/</guid><description>之前介绍过 Easysearch 移除 Master 节点注意事项，感兴趣的小伙伴可以点此 查看。本篇继续介绍移除 Data 节点注意事项，帮助运维人员最大限度降低操作的影响。
潜在影响 # 基于 Easysearch 的副本分片机制，在所有索引均配置副本的前提下，直接下线一个数据节点不会导致数据丢失或读写中断。然而，该操作会触发以下连锁反应：
集群状态：节点直接下线，集群状态将变为 Yellow 状态，可能触发监控告警。 资源消耗：集群将自动分配副本分片以替换缺失的副本，使集群重回 Green 状态。此过程需占用一定网络带宽与磁盘I/O资源。 优化操作过程 # 选择业务低峰期 因为恢复分片要占用一定资源，可能会影响读写延时，建议选择一个业务低峰期执行该操作。
评估磁盘容量 下线节点的数据默认会均匀分布到剩下的数据节点上，评估剩下的数据节点是否有磁盘容纳该数据，磁盘利用率是否会到达 磁盘水位线。
检查集群健康状态 操作前确保集群状态为 Green（GET _cluster/health），所有主分片和副本分片均已分配。若状态为黄色或红色，需先解决分片未分配或节点故障问题。
迁移分片 通过 PUT _cluster/settings 设置排除要下线节点的 IP 或名称，触发分片迁移。例如：
PUT _cluster/settings { &amp;#34;transient&amp;#34;: { &amp;#34;cluster.routing.allocation.exclude._ip&amp;#34;: &amp;#34;192.168.1.9&amp;#34; } } 支持按 _name、_id 等属性过滤。
监控分片迁移进度 使用 GET _cat/tasks?v 查看相关恢复任务都已完成。
使用 GET _cat/allocation?v 查看分片分配情况，确认目标节点分片数降为 0。
关闭节点服务 在分片迁移完成后，停止目标节点的进程。</description></item><item><title>【Workshop 第一期 - 北京站】搜索服务统一治理（跨引擎多个集群监控管理、流量管控、服务编排）</title><link>https://infinilabs.cn/blog/2025/workshop-beijing-1/</link><pubDate>Mon, 21 Apr 2025 16:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/workshop-beijing-1/</guid><description>本次活动将围绕 “搜索服务统一治理”、“流量管控”、“服务编排” 三大核心板块展开，深入探讨如何通过 INFINI Labs 产品为企业提供高效、灵活的搜索基础设施管理方案。
🔥 活动免费，欢迎 报名 参加。
活动时间：2025 年 5 月 15 日 13:30 ～ 17:30
活动地点：北京市海淀区 Wework 辉煌时代大厦 3 楼 3E 会议室
活动海报 # 活动内容 # 1、搜索服务统一治理 # 环境搭建：INFINI Console、Easysearch、Agent、Email
多集群监控管理：生命周期保留期限调整、删除老的索引、rollover 多集群监控告警：告警监控数据、告警业务数据 多集群日志查看：实时日志查看 2、流量管控 # 环境搭建：INFINI Gateway
Easysearch 节点限速 Easysearch 索引限速 Easysearch 分片限速 Gateway 限速 3、服务编排 # 环境搭建：安装 K8S、INFINI Cloud
INFINI Cloud 安装 INFINI Cloud 发布 Easysearch 集群 INFINI Cloud 增加 Easysearch 节点 INFINI Cloud 扩容 Easysearch 资源 参会提示 # 请务必自备电脑（Windows 系统环境请提前安装好 Linux 虚拟机） 请提前在 INFINI Labs 官网下载对应平台最新安装包（INFINI Easysearch、INFINI Gateway、INFINI Console） 下载地址：https://infinilabs.</description></item><item><title>Easysearch 索引生命周期管理实战</title><link>https://infinilabs.cn/blog/2025/easysearch-ilm-practical-guide/</link><pubDate>Sat, 19 Apr 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-ilm-practical-guide/</guid><description>如果你的使用场景是对时序型数据进行分析，可能你会更重视最新的数据，并且可能会定期对老旧的数据进行一些处理，比如减少副本数、forcemerge、 删除等。Easysearch 的索引生命周期管理功能，可以自动完成此类索引的管理任务。
创建策略 # 为了演示，我们定义一个简单的索引策略：
索引创建后进入 hot 阶段，此阶段的索引有 2 个副本（在索引模板中定义） 创建索引 3 分钟后，进入 warm 阶段，此阶段的索引有 1 个副本 创建索引 10 分钟后，进入 cold 阶段，此阶段的索引没有副本 PUT _ilm/policy/ilm_test { &amp;#34;policy&amp;#34;: { &amp;#34;phases&amp;#34;: { &amp;#34;hot&amp;#34;: { &amp;#34;min_age&amp;#34;: &amp;#34;0m&amp;#34; }, &amp;#34;warm&amp;#34;: { &amp;#34;min_age&amp;#34;: &amp;#34;3m&amp;#34;, &amp;#34;actions&amp;#34;: { &amp;#34;replica_count&amp;#34;:{ &amp;#34;number_of_replicas&amp;#34;: 1 } } }, &amp;#34;cold&amp;#34;: { &amp;#34;min_age&amp;#34;: &amp;#34;10m&amp;#34;, &amp;#34;actions&amp;#34;: { &amp;#34;replica_count&amp;#34;:{ &amp;#34;number_of_replicas&amp;#34;: 0 } } } } } } 当然每个阶段还支持更多的操作，比如 rollover、forcemerge、readonly、snapshot 等。更多的信息请查看官方 文档。
生命周期策略后台是定期触发的任务，为了更快的观测到效果，可以修改任务触发周期为每分钟 1 次。</description></item><item><title>Easysearch 迁移数据之 Reindex From Remote</title><link>https://infinilabs.cn/blog/2025/easysearch-reindex-from-remote/</link><pubDate>Wed, 16 Apr 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-reindex-from-remote/</guid><description>在之前的博客《 从 Elastic 迁移到 Easysearch 指引》中介绍过如何把索引从 Elasticsearch 迁移到 Easysearch。有时候想临时从 Elasticsearch 迁移点儿数据做测试，数据量不大，也可尝试使用 Reindex From Remote 的方法。
测试环境介绍 # 本次主要测试从远程集群索引数据，reindex 还有很多其他使用方式，详情请参考 官方文档。
Easysearch 版本：1.10.0，监听 localhost:9200 Elasticsearch 版本：6.8.23，监听 localhost:9201 INFINI Console 版本：1.25.1（运行 reindex 命令用） Reindex API # Reindex 可以从本地或远程集群将源索引数据写入本地目标索引。使用简单，有以下注意点：
源索引启用 _source ，这个默认都是启用的 在调用 _reindex 之前，应该先创建、配置目标索引 如果源索引在远程集群，必须在 easysearch.yml 中配置 reindex.remote.whitelist 设置 使用 POST 调用 测试过程 # 我们先不设置白名单，直接从远程集群 reindex 看看会怎样。
报错提示 localhost:9201 不在 reindex.remote.whitelist 中。
正常操作步骤
编辑 Easysearch 配置文件 easysearch.</description></item><item><title>Easysearch Rollup 相比 OpenSearch Rollup 的优势分析</title><link>https://infinilabs.cn/blog/2025/Easysearch-Rollup-vs-OpenSearch-Rollup/</link><pubDate>Sun, 13 Apr 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/Easysearch-Rollup-vs-OpenSearch-Rollup/</guid><description>背景 # 在处理时序数据时，Rollup 功能通过数据聚合显著降低存储成本，并提升查询性能。Easysearch 与 OpenSearch 均提供了 Rollup 能力，但在多个关键维度上， Easysearch Rollup 展现出更优的表现。本文将从查询体验、索引管理、聚合能力、性能优化和任务管理五个方面，分析 Easysearch Rollup 相较于 OpenSearch Rollup 的优势。
Easysearch vs OpenSearch # 1. 查询体验：标准接口与无缝集成 # Easysearch Rollup 支持通过标准的 _search API 查询原始索引，系统自动融合 Rollup 数据，用户无需变更现有代码或使用专用查询端点。相比之下，OpenSearch Rollup 虽然使用标准查询语法，但需要用户显式指定 Rollup 索引，无法自动结合原始数据，在需要同时访问原始与聚合数据的场景下显得更为繁琐。
差异：Easysearch 支持自动融合原始与 Rollup 数据，OpenSearch 需手动指定索引。 影响：Easysearch 显著降低了查询逻辑的复杂性和开发维护成本。 2. 索引管理：自动化与扩展能力 # Easysearch Rollup 提供自动索引滚动功能，可通过 rollup.index_max_docs. 配置项为不同的目标 Rollup 索引设置文档数上限，触发新索引的动态创建，显著简化管理流程。此外，配置中支持使用变量（如 {{ctx.source_index}}）动态生成目标索引名，便于多个任务复用同一模板，批量扩展 Rollup 任务时更加高效和灵活。
相比之下，OpenSearch Rollup 依赖 Index State Management（ISM）策略或手动操作进行索引切换，配置复杂、监控成本高，且在大规模任务部署时缺乏灵活的模板化机制。</description></item><item><title>Easysearch 移除 Master 节点注意事项</title><link>https://infinilabs.cn/blog/2025/considerations-for-removing-master-nodes-in-easysearch/</link><pubDate>Sun, 13 Apr 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/considerations-for-removing-master-nodes-in-easysearch/</guid><description>Easysearch 采用智能化的动态投票配置管理机制，当集群节点发生增删变更时，系统会自动调整投票集合配置，以确保集群的高容错性。在选举新的 Master 节点或提交集群状态变更时，系统会根据当前集群状态，动态确定参与投票的 Master-eligible 节点集合并进行计数，确保决策过程的高效性和可靠性。
移除 Master-eligible 节点 # Easysearch 节点角色中有一个叫 Master 的角色，配置 Master 角色的节点就具有了“投票选举”的资格，这些节点统称为 Master-eligible 节点。
有些时候你可能想移除 Master-eligible 节点，需要注意的是，如果你同时关闭一半或更多的 Master-eligible 节点，那么集群将会变得不可用。必须保证一半以上的 Master-eligible 同时在线，集群才可用。因此，执行此操作的关键点是不要一次性移除太多。建议最好一次移除一个 Master-eligible 节点，给集群足够的时间来自动调整投票配置。
假如一个 Easysearch 集群最开始有 5 个 Master-eligible 节点，一次移除一个节点，操作到最后，集群会剩下两个 Master-eligible 节点。这两个节点都不能被移除，因为一旦关闭其中一个节点，就相当于关闭了二分之一数量的 Master-eligible 节点，集群将变得不可用。
如果此时还要继续移除 Master-eligible 节点，就要先手动调整 Easysearch 的投票配置，将要移除的节点排除在投票集合之外。一旦成功地将节点添加到投票排除列表后，就可以安全的关闭该节点了。
查看投票配置 # 可以使用下面的命令查看集群的投票配置。
GET /_cluster/state?filter_path=metadata.cluster_coordination 从上图可以看到，我们的投票集合里有 3 个节点。但是目前集群只有 2 个节点在线。
因为要保持投票集合为单数，Easysearch 的动态投票配置管理机制并没有把已经离线的 node-3 移出投票集合。
投票排除列表 # 这时候如果我们要继续移除 node-2，就要手工将 node-2 节点排除在投票集合之外。而且一旦我们这样操作后，Easysearch 的动态投票配置管理机制也会将 node-3 移出投票集合。
POST /_cluster/voting_config_exclusions?</description></item><item><title>INFINI Console 系统集群状态异常修复</title><link>https://infinilabs.cn/blog/2025/infini-console-system-cluster-not-avaiable/</link><pubDate>Wed, 02 Apr 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/infini-console-system-cluster-not-avaiable/</guid><description>背景介绍 # 运行 INFINI Console 1.29.0 和 1.29.1 版本 的用户在 新初始化 平台后可能会遇到一个特定问题。如果后台的系统 Easysearch/Elasticsearch 集群（存储 Console 元数据的集群，通常名为 .infini_cluster 或类似名称）包含超过一个节点的场景下， INFINI Console 会错误地报告系统集群健康状态异常（例如，显示为不可用）。
而对于已存在的历史集群不会发生，如果有以上情况，单纯升级并不能解决问题。可以尝试本文的解决方案。
这是这些版本在特定条件下（新初始化的、多节点的系统集群）的一种显示或状态检测上的问题。底层的 Easysearch/Elasticsearch 集群本身的健康状态通常是绿色 (green) 的。
下面我们提供了一个简单的变通方法来修正 INFINI Console 中显示的状态，通过 INFINI Console 自带的开发工具操作即可。
问题现象 # INFINI Console UI 中“系统集群”的健康状态指示器显示为不可用。 伴随的文本可能指示“异常”或不健康状态。 直接检查 Easysearch/Elasticsearch 系统集群的健康状态（例如，通过 GET _cluster/health）显示 status: green。 此问题仅在 1.29.0 或 1.29.1 版本、新初始化 部署且系统 Easysearch/Elasticsearch 集群中有多个节点的情况下观察到。 解决方案 # 解决方法涉及更新 .infini_cluster 索引（如果您的系统集群索引名称不同，请相应调整）中的一个特定文档。该文档代表 Console 中的系统集群实体，我们需要手动将其健康状态标签设置正确。
命令:
POST /.</description></item><item><title>Operator 开发入门系列（一）：Hello World!</title><link>https://infinilabs.cn/blog/2025/kubernetes-operator-develop-part-1/</link><pubDate>Tue, 01 Apr 2025 10:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/kubernetes-operator-develop-part-1/</guid><description>背景 # 我们公司最近计划将产品迁移到 Kubernetes 环境。 为了更好地管理和自动化我们的应用程序，我们决定使用 Kubernetes Operator。 本系列博客将记录我们学习和开发 Operator 的过程，希望能帮助更多的人入门 Operator 开发。
目标读者 # 对 Kubernetes 有一定了解的开发人员和运维人员 希望使用 Operator 自动化管理应用程序的人员 对 Go 语言有基本了解的人员 准备工作 # 在开始之前，你需要准备以下环境：
Go 语言环境 (&amp;gt;= 1.23): Operator 通常使用 Go 语言开发，你需要安装 Go 语言环境。 建议使用 Go 1.21 或更高版本。 可以从 https://go.dev/dl/ 下载安装包。 安装完成后，请配置好 GOPATH 和 PATH 环境变量。
Kubernetes 集群: 你需要一个可用的 Kubernetes 集群来部署和测试 Operator。 可以使用 Minikube、Kind 或其他的 Kubernetes 发行版。
kubectl 命令行工具: kubectl 是 Kubernetes 的命令行工具，用于与 Kubernetes 集群交互。 请确保你已经安装并配置了 kubectl， 并且能够连接到你的 Kubernetes 集群。</description></item><item><title>INFINI Labs 产品更新 | Coco AI 0.3 发布 – 新增支持 Widget 外部站点集成</title><link>https://infinilabs.cn/blog/2025/release-20250331/</link><pubDate>Tue, 01 Apr 2025 09:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250331/</guid><description>INFINI Labs 产品更新发布！此次更新涵盖 Coco AI 、Easysearch 等产品多项重要升级，重点提升 AI 搜索能力、易用性及企业级优化。
Coco AI v0.3 作为 开源、跨平台的 AI 搜索工具，新增快捷键设置，支持多个聊天会话等功能。 Coco AI Server 新增连接器 UI 管理支持，允许用户通过请求头传递 websocket 会话 ID。 INFINI Easysearch v1.12.0 集成 AI 向量搜索，优化 Rollup 能力。 INFINI Console、Gateway、Agent、Loadgen、Framework 关键问题修复，优化 Security 处理与整体用户体验。 Coco AI v0.3 # Coco AI 是一个完全开源、跨平台的统一 AI 搜索与效率工具，能够连接并搜索多种数据源，包括应用程序、文件、谷歌网盘、Notion、语雀、Hugo 等本地与云端数据。通过接入 DeepSeek 等大模型，Coco AI 实现了智能化的个人知识库管理，注重隐私，支持私有部署，帮助用户快速、智能地访问信息。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 v0.3.0 # 功能更新 # 新增快捷键设置 支持多个聊天会话 问题修复 # 应用程序搜索移除图标不正常的候选列表 优化改进 # 重构代码,复用前端组件提供 Web Widget 外部引入 Coco AI 服务端 v0.</description></item><item><title>Easysearch 自动备份：快照生命周期管理</title><link>https://infinilabs.cn/blog/2025/easysearch-auto-backup-snapshot-lifecycle-management/</link><pubDate>Tue, 01 Apr 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-auto-backup-snapshot-lifecycle-management/</guid><description>之前介绍了 Easysearch 如何 使用 S3 进行快照备份，毕竟那是手工操作。Easysearch 还提供了 快照生命周期管理，能够按照策略自动创建、删除快照，极大地方便了用户的日常管理。
快照生命周期管理计划由创建计划、删除计划以及快照配置组成。
创建计划和删除计划包含一个 cron 表达式，指定任务的频率和时间。 删除计划可以指定快照保留策略，以保留过去 30 天的快照或仅保留最近的 10 个快照。 快照配置包括快照的索引和存储库，并支持所有通过 API 创建快照时的参数。此外，还可以指定快照名称中使用的日期的格式和时区。 快照生命周期创建的快照名称格式为 &amp;lt;policy _ name&amp;gt;-&amp;lt;date&amp;gt;-&amp;lt;Random number&amp;gt; 。
比如， 计划每 2 分钟对索引 .infini_metrics-00001 创建一个快照，并且只保留最近的 2 个快照。
curl -XPOST -uadmin:admin -H &amp;#39;Content-Type: application/json&amp;#39; &amp;#39;https://localhost:9200/_slm/policies/daily-policy&amp;#39; -d &amp;#39; { &amp;#34;description&amp;#34;: &amp;#34;测试快照策略&amp;#34;, &amp;#34;creation&amp;#34;: { &amp;#34;schedule&amp;#34;: { &amp;#34;cron&amp;#34;: { &amp;#34;expression&amp;#34;: &amp;#34;*/2 * * * *&amp;#34;, &amp;#34;timezone&amp;#34;: &amp;#34;Asia/Shanghai&amp;#34; } }, &amp;#34;time_limit&amp;#34;: &amp;#34;1h&amp;#34; }, &amp;#34;deletion&amp;#34;: { &amp;#34;schedule&amp;#34;: { &amp;#34;cron&amp;#34;: { &amp;#34;expression&amp;#34;: &amp;#34;*/1 * * * *&amp;#34;, &amp;#34;timezone&amp;#34;: &amp;#34;Asia/Shanghai&amp;#34; } }, &amp;#34;condition&amp;#34;: { &amp;#34;max_count&amp;#34;: 2 }, &amp;#34;time_limit&amp;#34;: &amp;#34;1h&amp;#34; }, &amp;#34;snapshot_config&amp;#34;: { &amp;#34;date_format&amp;#34;: &amp;#34;yyyy-MM-dd-HH:mm&amp;#34;, &amp;#34;date_format_timezone&amp;#34;: &amp;#34;Asia/Shanghai&amp;#34;, &amp;#34;indices&amp;#34;: &amp;#34;.</description></item><item><title>Easysearch S3 备份实战</title><link>https://infinilabs.cn/blog/2025/hands-on-guide-to-easysearch-s3-backup/</link><pubDate>Mon, 31 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/hands-on-guide-to-easysearch-s3-backup/</guid><description>Easysearch 内置了 S3 插件，这意味着用户可以直接使用该功能而无需额外安装任何插件。通过这一内置支持，用户能够方便快捷地执行 Amazon S3 上的数据快照操作。这种设计不仅简化了配置流程，也提高了工作效率，使得数据备份或迁移等任务变得更加简单易行。对于需要频繁与 S3 存储服务交互的应用场景来说，这是一个非常实用且高效的功能特性。
Minio # MinIO 是一款高性能的开源对象存储系统，专为存储大量的非结构化数据而设计。它提供了与 Amazon S3 兼容的 API，本次测试我们使用 MinIO 作为存储仓库。
建立 Bucket # 进入 MinIO 管理界面，创建测试用的 bucket。
创建 Access key # 测试的 Access Key 设置的比较简单。
Easysearch # 为了能够使用 S3 存储，Easysearch 要进行必要的配置。
easyearch.yml # 修改 easysearch.yml 配置 S3 信息。
s3.client.default.endpoint: 172.17.0.4:9000 s3.client.default.protocol: http ⚠️注意：修改了 easysearch.yml 需要重启生效。
keystore # 为了安全，我们把 S3 的 Access key 信息加入 keystore 中。</description></item><item><title>如何使用 Grafana 连接 Easyearch</title><link>https://infinilabs.cn/blog/2025/how-to-connect-grafana-to-easysearch/</link><pubDate>Sat, 29 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/how-to-connect-grafana-to-easysearch/</guid><description>Grafana 介绍 # Grafana 是一款开源的跨平台数据可视化与监控分析工具，专为时序数据（如服务器性能指标、应用程序日志、业务数据等）设计。它通过直观的仪表盘（Dashboards）帮助用户实时监控系统状态、分析趋势，并支持告警功能，是 DevOps、运维团队和数据分析师的重要工具。
目前 Grafana 已经支持使用 Elasticsearch 作为数据源，由于 Easysearch 兼容 Elasticsearch 的 API，所以Grafana 也可使用 Easysearh 作为数据源。
Easysearch 设置 # Grafana 官方声明支持 Elasticsearch v7.17 和 v8.x 版本，如果使用 Grafana 连接老版本 ES 会有告警提示。建议 Easysearch 打开兼容性参数。
elasticsearch.api_compatibility: true elasticsearch.api_compatibility_version: &amp;#34;8.9.0&amp;#34; Grafana 设置 # 添加数据源，选择 Elasticsearch 类型，填写 Easysearch 相关的连接信息。
索引部分，我填写的 INFINI Console 监控信息存放的索引，注意监控索引的时间字段是 timestamp。如果想看其他的索引，大家自行修改，支持通配。
数据查询 # 我们在设置数据源的时候指定了索引为 .infini_metrics，可以搜索、浏览该索引的数据。
比如查看 .infini_metrics 中关于集群健康监控的数据。
数据展示 # 数据可以查询，同样也可以通过 Dashboard 展示。
有任何问题，欢迎加我微信沟通。</description></item><item><title>Easysearch VS Opensearch 数据写入与存储性能对比</title><link>https://infinilabs.cn/blog/2025/easysearch-vs-opensearch-performance-comparison/</link><pubDate>Mon, 24 Mar 2025 14:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-vs-opensearch-performance-comparison/</guid><description>本文记录 Easysearch 和 Opensearch 数据写入和数据存储方面的性能对比。
准备 # 压测工具：INFINI Loadgen
对比版本：
Easysearch 1.11.1（lucene 8.11.4） Opensearch 2.19.1（lucene 9.12.1） 节点 JVM 配置：1G 数据写入 # 压测命令：
./loadgen-linux-amd64 -c 20 -d 300 Opensearch # PUT infinilabs { &amp;#34;settings&amp;#34;: { &amp;#34;number_of_shards&amp;#34;: &amp;#34;1&amp;#34;, &amp;#34;number_of_replicas&amp;#34;: 0, &amp;#34;index.refresh_interval&amp;#34;: &amp;#34;120s&amp;#34;, &amp;#34;translog&amp;#34;: { &amp;#34;durability&amp;#34;: &amp;#34;async&amp;#34;, &amp;#34;sync_interval&amp;#34;: &amp;#34;120s&amp;#34; } } } Easysearch # PUT infinilabs { &amp;#34;settings&amp;#34;: { &amp;#34;number_of_shards&amp;#34;: &amp;#34;1&amp;#34;, &amp;#34;number_of_replicas&amp;#34;: 0, &amp;#34;index.</description></item><item><title>代理 Elasticsearch 服务：INFINI Gateway VS Nginx</title><link>https://infinilabs.cn/blog/2025/proxy-elasticsearch-infini-gateway-vs-nginx/</link><pubDate>Sat, 22 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/proxy-elasticsearch-infini-gateway-vs-nginx/</guid><description>INFINI Gateway 简介 # INFINI Gateway 是一款面向 Elasticsearch 的高性能应用网关，专为提升 Elasticsearch 集群的性能、安全性和可管理性而设计。它作为 Elasticsearch 的前置网关，能够处理所有客户端请求，并将其转发到后端的 Elasticsearch 集群，同时提供丰富的功能来优化请求处理和管理。此外还支持代理 Opensearch、Easysearch 服务。
Nginx 简介 # Nginx 是一个高性能的 HTTP 和反向代理服务器，以其高并发处理能力、低内存消耗和稳定性著称，广泛应用于 Web 服务器、负载均衡和反向代理等场景。在 Elasticsearch 的使用场景里，也有小伙伴使用 Nginx 来代理 Elasticsearch 的服务，利用 Nginx 的负载均衡能力，将请求转发到多个 Elasticsearch 节点。
这两个软件都能代理 Elasticsearch 服务，但是他们有什么区别？我们来一起分析分析。
负载均衡 # Elasticsearch 是分布式系统，提倡使用 round-robin 方式将请求发送到多个节点。不管是 Nginx 还是 INFINI Gateway 都默认使用 round-boin 方式转发请求，也都支持 weighted round-robin（加权轮询）方式进行请求转发，这点两者相当。
节点自动更新 # Elasticsearch 集群可能会遇到添加、删除节点的情况，代理程序能否感知 Elasticsearch 节点的变化将变得非常关键。
在 Nginx 中，所有转发节点的 IP 地址都必须写入到配置文件中。如果 Elasticsearch 集群加入了新的节点进行请求处理，则需要 Nginx 编辑配置文件把新节点的 IP 地址加入其中，然后重启或重载 Nginx 服务，才能将请求分发到新的节点。反之如果有节点下线，也要编辑 Nginx 配置文件并重载服务。</description></item><item><title>如何使用 Nginx 代理 Easysearch 服务</title><link>https://infinilabs.cn/blog/2025/use-nginx-proxy-for-easysearch/</link><pubDate>Fri, 21 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/use-nginx-proxy-for-easysearch/</guid><description>Nginx 是一个高性能的 HTTP 服务器和反向代理服务器，广泛用于负载均衡、缓存、SSL 终端和服务代理等场景。本篇将尝试使用 Nginx 代理 Easysearch 服务，方法同样适用于 Elasticsearch 和 Opensearch。
测试环境 # Easysearch 集群版本为 1.10.0，3 个节点 Nginx 版本为 1.21.5 Nginx # 计划使用 Nginx 将请求均匀分发到所有节点，关键配置如下：
http { upstream es-cluster { server 192.168.56.102:9200; server 192.168.56.102:9201; server 192.168.56.102:9202; } log_format es_log &amp;#39;$remote_addr - $remote_user [$time_local] &amp;#34;$request&amp;#34; &amp;#39; &amp;#39;$status $body_bytes_sent &amp;#34;$http_referer&amp;#34; &amp;#39; &amp;#39;&amp;#34;$http_user_agent&amp;#34; &amp;#34;$http_x_forwarded_for&amp;#34; &amp;#39; &amp;#39;upstream: $upstream_addr&amp;#39;; # 配置代理服务器信息 server { listen 80; server_name localhost; location / { proxy_pass https://es-cluster; #proxy_http_version 1.</description></item><item><title>实现 INFINI Gateway 配置动态加载</title><link>https://infinilabs.cn/blog/2025/gateway-auto-reload-config/</link><pubDate>Sun, 16 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/gateway-auto-reload-config/</guid><description>还在停机更新 Gateway 配置，OUT 了。
今天和大家分享一个 Gateway 的功能：动态加载配置（也称热更新或热加载）。
这个功能可以在 Gateway 不停机的情况下更新配置并使之生效。
配置样例如下：
path.data: data path.logs: log configs: auto_reload: true # set true to auto reload gateway configurations entry: - name: my_es_entry enabled: true router: my_router max_concurrency: 200000 network: binding: 0.0.0.0:8000 flow: - name: simple_flow filter: - http: schema: https host: 192.168.0.102:9200 router: - name: my_router default_flow: simple_flow 启动 Gateway，配置自动加载开启。
修改配置，如下：
path.data: data path.logs: log configs: auto_reload: true # set true to auto reload gateway configurations entry: - name: my_es_entry enabled: true router: my_router max_concurrency: 200000 network: binding: 0.</description></item><item><title>通过 INFINI Console 集中管理 INFINI Gateway 配置</title><link>https://infinilabs.cn/blog/2025/use-console-manage-gateway-config/</link><pubDate>Sun, 16 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/use-console-manage-gateway-config/</guid><description>之前有做过介绍实现 INFINI Gateway 配置动态加载，这是一个 Gateway 实例的操作，直接在服务器上修改配置文件。如果有多个 Gateway 实例需要调整，登录多台主机修改配置文件就有些繁琐，有没有简便的方法呢？
答案是： 当然有！
INFINI Gateway 有配套的管理页面，那就是 INFINI Console。
Gateway 注册到 Console 后，就可以在如下的页面上进行管理。
其中 Config 可以查看到当前 Gateway 的配置。
当然不止有查看功能，也可以在这里修改配置，然后下发给 Gateway。
要实现这一功能，需要有相应的配置。
需要将下发的配置进行存储（存到 Console 的系统集群索引 .infini_configs 中） PUT .infini_configs/_doc/gateway_proxy_yml { &amp;quot;payload&amp;quot;: { &amp;quot;content&amp;quot;: &amp;quot;&amp;quot;&amp;quot; entry: - name: my_es_entry enabled: true router: my_router max_concurrency: 200000 network: binding: 0.0.0.0:8000 flow: - name: simple_flow filter: - http: schema: https host: 192.168.0.102:9200 router: - name: my_router default_flow: simple_flow&amp;quot;&amp;quot;&amp;quot;, &amp;quot;version&amp;quot;: 1, &amp;quot;name&amp;quot;: &amp;quot;gateway_proxy.</description></item><item><title>使用 INFINI Gateway 保护 Elasticsearch 集群之修改查询不合理参数（二）</title><link>https://infinilabs.cn/blog/2025/modifying-unreasonable-queries-using-gateway-part2/</link><pubDate>Sat, 15 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/modifying-unreasonable-queries-using-gateway-part2/</guid><description>本文将探讨如何使用 INFINI Gateway 修改查询不合理的参数，此方法同样适用于 Opensearch 和 INFINI Easysearch 。
在之前的 文章中，我们介绍了如何使用 request_body_json_set 处理器修改不合理的查询参数，本篇将继续探讨如何使用 request_body_regex_replace 处理器修改不合理参数。
试想一下有下面两种查询，如果只想修改第二个查询的 size 到 10 该如何做？
# 查询1 GET test/_search { &amp;#34;size&amp;#34;: 100, &amp;#34;query&amp;#34;: { &amp;#34;match&amp;#34;: { &amp;#34;test&amp;#34;: &amp;#34;test&amp;#34; } } } #查询2 GET test/_search { &amp;#34;size&amp;#34;: 10000, &amp;#34;query&amp;#34;: { &amp;#34;match&amp;#34;: { &amp;#34;test&amp;#34;: &amp;#34;test2&amp;#34; } } } 如果要继续使用 request_body_json_set 处理器则必须加上条件判断。如果使用 request_body_regex_replace 处理器则可以直接筛选出要修改的数据进行修改。
request_body_regex_replace # INFINI Gateway 的 request_body_regex_replace 过滤器使用正则表达式来替换请求体正文的字符串内容。上面的查询我们可以修改 INFINI Gateway 的默认配置增加 request_body_regex_replace 部分如下。
flow: - name: default_flow filter: - request_body_json_regex_replace: pattern: &amp;#39;&amp;#34;size&amp;#34;: 10000&amp;#39; to: &amp;#39;&amp;#34;size&amp;#34;: 10&amp;#39; - elasticsearch: elasticsearch: prod max_connection_per_node: 1000 上面的配置会搜索查询请求体中是否含有 &amp;ldquo;size&amp;rdquo;: 10000 字符串，一旦找到该字符串就替换为 &amp;ldquo;size&amp;rdquo;: 10 字符串。</description></item><item><title>INFINI Labs 产品更新 | Coco AI – 增强 AI 搜索、API 管理与性能优化等</title><link>https://infinilabs.cn/blog/2025/release-20250314/</link><pubDate>Fri, 14 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250314/</guid><description>INFINI Labs 产品更新发布！此次更新涵盖 Coco AI 、Easysearch 等产品多项重要升级，重点提升 AI 搜索能力、易用性及企业级优化。
Coco AI v0.2 作为 开源、跨平台的 AI 搜索工具，新增 APP 自动更新提示、API Token 管理、文档处理优化 等功能。 INFINI Easysearch v1.11.1 集成 AI 向量搜索，优化查询聚合能力。 INFINI Console、Gateway、Agent、Loadgen、Framework 关键问题修复，优化 WebSocket 处理与整体用户体验。 Coco AI Server 增强 WebSocket 会话处理、支持 RAG 会话和动态配置，并新增图形化管理界面。 Coco AI v0.2 # Coco AI 是一个完全开源、跨平台的统一 AI 搜索与效率工具，能够连接并搜索多种数据源，包括应用程序、文件、谷歌网盘、Notion、语雀、Hugo 等本地与云端数据。通过接入 DeepSeek 等大模型，Coco AI 实现了智能化的个人知识库管理，注重隐私，支持私有部署，帮助用户快速、智能地访问信息。
Coco AI 本次详细更新记录如下：
Coco AI 客户端 v0.2.1 # 功能更新 # 支持 APP 应用内更新提示并可自动更新 问题修复 # 修复融合搜索包含已禁用服务器的问题 修复版本类型不正确：应为字符串而不是 u32 修复聊天推送结束的判断类型不准确问题 优化改进 # 重构了聊天组件 添加服务链接展示 优化了聊天滚动效果和聊天数据渲染效果 设置聊天窗口最小宽度 &amp;amp; 移除输入框背景 移除废弃的选中功能 &amp;amp; 添加选择隐藏 APP 功能 Websocket 超时增加到 2 分钟 Coco AI 服务端 v0.</description></item><item><title>【第 8 期】搜索客 Meetup | Elasticsearch 的一些“双刃剑”特性</title><link>https://infinilabs.cn/blog/2025/searchkit-meetup-8/</link><pubDate>Thu, 13 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/searchkit-meetup-8/</guid><description>本次活动由 搜索客社区、极限科技（INFINI Labs） 联合举办，活动邀请到 INFINI Labs 搜索运维专家 金端 来分享 Elasticsearch 中一些典型的“双刃剑”特性，以及如何在实际使用中权衡和应对。欢迎预约直播观看 ~
活动主题：Elasticsearch 的一些“双刃剑”特性
活动时间：2025 年 03 月 26 日 19:00-20:00（周三）
活动形式：微信视频号（极限实验室）直播
报名方式：关注或扫码海报中的二维码进行预约
嘉宾介绍 # 金端，极限科技（INFINI Labs）搜索运维专家，Elasticsearch 官方认证工程师，搜索客社区日报编辑。在 ES 运维使用方面具有丰富的实战经验。对 ES/lucene 搜索分析方向保持学习和关注。
主题摘要 # Elasticsearch 的许多特性确实是一把“双刃剑”，它们在提供强大功能的同时，也带来了潜在的使用瓶颈和运维挑战。分享主要讨论一些典型的“双刃剑”特性，以及如何在实际使用中权衡和应对。
参与有奖 # 本次直播活动将设有福袋抽奖环节，参与就有机会获得 INFINI Labs 周边纪念品，包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件、精品围巾等等（图片仅供参考，款式、颜色与尺码随机）。
活动交流 # 本活动设有 Meetup 技术交流群，可添加小助手微信拉群，与更多小伙伴一起学习交流。
Meetup 讲师招募 # 搜索客社区 Meetup 的成功举办，离不开社区小伙伴的热情参与。目前社区讲师招募计划也在持续进行中，我们诚挚邀请各位技术大咖、行业精英踊跃提交演讲议题，与大家分享您的经验。
讲师报名链接： http://cfp.searchkit.cn
或扫描下方二维码，立刻报名成为讲师！
Meetup 活动聚焦 AI 与搜索领域的最新动态，以及数据实时搜索分析、向量检索、技术实践与案例分析、日志分析、安全等领域的深度探讨。</description></item><item><title>使用 INFINI Gateway 保护 Elasticsearch 集群之修改查询不合理参数（一）</title><link>https://infinilabs.cn/blog/2025/modifying-unreasonable-queries-using-gateway/</link><pubDate>Fri, 07 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/modifying-unreasonable-queries-using-gateway/</guid><description>本文将探讨如何使用 INFINI Gateway 修改查询不合理的参数，此方法同样适用于 Opensearch 和 INFINI Easysearch 。
在之前的 文章中，我们介绍了如何阻断不合理的查询。有些不合理查询是本身就非常消耗资源，比如模糊查询、嵌套聚合等。还有些不合理查询是因为指定了不合理的参数导致非常消耗资源，比如深度分页、profile 查询等。
不合理参数 # 所谓不合理参数可以简单理解为，赋值不恰当的参数。有些参数甚至是必要的，只是因为赋值不恰当导致过度消耗资源，这种情况把参数值修改成合理值就行了。还有些参数是在特定场景下使用的，比如调试类的参数，这种参数可以考虑删除或者将值修改成 fasle 。
比如下面的查询：
GET test/_search { &amp;#34;size&amp;#34;: 10000, &amp;#34;track_total_hits&amp;#34;: true, &amp;#34;query&amp;#34;: { &amp;#34;match&amp;#34;: { &amp;#34;test&amp;#34;: &amp;#34;test&amp;#34; } } } 这里的 size 和 track_total_hits 都是可以优化的地方。还有一些调试查询也是毕竟消耗资源的，生产上尽量避免，比如：
GET test/_search { &amp;#34;query&amp;#34;: { &amp;#34;match&amp;#34;: { &amp;#34;test&amp;#34;: &amp;#34;test&amp;#34; } }, &amp;#34;profile&amp;#34;: &amp;#34;true&amp;#34;, &amp;#34;explain&amp;#34;: true } request_body_json_set # 通过 INFINI Gateway 的 request_body_json_set 过滤器，可以修改 JSON 格式请求体里的字段值。上面的查询我们可以修改 INFINI Gateway 的默认配置增加 request_body_json_set 部分如下</description></item><item><title>Easysearch 节点磁盘不足应对方法</title><link>https://infinilabs.cn/blog/2025/handle-low-disk-space-on-easysearch-nodes/</link><pubDate>Tue, 04 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/handle-low-disk-space-on-easysearch-nodes/</guid><description>Easyearch 为了防止索引将磁盘空间完全占满，使用磁盘水位线进行磁盘空间控制。之前有 文章提过不同水位线的作用，以及如何使用 INFINI Console 提前进行告警，提前进行处理。本篇主要探讨提前处理的情况。
一、增加资源 # 如果资源充裕，可考虑为 Easysearch 集群扩充资源：
添加新的数据节点 扩充节点后，集群会自动进行数据平衡，可用下面的命令查看进度
GET /_cat/shards?v&amp;amp;h=state,node&amp;amp;s=state 如果响应中分片的状态是 RELOCATING ，则表示分片仍在移动。
扩充现有数据节点磁盘容量 扩充完后可查看磁盘利用率下降情况
GET _cat/allocation?v&amp;amp;s=disk.avail&amp;amp;h=node,disk.percent,disk.avail,disk.total,disk.used,disk.indices,shards 二、释放磁盘空间 # 如果无资源可添加，则考虑减少磁盘消耗：
删除无用索引 建议使用 索引生命周期进行管理，自动删除过期索引。
删除多余副本 有些业务索引可能会有多分副本，可酌情缩减副本数，降低磁盘消耗。以下命令按副本数量和主存储大小的降序排列索引。
GET _cat/indices?v&amp;amp;s=rep:desc,pri.store.size:desc&amp;amp;h=health,index,pri,rep,store.size,pri.store.size 可搜索快照 对于有些数据平时不常用，但需要长期保留的，建议使用 可搜索快照功能降低磁盘消耗。
三、索引空间优化 # 启用 ZSTD 压缩及 source_reuse 功能 Easysearch 支持 ZSTD 和 source_reuse 功能，对比默认的压缩算法，可大幅降低磁盘消耗。
可在创建索引时启用 ZSTD 和 source_reuse 功能，也可通过索引模板来进行设置，参考 文档。
PUT test-index { &amp;#34;settings&amp;#34;: { &amp;#34;index.</description></item><item><title>Easysearch 磁盘水位线注意事项</title><link>https://infinilabs.cn/blog/2025/easysearch-disk-watermark-tips/</link><pubDate>Sun, 02 Mar 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-disk-watermark-tips/</guid><description>INFINI Easyearch 为了防止索引将磁盘空间完全占满，使用磁盘水位线进行磁盘空间控制。具体来说有三条磁盘水位线：low、high、flood。
低水位线 # 通过参数 cluster.routing.allocation.disk.watermark.low 进行设置，默认值 85%。也可设置成一个具体值，比如：400mb，代表须保留 400mb 空闲磁盘空间，否则就算超水位线。
一旦节点磁盘使用率超过了低水位线，Easysearch 集群不会将分片分配至该节点，但是不影响新建索引的主分片分配到该节点，新建索引的副本分配不能分配到该节点。
如果所有节点都超过高水位线，此时创建新索引会导致集群状态变成 yellow。
高水位线 # 通过参数 cluster.routing.allocation.disk.watermark.high 进行设置，默认值 90%。也可设置成一个具体值，比如：300mb，代表须保留 300mb 空闲磁盘空间，否则就算超水位线。
一旦节点磁盘使用率超过了高水位线，Easysearch 集群会尝试将分片移动到其他节点，不允许任何分片分配到该节点。
如果所有节点都超过高水位线，此时创建新索引会导致集群状态变成 red。
洪水位线 # 通过参数 cluster.routing.allocation.disk.watermark.flood_stage 进行设置，默认值 95%。也可设置成一个具体值，比如：200mb，代表须保留 200mb 空闲磁盘空间，否则就算超水位线。
一旦节点磁盘使用率超过了洪水位线，Easysearch 集群会为该节点上的所有索引添加只读锁，包括系统索引。只读锁会阻止新数据写入，当磁盘利用率低于高水位线时，只读锁会自动释放。
针对节点磁盘使用率，我们可以使用 INFINI Console 进行节点磁盘使用率告警，便于我们及时发现问题苗头，提前进行处理。有任何问题，欢迎加我微信沟通。</description></item><item><title>INFINI Labs 产品更新 | Easysearch 增加异步搜索等新特性</title><link>https://infinilabs.cn/blog/2025/release-20250228/</link><pubDate>Fri, 28 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250228/</guid><description>INFINI Labs 产品更新发布！此次更新，Easysearch 增加了新的功能和数据类型，包括 wildcard 数据类型、Point in time 搜索 API、异步搜索 API、数值和日期字段的 doc-values 搜索支持，Console 新增了日志查询功能。
INFINI Easysearch v1.11.0 # INFINI Easysearch 是一个分布式的企业级搜索引擎，实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch，同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
Easysearch 本次更新如下：
功能更新 # 新增 wildcard 数据类型 新增 Point in time 搜索 API 新增异步搜索 API 数值字段添加 doc-values 搜索支持 日期字段添加 doc-values 搜索支持 新增 IK 分词器自定义词典使用文档 优化改进 # 优化 Lucene flush 的 segment 大小，减少 I/O 开销 INFINI Console v1.29.0 # INFINI Console 是一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。</description></item><item><title>Easysearch 新功能： IK 字段级别词典</title><link>https://infinilabs.cn/blog/2025/ik-field-level-dictionarys/</link><pubDate>Thu, 27 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/ik-field-level-dictionarys/</guid><description>Easysearch 1.10 版本在 IK 词典部分增加了字段级别词典的功能。
字段级别词典的功能支持用户对不同的字段设置不同的分词词库，用户既可以完全使用自己的词库，也支持在 ik 默认的词库上增加自定义的词库内容。
在整体使用上，ik 自定义词库的设计是比较灵活的，用户不仅可以通过分词器设置，自由的应用到各个字段。存储词典的方式也从固定文件和远程连接修改成了读取本地集群中默认的词库索引，减少了自定义词库的配置成本。当然，这个词库索引也可以由用户自定义，只要能和默认的词库索引保持一样的结构就好。
好了，现在让我们具体看一下 ik 字段级别词典的使用方法吧。
词库存储位置 # 默认的词库索引是 .analysis_ik 索引，IK 插件自动初始化的 .analysis_ik 索引。
用户可以自定义使用某个索引替代 .analysis_ik（设置参数下面会提及），但是要保持和 .analysis_ik 一个的 mapping 结构和使用同一个 pipeline。
.analysis_ik 词库需要存储的格式如下：
POST .analysis_ik/_doc { &amp;quot;dict_key&amp;quot;: &amp;quot;test_dic&amp;quot;, &amp;quot;dict_type&amp;quot;: &amp;quot;main_dicts&amp;quot;, &amp;quot;dict_content&amp;quot;: &amp;quot;dict_content&amp;quot;: &amp;quot;&amp;quot;&amp;quot;中华人民共和国 中文万岁 秋水共长天&amp;quot;&amp;quot;&amp;quot; } 主要使用字段
dict_content：词典内容字段。各个词典以换行符分隔。 dict_key：自定义词典名。对应自定义词典中设置的 dict_key。 dict_type：字典类型，可选 &amp;ldquo;main_dicts&amp;rdquo;, &amp;ldquo;stopwords_dicts&amp;rdquo;, &amp;ldquo;quantifier_dicts&amp;rdquo; 三个值。其中任意 dict_key 的&amp;quot;main_dicts&amp;quot;必须存在。 如何使用自定义词库 # 自定义词库的生效主要通过自定义 tokenizer 进行设置。
PUT my-index-000001 { &amp;quot;settings&amp;quot;: { &amp;quot;analysis&amp;quot;: { &amp;quot;analyzer&amp;quot;: { &amp;quot;my_custom_analyzer&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;custom&amp;quot;, &amp;quot;tokenizer&amp;quot;: &amp;quot;my_tokenizer&amp;quot; } }, &amp;quot;tokenizer&amp;quot;: { &amp;quot;my_tokenizer&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;ik_max_word&amp;quot;, &amp;quot;custom_dict_enable&amp;quot;: true, &amp;quot;load_default_dicts&amp;quot;:true, &amp;quot;lowcase_enable&amp;quot;: true, &amp;quot;dict_key&amp;quot;: &amp;quot;test_dic&amp;quot;, &amp;quot;dict_index&amp;quot;:&amp;quot;custom_index&amp;quot; } } } }, &amp;quot;mappings&amp;quot;: { &amp;quot;properties&amp;quot;: { &amp;quot;test_ik&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;, &amp;quot;analyzer&amp;quot;: &amp;quot;my_custom_analyzer&amp;quot; } } } } 其中</description></item><item><title>ES 踩坑记：Set Processor 字段更新引发的 _source 污染</title><link>https://infinilabs.cn/blog/2025/setprocessor-bug/</link><pubDate>Thu, 27 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/setprocessor-bug/</guid><description>问题背景 # 社区的一个伙伴想对一个 integer 的字段类型添加一个 keyword 类型的子字段，然后进行精确匹配的查询优化，提高查询的速度。
整个索引数据量不大，并不想进行 reindex 这样的复杂操作，就想到了使用 update_by_query 的存量数据更新。
所以我们测试了下面这套方案，在设置完字段的子字段后，利用 set processor 来对这个子字段进行 update_by_query
操作记录：
# 测试索引 PUT /test { &amp;quot;mappings&amp;quot;: { &amp;quot;properties&amp;quot;: { &amp;quot;status&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot; } } } } # 测试数据 POST /test/_bulk {&amp;quot;index&amp;quot;:{}} {&amp;quot;status&amp;quot;:404} {&amp;quot;index&amp;quot;:{}} {&amp;quot;status&amp;quot;:500} GET test/_search # 添加子字段 PUT test/_mapping { &amp;quot;properties&amp;quot;: { &amp;quot;status&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;, &amp;quot;fields&amp;quot;: { &amp;quot;keyword&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;keyword&amp;quot; } } } } } GET test/_search #创建管道pipeline.</description></item><item><title>【第 7 期】搜索客 Meetup | 开源智能搜索与知识库管理，极限科技 Coco AI 产品介绍</title><link>https://infinilabs.cn/blog/2025/searchkit-meetup-7/</link><pubDate>Wed, 26 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/searchkit-meetup-7/</guid><description>本次活动由 搜索客社区、极限科技（INFINI Labs）联合举办，活动邀请到 INFINI Labs 创始人&amp;amp; CEO 曾勇 来分享和演示极限科技最新推出的开源搜索产品 Coco AI ，欢迎预约直播观看 ~
活动主题：开源智能搜索与知识库管理，极限科技 Coco AI 产品介绍
活动时间：2025 年 03 月 07 日 19:00-20:00（周五）
活动形式：微信视频号（极限实验室）直播
报名方式：关注或扫码海报中的二维码进行预约
嘉宾介绍 # 曾勇，极限科技 / INFINI Labs 创始人&amp;amp; CEO，前 Elastic 亚太区社区布道师，Elastic 中国区咨询业务负责人，Elasticsearch 中文社区（现搜索客）的发起人兼社区主席，目前带领团队致力于下一代实时搜索引擎与 AI 智能搜索等相关技术的研究。
主题摘要 # 在快速发展的人工智能时代，个人和企业对知识库管理的需求愈发迫切。有没有一个轻量级,简单,又开源免费, 高效、智能且可定制的 AI 搜索与知识库管理工具呢？
本次分享将为您详细介绍 Coco AI —— 由极限科技推出的完全开源免费的智能搜索与知识库管理工具,不仅适用于个人,也适用于企业分享知识，这次分享将为您详细介绍 Coco AI,并探讨如何利用人工智能技术和开源架构，实现智能搜索和知识管理的全面优化。
主要内容 # 开源智能搜索技术： 介绍开源搜索引擎与人工智能技术的结合，如何提升搜索精度和智能化水平。 展示 Coco AI 的智能搜索与 AI 助理功能，帮助个人或者企业实现精准的搜索与知识库管理。 Coco AI 产品介绍： 详细讲解 Coco AI 的开源架构，如何帮助企业或个人快速构建智能搜索引擎并进行知识管理。 强调其灵活性和定制化能力，支持跨平台和跨系统的数据整合。 智能知识库管理： 探讨 Coco AI 如何通过搜索与 AI, RAG 等技术进行自动化分类、索引与语义理解，提升知识库的管理效率。 展示 Coco AI 在实际企业中的应用，如何打破信息孤岛，实现智能化的知识共享。 开源生态与发展： 介绍 Coco AI 的开源生态，如何通过社区合作和持续创新推动技术发展。 展望开源智能搜索的未来，如何通过新兴技术推动知识管理创新。 Coco AI 已经对外正式开源和下载, 下面是相关地址, 可以先睹为快, 欢迎 Star 转发分享~</description></item><item><title>INFINI Labs 推出 Coco AI，为现代团队打造的统一搜索与 AI 智能助手</title><link>https://infinilabs.cn/blog/2025/coco-AI-with-deepseek-to-create-enterprise-knowledge-management-tools/</link><pubDate>Tue, 25 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/coco-AI-with-deepseek-to-create-enterprise-knowledge-management-tools/</guid><description>随着企业信息化程度的飞速提升，海量数据正以前所未有的速度涌现，这些数据分散在内网 Wiki、JIRA、Google Workspace、Dropbox、Notion、GitHub 等多个平台中，形成了一个个难以逾越的“信息孤岛”。员工们在跨平台检索信息时，常常陷入“大海捞针”的困境，不仅浪费了大量时间，还严重影响了工作效率。与此同时，AI 技术的飞速发展为知识管理和信息检索带来了新的曙光。RAG（Retrieval-Augmented Generation）技术的崛起，更是将传统搜索引擎与生成模型的优势完美融合，推动了办公自动化和协作智能化的全新变革。企业对高效智能搜索、知识管理及协作工具的需求，正以前所未有的速度增长，在此背景下，极限数据（北京）科技有限公司（INFINI Labs）正式发布——Coco AI 一站式企业搜索与 AI 智能助手产品，并与 DeepSeek 等大模型集成，为现代团队打造统一搜索与 AI 智能助手。
1. 跨平台统一搜索：打破数据孤岛，实现无缝连接 # Coco AI 能够轻松连接本地文件数据源、S3 对象存储、Google Workspace、Dropbox、GitHub、Notion、Yuque、Hugo 等多种数据源，实现本地与云端数据的统一搜索与管理。无论是文档、代码、项目管理工具，还是团队协作平台，Coco AI 都能一键整合，让企业数据“化零为整”，彻底打破信息孤岛的束缚。
2. AI 驱动的知识管理：智能赋能，同时坚守数据安全 # Coco AI 集成了 ChatGPT 和 DeepSeek 等顶尖 AI 模型，为企业提供智能的知识管理功能。DeepSeek 作为当前 AI 搜索领域的热门技术，凭借其强大的深度学习和自然语言处理能力，能够快速理解用户意图，提供精准的搜索结果和智能推荐。它不仅支持私有部署，确保企业数据牢牢掌握在自己手中，还优先考虑保护隐私，让企业在享受智能化服务的同时，无需担心数据泄露风险。Coco AI，让企业的每一次知识管理都安全可靠、智能高效。
3. RAG 技术赋能：智能搜索，精准直达 # Coco AI 采用 RAG（Retrieval-Augmented Generation）技术，结合传统检索和生成模型的优势，提供基于内容检索的生成式答案。它不仅能够精准匹配关键词，还能基于实际内容生成详细且高质量的回答，满足用户深层次的需求。无论是复杂问题的解答还是，模糊查询的优化，Coco AI 都能轻松应对，让搜索结果“精准直达”。
4. Gen-AI 团队聊天：智能协作，激发团队潜力 # Coco AI 还提供定制化的 AI 聊天功能，基于企业的独特知识与资源生成实时洞察，强化团队协作与信息共享。它不仅能实时推送关键信息，还能根据团队需求生成个性化建议，让团队协作更加高效、智能。Coco AI，让每一次团队沟通都充满智慧，每一次协作都充满活力。Coco AI 与 DeepSeek 的深度集成，正是为了将这一前沿技术带入企业办公场景，为企业提供更高效、更安全的知识管理解决方案。</description></item><item><title>INFINI Labs 产品更新 | Coco AI 开启智能知识管理新篇章</title><link>https://infinilabs.cn/blog/2025/release-20250215/</link><pubDate>Sat, 15 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250215/</guid><description>INFINI Labs 产品更新发布！此次更新，Coco AI 正式亮相，可快速实现智能化的个人知识库管理；Easysearch 增强 Rollup 能力，可自定义 Rollup 索引生命周期，支持更多的聚合方式；Console 完善了 Metrics 的指标监控异常告警能力，支持指标数据变化横向对比；Agent 进行了多处优化以及修复相关 Bug，支持在 Docker 容器中开启探针进行指标采集 等等。欢迎下载体验，探索更多可能！
Coco AI v0.1.0 # Coco AI 是一个完全开源、跨平台的统一 AI 搜索与效率工具，能够连接并搜索多种数据源，包括应用程序、文件、谷歌网盘、Notion、语雀、Hugo 等本地与云端数据。通过接入 DeepSeek 等大模型，Coco AI 实现了智能化的个人知识库管理，注重隐私，支持私有部署，帮助用户快速、智能地访问信息。
本次发布的是 Coco AI 第一个预览版本, 支持 MacOS 12 以上的操作系统, 欢迎大家下载使用 ~
项目主页: https://coco.rs/
开源地址:
桌面应用端: https://github.com/infinilabs/coco-app/ 服务端: https://github.com/infinilabs/coco-server 以下是操作界面截图:
搜索本地桌面应用程序 搜索企业或个人的知识库,混合搜索多个数据源 基于个人的知识库来与 AI 助手聊天 AI 助手完整模式支持历史会话的查看 支持接入自己搭建的 Coco Server, 私有部署, 隐私安全 INFINI Easysearch v1.</description></item><item><title>使用 INFINI Gateway 保护 Elasticsearch 集群之限制请求至协调节点</title><link>https://infinilabs.cn/blog/2025/restricting-requests-to-coordinating-nodes-in-es-with-gateway/</link><pubDate>Sat, 15 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/restricting-requests-to-coordinating-nodes-in-es-with-gateway/</guid><description>本文将探讨如何使用 INFINI Gateway 限制仅向 Elasticsearch 集群的协调节点转发请求。此方法同样适用于 Opensearch 和 INFINI Easysearch 。
Elasticsearch 是天然分布式的系统，任何节点都能接收请求并进行处理。一个稍具规模，经过规划的 Elasticsearch 集群，会有不同角色的专属节点，比如专属的 master 节点、data 节点、协调节点等。
为了保障集群稳定，一般建议将查询发送到集群的协调节点，避免将请求发送 master 节点。使用 INFINI Gateway 可轻松做到将所有请求轮询发送到集群的所有协调节点。
Elasticsearch 资源 # INFINI Gateway 将 Elasticsearch 集群作为一种后端资源，可以定义多个 Elasticsearch 集群，支持不同的集群版本。并且可以通过参数 discovery 开启集群的节点拓扑自动发现和更新。
##elasticsearch servers elasticsearch: - name: prod enabled: true endpoints: - $[[env.PROD_ES_ENDPOINT]] discovery: enabled: true refresh: enabled: true interval: 30s basic_auth: username: $[[env.PROD_ES_USER]] password: $[[env.PROD_ES_PASS]] traffic_control.max_bytes_per_node: 1010485760 metadata_cache_enabled: false # Whether to cache the cluster info in memory cache - name: logging-server enabled: true endpoints: - $[[env.</description></item><item><title>引爆知识革命！Easysearch 携手 DeepSeek 打造下一代智能问答系统</title><link>https://infinilabs.cn/blog/2025/easysearch-and-deepseek-create-next-gen-QA-system/</link><pubDate>Wed, 12 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-and-deepseek-create-next-gen-QA-system/</guid><description>去年我们尝试过使用 Easysearch +千问 2 大模型打造一个 企业内部知识问答系统，今年又有更加给力的大模型出现了&amp;ndash;DeepSeek，性能对标 OpenAI o1 正式版。而且 Easysearch 对比去年也有了不少进步，是时候让我们升级下问答系统了。
DeepSeek # 2025 年 1 月 20 日，人工智能领域迎来里程碑式突破！深度求索（DeepSeek）正式发布新一代推理大模型 DeepSeek-R1，不仅实现与 OpenAI 最新 o1 正式版的性能对标，更以全栈开放的生态布局引发行业震动。DeepSeek-R1 是首个遵循 MIT License 开源协议的高性能推理模型，完全开源，不限制商用，无需申请，极大地推动了 AI 技术的开放与共享。
下载模型 # 我们使用 ollama 下载运行 DeepSeek-R1，根据本地资源情况选择一个大小合适的版本：8b。
8b 蒸馏模型源自 Llama3.1-8B-Base 7b 蒸馏模型源自 Qwen-2.5 系列 这两个可能是个人用户使用最多的选择，大家资源充足的可以都下载下来对比下效果。
由于是升级，我们只需在原有程序基础上替换新版本的 Easysearch 和集成 DeepSeek 即可， Easysearch 升级成新版本 1.10.1，程序框架和 embedding 模型 (mxbai-embed-large:latest) 仍然保持不变。
数据准备 # 跟上次一样，使用 &amp;ldquo;INFINI 产品安装手册.PDF&amp;rdquo; 作为知识内容，通过程序将文档内容切片、转换成向量后写入 Easysearch 存储，然后结合大模型对其中的内容进行提问。
程序调整 # 程序代码需要调整 LLM 为 deepseek-r1:8b。另外本地主机资源有限，为节约时间，取消上个版本的用户问题改写功能(注释部分)。定义新的 retriever 和 qa_chain 直接将用户问题和 context 信息发送给大模型。</description></item><item><title>使用 INFINI Gateway 保护 Elasticsearch 集群之阻断不合理的查询</title><link>https://infinilabs.cn/blog/2025/block-unreasonable-queries-with-infini-gateway/</link><pubDate>Tue, 11 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/block-unreasonable-queries-with-infini-gateway/</guid><description>本文将探讨如何使用 INFINI Gateway 阻止不合理的查询发送到 Elasticsearch，此方法同样适用于 Opensearch 和 INFINI Easysearch 。
在以往处理 Elasticsearch OOM（内存溢出）问题的经验中，我们发现许多案例是由于查询操作导致节点出现 OOM 的情况。经过调查，这些案例主要分为两类：一类是由于查询吞吐量超出了集群的处理能力，另一类则是在执行某些不合理的查询时触发了 OOM。
具体来说：
查询吞吐量过高：当查询请求的频率或复杂度超过了集群的处理能力时，可能会导致节点内存耗尽，从而引发 OOM。 执行不合理查询：某些特殊类型的查询（例如涉及大量嵌套、深度分页或复杂的聚合操作）可能需要大量的内存资源，在执行过程中也可能导致 OOM。 通过识别并优化这些查询模式，可以有效减少 OOM 事件的发生。针对查询吞吐量过高的情况，可以参考之前的 文章来管理查询吞吐。接下来的内容将介绍如何阻挡不合理查询，保护集群稳定。
不合理查询 # 不合理查询是指那些消耗过多系统资源（如 CPU、内存）、设计复杂、执行时间过长或需要大量计算资源的查询。这类查询不仅会导致高负载和资源耗尽，影响整个集群的稳定性和响应速度，还可能对用户体验产生负面影响。
典型的不合理查询包括但不限于：
嵌套聚合查询 使用复杂的正则表达式进行模糊匹配 深度分页查询（如 from: 10000, size: 10） 脚本查询（Script Query） 大规模嵌套聚合查询 为了防止这些查询对 Elasticsearch 集群造成影响，我们可以使用 INFINI Gateway 对这些查询进行阻断。
请求上下文 # INFINI Gateway 运行环境中有非常多的信息可被利用，而请求上下文就是访问这些信息的入口。如请求来源、请求体信息等，都可使用关键字 _ctx 作为前缀访问相应的上下文信息。
HTTP 请求内置的 _ctx 上下文对象主要包括如下：
更多的上下文信息请访问 文档。
context_filter # Context Filter 是 INFINI Gateway 提供的一种在线过滤器，能够根据请求上下文来过滤流量。通过定义一组匹配规则，可以灵活地对流量进行筛选。该过滤器支持多种匹配模式，包括：</description></item><item><title>谈谈 ES 6.8 到 7.10 的功能变迁（1）- 性能优化篇</title><link>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-1/</link><pubDate>Sun, 09 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-1/</guid><description>前言 # ES 7.10 可能是现在比较常见的 ES 版本。但是对于一些相迭代比较慢的早期业务系统来说，ES 6.8 是一个名副其实的“钉子户”。 借着工作内升级调研的任务东风，我整理从 ES 6.8 到 ES 7.10 ELastic 重点列出的新增功能和优化内容。将分为 6 个篇幅给大家详细阐述。 本系列文章主要针对 Elasticsearch 传统的使用功能和基础的模块，像是集群任务的管理、搜索、聚合还有字段类型这样的功能。对于付费功能或者全新的模块，比如：CCR、机器学习和数据流，这里不去深入探讨。 内容的主要来源于 Elastic 各个版本的发布信息，这里主要比对 ES 6.8 版本到 7.10 版本的差异，并不一一枚举各个新的功能点出现的时间版本。 下面是第一篇：关于 ES 性能的优化
ES 7.10 的性能优化 # 集群协调算法升级 # 基于 Elastic 博客提供的资料，Elasticsearch 7.0 的核心改进在于集群协调层的彻底重构，取代了旧版 Zen Discovery 的局限性，引入更健壮、自动化的分布式共识机制。从理论上来说这次优化有着不少的进步，可以显著提升了高可用性与运维效率
主要的优化点有下面三点：
消除分裂脑（Split Brain）风险：通过自动化计算，确保集群状态更新的安全性。旧版 minimum_master_nodes 的手动配置被移除，避免人为误操作。
提升集群稳定性与恢复速度：节点故障时，集群更快达成一致，减少服务中断窗口。
简化运维复杂度：可以动态扩缩容无需手动调整配置，系统自动管理选举配置。同时提供更清晰的日志和错误提示，加速故障诊断。
旧版配置 ES 7.</description></item><item><title>谈谈 ES 6.8 到 7.10 的功能变迁（2）- 字段类型篇</title><link>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-2/</link><pubDate>Sun, 09 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-2/</guid><description>我们继续来了解一下从 ES 6.8 到 ES 7.10 新增的功能。本篇主要介绍新增的字段类型，会简要概述一下新增字段类型的使用场景和限制，提供简单的测试代码。
Flattened 扁平化对象字段 # 功能说明 # 解决场景 # 该功能主要用于处理具有大量不确定键的 JSON 对象，避免字段映射爆炸问题，特别适用于不需要对对象内部字段进行单独分析和聚合的场景，以及当对象结构不固定，字段名称动态变化时。
使用注意点 # 整个对象被视为单个字段，无法对内部单个字段进行分析或聚合 只支持 keyword 类型的操作，如 term、prefix 查询等。因为它的每个解析出的字段都值为 keyword 字段 默认最大字段深度为 20，可以通过 depth_limit 来设置。 不支持数字范围查询，高亮显示 查询时，无法使用通配符引用字段键，比如 { &amp;ldquo;term&amp;rdquo;: {&amp;ldquo;labels.time*&amp;quot;: 1541457010}} split_queries_on_whitespace 为 true 时，这个字段的全文查询（match，query_string，simple_query_string）等于是用了空格分词器。 支持的查询方法 # term 查询：精确匹配某个字段的值 terms/terms_set 查询：匹配多个值中的任意一个或者多个 prefix 查询：前缀匹配 exists 查询：检查字段是否存在 match 查询：分词后的全文检索（但因为是 keyword，所以实际上是精确匹配） query_string 和 simple_query_string Shape 字段 # 功能说明 # 该功能主要用于存储和查询任意几何图形数据，支持点、线、圆、矩形、多边形等几何形状，特别适用于地理空间分析和基于形状的搜索场景，以及相比于 geo_shape 专门用于地理空间数据（坐标系统固定为 WGS84 经纬度），shape 字段可以用于任意坐标系统的几何形状，比如虚拟世界或者保密空间。</description></item><item><title>谈谈 ES 6.8 到 7.10 的功能变迁（3）- 查询方法篇</title><link>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-3/</link><pubDate>Sun, 09 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-3/</guid><description>上一篇咱们了解了 ES 7.10 相较于 ES 6.8 新增的字段类型，这一篇我们继续了解新增的查询方法。
Interval 间隔查询： # 功能介绍 # Interval 查询，词项间距查询，可以根据匹配词项的顺序、间距和接近度对文档进行排名。主要解决的查询场景“创建一个多搜索词匹配的查询，同时保留搜索词的顺序”，比 match phrase 更加符合需求场景，查询方法使用比 span 查询更简单。ES 后续版本想用 interval 查询逐步替代 span 查询。
注意事项 # 规则组合 # 可以使用 prefix、wildcard、fuzzy 等规则 通过设置 max_gaps 和 ordered 参数，可以控制词项间的最大间隙和顺序要求。 性能考虑 # 间隔查询比简单的词项匹配更消耗资源 嵌套规则越多，性能开销越大 建议合理使用 maxGaps 参数限制间距 使用限制 # 只能用于 text 字段 不支持跨字段查询 不支持对数值类型字段使用 Distance feature 查询 # 功能说明 # 时间/地理距离特性查询，该查询用于查找更接近被查询日期和地理位置的结果。 日期和位置分别是声明为 date 和 geo_point 数据类型的字段。返回结果的字段值不需要完全等于被查询值，而是按照给定日期或给定位置的进度算分，越是接近被查询值，在相关性得分中被评为更高。</description></item><item><title>谈谈 ES 6.8 到 7.10 的功能变迁（4）- 聚合功能篇</title><link>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-4/</link><pubDate>Sun, 09 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-4/</guid><description>这一篇我们继续了解 ES 7.10 相较于 ES 6.8 新增的聚合方法。
Rare Terms 聚合 # 功能说明 # 用于聚合查询出字段中的稀有项。ES 常见的统计方法是使用 term 查询的正向排序，但是在大数据量和高基数的数据分布场景下会出现 unbounded 错误。Rare 聚合弥补了这个场景的查询方法。注意的是，这个聚合计算出来的是一个近似值。
注意事项 # 使用限制 # 只能用于 keyword、numeric、ip 或 boolean 类型字段 max_doc_count 参数限制文档数量（默认为 1） precision_threshold 参数控制精度（默认为 3000） 性能考虑 # 在高基数(数据集中不同值的数量非常多)字段上性能较好 内存消耗相对较大 聚合是在 shard 层做的统计，建议使用合适的 shard 大小 精度控制 # 结果是近似值，具体说明 见此 可以通过 precision_threshold 调整精度，精度越高，内存消耗越大 Cumulative Cardinality 聚合 # 功能说明 # 一个管道聚合，计算 histogram（或 date_histogram）聚合中的累积基数。 Cumulative_cardinality 聚合对于查找几个时间段内的&amp;quot;新项目&amp;quot;很有用，比如每天网站的新访客数量。常规 Cardinaity 聚合会告诉你每天有多少独立访客，但不会区分&amp;quot;新&amp;quot;或&amp;quot;重复&amp;quot;访客。Cumulative_cardinality 聚合可以用来确定每天有多少独立访问者是&amp;quot;新&amp;quot;的。</description></item><item><title>谈谈 ES 6.8 到 7.10 的功能变迁（5）- 任务和集群管理</title><link>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-5/</link><pubDate>Sun, 09 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-5/</guid><description>这一篇我们继续了解 ES 7.10 相较于 ES 6.8 调优的集群管理和任务管理的方法，主要有断联查询的主动取消、投票节点角色、异步查询和可搜索快照四个功能。
Query 自动取消 # 对于一个完善的产品来说，当一个任务发起链接主动断联的时候，服务端与之相关的任务应该也都被回收。但是这个特性到了 elasticsearch 7.4 版本才有了明确的声明。
Elasticsearch now automatically terminates queries sent through the _search endpoint when the initiating connection is closed.
相关的 PR 和 issue 在这里，对源码有兴趣的同学可以挖掘一下。
PR：https://github.com/elastic/elasticsearch/pull/43332
issue：https://github.com/elastic/elasticsearch/issues/43105
简单来说，ES 接受在某个查询的 http 链接断掉的时候，与其相关的父子任务的自动取消。原来的场景下可能需要手工一个个关闭。
实际测试 # 利用 painless 模拟复杂查询，下面这个查询在测试集群上能维持 5s 左右
GET /_search?max_concurrent_shard_requests=1 { &amp;quot;query&amp;quot;: { &amp;quot;bool&amp;quot;: { &amp;quot;must&amp;quot;: [ { &amp;quot;script&amp;quot;: { &amp;quot;script&amp;quot;: { &amp;quot;lang&amp;quot;: &amp;quot;painless&amp;quot;, &amp;quot;source&amp;quot;: &amp;quot;&amp;quot;&amp;quot; long sum = 0; for (int i = 0; i &amp;lt; 100000; i++) { sum += i; } return true; &amp;quot;&amp;quot;&amp;quot; } } }, { &amp;quot;script&amp;quot;: { &amp;quot;script&amp;quot;: { &amp;quot;lang&amp;quot;: &amp;quot;painless&amp;quot;, &amp;quot;source&amp;quot;: &amp;quot;&amp;quot;&amp;quot; long product = 1; for (int i = 1; i &amp;lt; 100000; i++) { product *= i; } return true; &amp;quot;&amp;quot;&amp;quot; } } }, { &amp;quot;script&amp;quot;: { &amp;quot;script&amp;quot;: { &amp;quot;lang&amp;quot;: &amp;quot;painless&amp;quot;, &amp;quot;source&amp;quot;: &amp;quot;&amp;quot;&amp;quot; long factorial = 1; for (int i = 1; i &amp;lt; 100000; i++) { factorial *= i; } long squareSum = 0; for (int j = 0; j &amp;lt; 100000; j++) { squareSum += j * j; } return true; &amp;quot;&amp;quot;&amp;quot; } } }, { &amp;quot;script&amp;quot;: { &amp;quot;script&amp;quot;: { &amp;quot;lang&amp;quot;: &amp;quot;painless&amp;quot;, &amp;quot;source&amp;quot;: &amp;quot;&amp;quot;&amp;quot; long fib1 = 0; long fib2 = 1; long next; for (int i = 0; i &amp;lt; 100000; i++) { next = fib1 + fib2; fib1 = fib2; fib2 = next; } return true; &amp;quot;&amp;quot;&amp;quot; } } } ] } } } 查看任务被终止的状态</description></item><item><title>谈谈 ES 6.8 到 7.10 的功能变迁（6）- 其他</title><link>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-6/</link><pubDate>Sun, 09 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/feature-evolution-from-elasticsearch-6.8-to-7.10-part-6/</guid><description>这是 ES 7.10 相较于 ES 6.8 新增内容的最后一篇，主要涉及算分方法和同义词加载的部分。
自定义算分：script_score 2.0 # Elasticsearch 7.0 引入了新一代的函数分数功能，称为 script_score 查询。这一新功能提供了一种更简单、更灵活的方式来为每条记录生成排名分数。script_score 查询由一组函数构成，包括算术函数和距离函数，用户可以根据需要混合和匹配这些函数，以构建任意的分数计算逻辑。这种模块化的结构使得使用更加简便，同时也为更多用户提供了这一重要功能的访问权限。通过 script_score，用户可以根据复杂的业务逻辑自定义评分，而不仅仅依赖于传统的 TF-IDF 或 BM25 算法。例如，可以根据文档的地理位置、时间戳、或其他自定义字段的值来调整评分，从而更精确地控制搜索结果的排序。
script_score 是 ES 对 function score 功能的一个迭代替换。
常用函数 # 基本函数 # 用于对字段值或评分进行基本的数学运算。 doc[&amp;lt;field&amp;gt;].value 获取文档中某个字段的值。
&amp;quot;script&amp;quot;: { &amp;quot;source&amp;quot;: &amp;quot;doc['price'].value * 1.2&amp;quot; } 算术运算 # 支持加 (+)、减 (-)、乘 (*)、除 (/)、取模 (%) 等操作。
&amp;quot;script&amp;quot;: { &amp;quot;source&amp;quot;: &amp;quot;doc['price'].value + (doc['discount'].value * 0.5)&amp;quot; } Saturation 函数 # saturation 函数用于对字段值进行饱和处理，限制字段值对评分的影响范围。</description></item><item><title>Windows 上创建自签名证书的 7 种方法</title><link>https://infinilabs.cn/blog/2025/7-ways-to-create-self-signed-certificates-on-windows/</link><pubDate>Sat, 08 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/7-ways-to-create-self-signed-certificates-on-windows/</guid><description>背景 # 最近 INFINI Labs 社区有 Easysearch 开发者反馈，其开发环境为 Windows 系统，安装部署 Easysearch 时初始化证书遇到麻烦，如果没有证书就无法开启 Easysearch TLS 传输加密来保护数据的网络传输安全。本文将介绍在 Windows 上创建自签名证书的 7 种不同方法。
使用在线工具 certificatetools.com # 在允许生成自签名证书的在线服务中， CertificateTools 是最先进的。只需查看所有可用选项即可：
就这么简单！
使用 Let’s Encrypt # 首先，安装 Certbot，这是 Let’s Encrypt 官方推荐的工具，用于自动化获取和续期 SSL/TLS 证书。
1. 安装 Certbot
访问 Certbot 下载页面。 选择 Windows 系统，下载并安装 Certbot。 2. 获取证书
打开 命令提示符 或 PowerShell 以管理员身份运行。 输入以下命令获取证书（替换 example.com 为你的域名）： certbot certonly --standalone --preferred-challenges http -d example.</description></item><item><title>Easysearch 写入限速实战</title><link>https://infinilabs.cn/blog/2025/write-throttling-in-easysearch/</link><pubDate>Fri, 07 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/write-throttling-in-easysearch/</guid><description>有给 ES 系统导入过数据的小伙伴都知道，给一个正在执行查询的 ES 集群导入数据，可能会影响查询的响应时间。如果导入的数据量还比较大，那请将“可能”两个字去掉。这种操作通常被限定在业务低谷期执行，如果一定要立即操作，则必须非常小心控制写入速度，避免影响到业务查询。
INFINI Easysearch 从 1.8.0 版本开始引入了写入限速功能，靠引擎自身能力对写入速度进行限制。不仅听着简单，实际用起来一点也不麻烦，我们赶紧实战一把。
测试环境 # INFINI Easyssearch 1.9.0，单节点集群。
测试方法 # loadgen 压测 bulk 写入，每个请求写 1000 个文档，每次测试固定写入 500w 个文档。
./loadgen-linux-amd64 -config ../config/write-yf-test.yml -d 3000 -l 5000 请求示例
{&amp;#34;index&amp;#34;: {&amp;#34;_index&amp;#34;: &amp;#34;yf-test-1shard&amp;#34;,&amp;#34;_id&amp;#34;: &amp;#34;$[[uuid]]&amp;#34;}} {&amp;#34;ip&amp;#34;: &amp;#34;127.0.0.1&amp;#34;, &amp;#34;time&amp;#34;: &amp;#34;$[[now_utc_lite]]&amp;#34;, &amp;#34;method&amp;#34;: &amp;#34;GET&amp;#34;,&amp;#34;path&amp;#34;: &amp;#34;/abc&amp;#34;, &amp;#34;http_ver&amp;#34;: &amp;#34;1.1&amp;#34;, &amp;#34;status_code&amp;#34;: &amp;#34;200&amp;#34;,&amp;#34;body_bytes&amp;#34;: &amp;#34;3498&amp;#34;,&amp;#34;agent&amp;#34;: &amp;#34;curl&amp;#34;,&amp;#34;agent_ver&amp;#34;: &amp;#34;7.71.1&amp;#34;} 测试基线 # 单节点不限速写入测试
压测单个索引，3主，0 副，写入速度 3.8w docs/s
压测单个索引，1 主，0 副，写入速度 2.5w docs/s
同时压测两个索引，写入速度分别是 3w docs/s 和 1.</description></item><item><title>如何使用 DataX 连接 Easysearch</title><link>https://infinilabs.cn/blog/2025/how-to-connect-easysearch-using-datax/</link><pubDate>Thu, 06 Feb 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/how-to-connect-easysearch-using-datax/</guid><description>DataX # DataX 是阿里开源的一款离线数据同步工具，致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
本篇主要介绍 DataX 如何将数据写入到 Easysearch，对于各种数据源的连接不会做深入的探讨，感兴趣的小伙伴可以访问 DataX 的 Github 仓库查看详情。
下载与安装 # DataX 无需安装，下载后解压即可使用。
系统需求：
JDK 1.8 及以上 Python2 或 3 创建任务配置文件 # 每个数据同步的操作可称为一个任务，任务的配置文件定义了数据源(reader)、数据目的(writer) ，以及任务的设置信息，如并发数、速度控制等。DataX 集成了如此多的数据源，如果靠纯手工编写任务配置显然不现实。官方也出了个命令可以根据指定的数据源和数据目的帮助大家生成任务配置。
python datax.py -r {YOUR_READER} -w {YOUR_WRITER} 测试配置文件
此次演示使用 streamreader 和 elasticsearchwriter 作为数据源和数据目的，任务配置如下：
{ &amp;#34;job&amp;#34;: { &amp;#34;content&amp;#34;: [ { &amp;#34;reader&amp;#34;: { &amp;#34;name&amp;#34;: &amp;#34;streamreader&amp;#34;, &amp;#34;parameter&amp;#34;: { &amp;#34;sliceRecordCount&amp;#34;: 10000, &amp;#34;column&amp;#34;: [ { &amp;#34;type&amp;#34;: &amp;#34;long&amp;#34;, &amp;#34;value&amp;#34;: &amp;#34;10&amp;#34; }, { &amp;#34;type&amp;#34;: &amp;#34;string&amp;#34;, &amp;#34;value&amp;#34;: &amp;#34;hello，你好，世界-DataX&amp;#34; }, { &amp;#34;type&amp;#34;: &amp;#34;string&amp;#34;, &amp;#34;value&amp;#34;: &amp;#34;hello，你好，Easysearch&amp;#34; } ] } }, &amp;#34;writer&amp;#34;: { &amp;#34;name&amp;#34;: &amp;#34;elasticsearchwriter&amp;#34;, &amp;#34;parameter&amp;#34;: { &amp;#34;endpoint&amp;#34;: &amp;#34;http://localhost:9200&amp;#34;, &amp;#34;accessId&amp;#34;: &amp;#34;admin&amp;#34;, &amp;#34;accessKey&amp;#34;: &amp;#34;1ef0c661d8562aaa06be&amp;#34;, &amp;#34;index&amp;#34;: &amp;#34;yf-test&amp;#34;, &amp;#34;column&amp;#34;: [ {&amp;#34;name&amp;#34;: &amp;#34;no&amp;#34;, &amp;#34;type&amp;#34;: &amp;#34;long&amp;#34;}, { &amp;#34;name&amp;#34;: &amp;#34;content&amp;#34;,&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34; }, { &amp;#34;name&amp;#34;: &amp;#34;content2&amp;#34;,&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34; } ] } } } ], &amp;#34;setting&amp;#34;: { &amp;#34;speed&amp;#34;: { &amp;#34;channel&amp;#34;: 50 } } } } streamreader 是一个从内存读取数据的插件， 它主要用来快速生成期望的数据并对写入插件进行测试。</description></item><item><title>INFINI Labs 产品更新 | Easysearch 增强 Rollup 能力，Console 完善 TopN 指标等</title><link>https://infinilabs.cn/blog/2025/release-20250125/</link><pubDate>Sat, 25 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250125/</guid><description>INFINI Labs 产品更新发布！此次更新，Easysearch 增强 Rollup 能力，支持更多的聚合方式；Console 完善了 TopN 的指标，支持自定义视图，并内嵌视图模板；Gateway 进行了多处优化以及修复相关 Bug 等等。欢迎下载体验，探索更多可能！
INFINI Easysearch v1.10.1 # INFINI Easysearch 是一个分布式的企业级搜索引擎，实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch，同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
Easysearch 本次更新如下：
功能更新 # Rollup 增加支持聚合的种类 增加支持 Filter aggregation，某些场景可以用来替代 query 增加针对个别字段自定义 special_metrics 指标的配置项 增加支持 Bucket sort aggregation Rollup 查询 API 提供了 debug 参数，有助于调试 问题修复 # 修复数据节点和 master 节点角色分离时，Security 索引创建失败问题 优化改进 # Rollup 查询 增加 response 标识是否有 rollup 数据 Rollup response total hits 不再为 0 Rollup job 支持 更新操作，通过更新索引文档实现 rollup.</description></item><item><title>如何使用 Filebeat 8 连接 Easysearch</title><link>https://infinilabs.cn/blog/2025/filebeat-8-connect-eaysearch/</link><pubDate>Wed, 22 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/filebeat-8-connect-eaysearch/</guid><description>在日志场景，还是有很多小伙伴在使用 Filebeat 采集日志的。今天我来实战下使用 Filebeat 8 连接 Easysearch 。本次使用 Easysearch-1.9.0 版本和 Filebeat-8.17.0 版本做演示，也适用 Filebeat-oss-8.17.0 版本。
Easysearch 不开启兼容参数的情况 # Easysearch 默认情况下未开启 Elastic 兼容功能。此时直接用 Filebeat 去连接 Easysearch 会失败，报错 &amp;ldquo;could not connect to a compatible version of Elasticsearch&amp;rdquo; ，直译过来就是“无法连接到兼容的 Elasticsearch 版本”。
Easysearch 开启 elasticsearch.api_compatibility 参数 # 在 Easysearch-1.9.0 中关于 Elasticsearch 的兼容性参数有两个，我们先开第一个。
elasticsearch.api_compatibility: true #elasticsearch.api_compatibility_version: &amp;#34;8.9.0&amp;#34; 启动 Filebeat 连接。
这次 Filebeat 检测到了一个兼容的版本 7.10.2，并导入了一个叫 filebeat 的索引生命周期管理策略，但最终因为无法导入模板而失败了。
索引生命周期查看。
关闭 Filebeat 的导入模板功能尝试连接，修改配置 filebeat.yml 关闭模板导入。
setup.template.enabled: false 启动 Filebeat 连接 Easysearch。</description></item><item><title>在 Ubuntu 22.04 上运行 Filebeat 7.10.2</title><link>https://infinilabs.cn/blog/2025/ubuntu_run_filebeat/</link><pubDate>Mon, 20 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/ubuntu_run_filebeat/</guid><description>环境 # 操作系统：阿里云 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-83-generic x86_64)
软件版本：Filebeat 7.10.2
用户：root
运行 # 下载 从 这里下载 filebeat 7.10.2。
配置 简单配置一下 filebeat.yml，从标准输入采集，写入到标准输出 ：
filebeat.inputs: - type: stdin output.console: pretty: true 运行 因为使用 root 用户，根据 官方建议添加 --strict.perms=false 参数。
直接运行 ./filebeat -e &amp;ndash;strict.perms=false：
出现异常：
runtime/cgo: pthread_create failed: Operation not permitted SIGABRT: abort PC=0x7f123c7cc9fc m=3 sigcode=18446744073709551610 分析 # 网上搜索一下问题，发现有位网友也遇到了同样问题，并且解决了， 解决方案是添加如下配置：
seccomp: default_action: allow syscalls: - action: allow names: - rseq 通过 官网文档了解seccomp：在 Linux 3.</description></item><item><title>【第 6 期】搜索客 Meetup | Easysearch 请求限速漫谈</title><link>https://infinilabs.cn/blog/2025/searchkit-meetup-6/</link><pubDate>Tue, 14 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/searchkit-meetup-6/</guid><description>本次活动由 搜索客社区、极限科技（INFINI Labs）联合举办，活动邀请到 INFINI Labs 高级解决方案架构师 杨帆 老师给大家带来精彩分享，欢迎预约直播观看~
活动主题：Easysearch 请求限速漫谈
活动时间：2025 年 01 月 17 日 19:00-20:00（周五）
活动形式：微信视频号（极限实验室）直播
报名方式：关注或扫码海报中的二维码进行预约
嘉宾介绍 # 杨帆，极限科技（INFINI Labs）高级解决方案架构师、《老杨玩搜索》栏目 B 站 UP 主，拥有十余年金融行业服务工作经验，熟悉 Linux、数据库、网络等领域。目前主要从事 Easysearch、Elasticsearch 等搜索引擎的技术支持工作，服务国内私有化部署的客户。
主题摘要 # 将和大家一起畅谈，为什么要限速，最早是怎样提出这个需求来的？对读请求限速我们能做什么？对写请求限速我们能做什么？
参与有奖 # 本次直播活动将设有福袋抽奖环节，参与就有机会获得 INFINI Labs 周边纪念品，包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件、精品围巾等等（图片仅供参考，款式、颜色与尺码随机）。
活动交流 # 本活动设有 Meetup 技术交流群，可添加小助手微信拉群，与更多小伙伴一起学习交流。
Meetup 讲师招募 # 搜索客社区 Meetup 的成功举办，离不开社区小伙伴的热情参与。目前社区讲师招募计划也在持续进行中，我们诚挚邀请各位技术大咖、行业精英踊跃提交演讲议题，与大家分享您的经验。
讲师报名链接： http://cfp.searchkit.cn
或扫描下方二维码，立刻报名成为讲师！
Meetup 活动聚焦 AI 与搜索领域的最新动态，以及数据实时搜索分析、向量检索、技术实践与案例分析、日志分析、安全等领域的深度探讨。
我们热切期待您的精彩分享！
往期回顾 # 【第 5 期】搜索客 Meetup | 最强开源 Elasticsearch 多集群管理工具 INFINI Console 动手实战 【第 4 期】搜索客 Meetup | INFINI Pizza 网站 SVG 动画这么炫，我教你啊！ 【第 3 期】搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 下篇 【第 2 期】搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 上篇 【第 1 期】搜索客 Meetup | Easysearch 结合大模型实现 RAG 关于 搜索客（SearchKit）社区 # 搜索客社区由 Elasticsearch 中文社区进行全新的品牌升级，以新的 Slogan：“搜索人自己的社区” 为宣言。汇集搜索领域最新动态、精选干货文章、精华讨论、文档资料、翻译与版本发布等，为广大搜索领域从业者提供更为丰富便捷的学习和交流平台。</description></item><item><title>Easysearch 集群通过 API 进行用户密码重置</title><link>https://infinilabs.cn/blog/2025/easysearch-use-api-reset-user-password/</link><pubDate>Sun, 12 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-use-api-reset-user-password/</guid><description>在日常使用 Easysearch 中，难免会遇到集群密码需要重置的情况（如密码遗失、安全审计要求等）。
通过查看 Easysearch 用户接口文档，创建用户使用如下接口：
PUT _security/user/&amp;lt;username&amp;gt; { &amp;#34;password&amp;#34;: &amp;#34;adminpass&amp;#34;, &amp;#34;roles&amp;#34;: [&amp;#34;maintenance_staff&amp;#34;, &amp;#34;weapons&amp;#34;], &amp;#34;external_roles&amp;#34;: [&amp;#34;captains&amp;#34;, &amp;#34;starfleet&amp;#34;], &amp;#34;attributes&amp;#34;: { &amp;#34;attribute1&amp;#34;: &amp;#34;value1&amp;#34;, &amp;#34;attribute2&amp;#34;: &amp;#34;value2&amp;#34; } } 同样可以通过该接口对用户进行密码重置：
PUT _security/user/&amp;lt;username&amp;gt; { &amp;#34;password&amp;#34;: &amp;#34;adminpass111&amp;#34;, &amp;#34;roles&amp;#34;: [&amp;#34;maintenance_staff&amp;#34;, &amp;#34;weapons&amp;#34;], &amp;#34;external_roles&amp;#34;: [&amp;#34;captains&amp;#34;, &amp;#34;starfleet&amp;#34;], &amp;#34;attributes&amp;#34;: { &amp;#34;attribute1&amp;#34;: &amp;#34;value1&amp;#34;, &amp;#34;attribute2&amp;#34;: &amp;#34;value2&amp;#34; } API 接口创建的用户 # 创建一个测试用户 test，并进行访问验证。
通过接口重置用户 test 密码，并进行访问验证。
配置文件创建的用户 # 在配置文件 user.yml 中添加测试用户（test1、test2）配置：
## Test users test1: hash: &amp;#34;$2y$12$ZNfKKCeeRQXOWX27W50tbu0Tq4NT4ADdCQOBoZzokI1zR8ZEUWm4W&amp;#34; # test1 reserved: true roles: - &amp;#34;readall_and_monitor&amp;#34; test2: hash: &amp;#34;$2y$12$m4/eSiDlzRII87vNeKwzteEHGpgpbdMr5tRvOfve/xIbEYdC4bU7a&amp;#34; # test2 reserved: false roles: - &amp;#34;readall_and_monitor&amp;#34; 其中 hash 字段是将用户密码哈希出来的值，可通过 bin/hash_password.</description></item><item><title>Easysearch 集群重置 admin 用户密码</title><link>https://infinilabs.cn/blog/2025/easysearch-reset-admin-password/</link><pubDate>Sun, 12 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/easysearch-reset-admin-password/</guid><description>admin 用户是 Easysearch 通过配置文件 user.yml 默认添加的，配置如下：
## Demo users admin: hash: &amp;#34;$2y$12$mA9DDk7iOBQA3u.Ebc0QSOVKsgwlkm6OJcrEcpyrTrT5M5It86usq&amp;#34; # 465f7466f79a67b9039d reserved: true external_roles: - &amp;#34;admin&amp;#34; description: &amp;#34;Admin user&amp;#34; 有两种方式可以重置密码：
通过配置文件 user.yml 通过用户 API 接口 配置文件 # 修改配置文件，将密码重置
## Demo users admin: hash: &amp;#34;$2y$12$lszyO4fy25WKClSMZj7lIuQUse2UGuWBof1L1jL0qoXz6S5Yt/RS2&amp;#34; # admin111 reserved: true external_roles: - &amp;#34;admin&amp;#34; description: &amp;#34;Admin user&amp;#34; 其中 hash 字段是将用户密码哈希出来的值，可通过 bin/hash_password.sh -p &amp;quot;&amp;lt;明文密码&amp;gt;&amp;quot; 生成。
注：多节点集群各节点上的配置文件需要保持一致。
修改 user.yml 配置文件，需将 .security 索引删除，重启集群重新生成 .security 索引才能生效。
直接使用 admin 用户进行删除报权限异常，这是因为 .</description></item><item><title>INFINI Labs 产品更新 | Console 发布 TopN 功能，Easysearch 新增 Rollup 能力等</title><link>https://infinilabs.cn/blog/2025/release-20250112/</link><pubDate>Sun, 12 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/release-20250112/</guid><description>INFINI Labs 产品全新发布！此次更新为大家带来了 Console 的全新 TopN 功能，让您能够更高效地定位最关键的节点或索引；Easysearch 新增 Rollup 能力，大幅提升监控指标的存储周期并优化分析体验；此外，Framework 还修复了多项缺陷并进行了多处优化。欢迎下载体验，探索更多可能！
INFINI Console v1.28.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验：
http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
亮点更新 # 1. 重磅发布 Console 的 TopN 功能
随着集群节点数和索引数的不断增加，传统的监控方式已难以满足高效定位问题的需求。在过去，Console 的监控分析功能更多聚焦于单个节点或单个索引的多维指标，但当用户需要快速从所有节点或索引中找到 最忙、最慢 或 最大 的关键数据点时，往往显得非常不便。
尽管 Console 提供了强大的高级分析功能，但面对大量指标时，加载速度较慢、指标过于密集，难以直观发现问题。TopN 的推出，旨在解决这些痛点，为用户提供更加精准、高效的监控分析能力。
TopN 是 Console v1.28.0 中新增的主要功能，用于快速识别排名前 N 的关键指标数据点。它通过强大的多维度横向指标对比分析能力，帮助用户更高效地进行性能优化与决策分析。
关于 TopN 具体如何使用，请查看这篇单独的博客： 快速上手 INFINI Console 的 TopN 指标功能
2. 集群动态 - 记录分片未分配原因
集群动态是一个用于查看集群全局关键事件的模块，当集群健康状态变为红色时，通常需要分析导致变红的原因。尤其是对历史某次集群变红的原因进行回溯，这对于故障诊断和分析极为重要。
在此次更新中，我们引入了一项新功能：当集群健康状态变红时，系统会自动记录导致变红的详细原因。这一功能为长期故障跟踪和诊断提供了宝贵的数据支持，使问题定位和解决更加高效。
Console 本次详细更新记录如下：
功能更新 # 支持在 Insight 数据查询 API 中查询 Top N 指标。 在集群健康状态变为红色后，将集群分配活动的解释记录到集群动态日志中。 为索引增加了新的段内存指标（包括 norms、points、version map、fixed bit set）。 新增 Insight 指标 CURD API，用于管理自定义指标。 添加了多个常见用例的内置指标模板。 问题修复 # 修复了当集群 UUID 为空时查询线程池指标的问题。 修复了单元测试中的问题。 优化改进 # 修复 GitHub Issues #46 和 #43，完善 GitHub Actions CI 流水线。 优化了 Agent 列表的 UI，当列数据溢出时能更好显示。 在概览表格的每一行添加了加载动画。 支持通过集群 ID 和集群 UUID 查询指标。 优化了指标查询的桶大小设置 (#59)。 在监控图表中，如果数据由于时间间隔小于收集间隔而无数据显示，添加了提示。 检查集群版本是否支持 metric transport_outbound_connections。 将 DatePicker 的时间设置默认超时时间调整为 10 秒。 强化了 http_client，支持更多自定义配置选项。 INFINI Easysearch v1.</description></item><item><title>Easysearch Rollup 使用指南</title><link>https://infinilabs.cn/blog/2025/introduction-easysearch-rollup/</link><pubDate>Sat, 11 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/introduction-easysearch-rollup/</guid><description>背景 # 在现代数据驱动的世界中，时序数据的处理变得越来越重要。无论是监控系统、日志分析，还是物联网设备的数据收集，时序数据都占据了大量的存储空间。随着时间的推移，这些数据的存储成本和管理复杂度也在不断增加。
为了解决这一问题，Rollup 技术应运而生。本文将带你深入了解 Rollup 的概念、优势以及如何在 Easysearch 中使用 Rollup 来优化时序数据的存储和查询。
什么是 Rollup？ # Rollup 是一种数据聚合技术，主要用于处理时序数据。它通过将细粒度的原始数据汇总为粗粒度的数据，从而减少存储空间并提高查询效率。简单来说，Rollup 可以将大量的详细数据压缩为更小的、更具代表性的数据集，同时保留关键的业务指标。
Rollup 的优势 # 降低存储成本：通过汇总数据，Rollup 可以显著减少历史数据的存储空间，从而降低存储成本。 提高查询性能：汇总后的数据量更小，查询速度更快，尤其是在处理大规模历史数据时，性能提升尤为明显。 无缝集成：Easysearch 的 Rollup 功能支持直接查询原始索引，业务代码无需修改，用户无感知。 自动化管理：Rollup 任务可以自动滚动生成新的索引，无需手动干预，简化了数据管理流程。 Rollup 的使用场景 # Rollup 特别适用于以下场景：
监控系统：监控系统产生的指标数据通常非常详细，但随着时间推移，这些数据的价值逐渐降低。通过 Rollup，可以将这些数据汇总为更粗粒度的指标，保留关键信息的同时减少存储压力。 日志分析：日志数据通常包含大量的细节信息，但随着时间的推移，这些细节信息的重要性逐渐降低。Rollup 可以帮助你将日志数据汇总为更高层次的统计信息，便于长期存储和分析。 物联网数据：物联网设备产生的数据量巨大，且大部分数据在短期内具有较高的分析价值。通过 Rollup，可以将这些数据汇总为更粗粒度的形式，便于长期存储和查询。 使用 Rollup 的先决条件 # 在使用 Rollup 之前，需要满足以下条件：
安装索引生命周期管理插件：Rollup 功能是索引生命周期管理插件的一部分，因此必须安装该插件。
源索引必须包含 date 类型字段：Rollup 依赖于时间字段来进行数据聚合，因此源索引必须包含一个 date 类型的字段。
Easysearch 中的 Rollup 功能 # Easysearch 提供了强大的 Rollup 功能，支持多种聚合类型，并且可以自动滚动生成新的索引。下面我们将详细介绍如何在 Easysearch 中使用 Rollup。</description></item><item><title>快速上手 INFINI Console 的 TopN 指标功能</title><link>https://infinilabs.cn/blog/2025/console-top-n-metrics/</link><pubDate>Sat, 11 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/console-top-n-metrics/</guid><description>背景 # 在分布式搜索引擎系统（如 Easysearch、Elasticsearch 和 OpenSearch）中，性能监控至关重要。为了确保系统的高效运行和资源的合理分配，我们通常需要关注一段时间内关键资源的使用情况，特别是索引、节点和分片的内存与 CPU 占用情况。
通过对这些关键指标进行 TopN 查询，我们能够识别出资源使用最多的节点、索引或分片，帮助我们快速定位潜在的性能瓶颈或过度负载的区域。这种实时监控不仅有助于优化集群的整体资源分配，还能在出现性能问题时迅速采取调整措施，避免对服务产生较大影响。
什么是 Console 的 TopN？ # TopN 是 Console v1.28.0 中新增的主要功能，用于快速识别排名前 N 的关键指标数据点。它通过强大的多维度指标分析能力，帮助用户更高效地进行性能优化与决策分析。 随着集群节点数和索引数的不断增加，传统的监控方式已难以满足高效定位问题的需求。在过去，Console 的监控分析功能更多聚焦于单个节点或单个索引的多维指标，但当用户需要快速从所有节点或索引中找到 最忙、最慢 或 最大 的关键数据点时，往往显得非常不便。 尽管 Console 提供了强大的高级分析功能，但面对大量指标时，加载速度较慢、指标过于密集，难以直观发现问题。TopN 的推出，旨在解决这些痛点，为用户提供更加精准、高效的监控分析能力。
INFINI Console 提供的 TopN 指标功能，能够基于 内存占用、CPU 使用 等关键指标，帮助用户全面了解集群的性能状态。只需通过简单的操作，用户可以快速识别出 TopN 索引、节点或分片，从而进一步优化资源配置和系统性能。
功能介绍 # 点击左侧菜单 平台管理 》监控报表，选择 TopN Tab 页，然后您会看到如下界面：
如果我们选中的集群使用的是 INFINI Agent 采集的指标，这里我们看到的将是 节点 和 分片两个 Tab 页。 当前 Agent 采集模式不支持查看 TopN 索引，未来将增加此功能支持。
这里我们依次按如下步骤操作</description></item><item><title>如何使用 Logstash 8 连接 Easysearch</title><link>https://infinilabs.cn/blog/2025/logstash-8-connect-easysearch/</link><pubDate>Tue, 07 Jan 2025 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2025/logstash-8-connect-easysearch/</guid><description>背景 # 很多小伙伴都在使用 Logstash ，随着各家安全扫描、安全策略的加固，不少小伙伴已经开始使用 Logstash 8 了。在使用 Logstash 8 连接 Easysearch 的时候可能会遇到问题，比如下图。
提示连接的不是兼容版本的 Elasticsearch 。
解决方法有两种 # 两种方法对 Logstash 和 Logstash-oss 两种版本都适用。
一、用 INFINI Gateway 代理 Easysearch # 使用此方法， Logstash 连接的是 INFINI Gateway ，由 INFINI Gateway “通过” Logstash 8 的检查。
优点是对 Easysearch 版本无要求。
默认的网关配置要稍作修改。
修改 router.rules 部分 router: - name: my_router default_flow: default_flow tracing_flow: logging_flow rules: - method: - &amp;#34;GET&amp;#34; pattern: - &amp;#34;/&amp;#34; flow: - overwrite_flow - method: - &amp;#34;GET&amp;#34; pattern: - &amp;#34;/_license&amp;#34; flow: - overwrite_license_flow - method: - &amp;#34;*&amp;#34; pattern: - &amp;#34;/_bulk&amp;#34; - &amp;#34;/{any_index}/_bulk&amp;#34; flow: - async_bulk_flow flow 下增加 overwrite_flow 和 overwrite_license_flow - name: overwrite_flow filter: - elasticsearch: elasticsearch: prod max_connection_per_node: 1000 - set_context: context: _ctx.</description></item><item><title>Kibana OSS 7.10.2 连接 INFINI Easysearch</title><link>https://infinilabs.cn/blog/2024/kibana_oss_7.10.2-connect-easysearch/</link><pubDate>Mon, 30 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/kibana_oss_7.10.2-connect-easysearch/</guid><description>大家都知道 ELK 生态里的各软件之间是有版本验证的。那如果想用 Kibana 连接 INFINI Easysearch，要怎么办呢？
今天我们来实现一下。
首先直接请求 Easysearch API，确认返回版本信息。
# curl -ku admin:a9ce40464e259c7d1e58 https://10.0.0.1:9203 { &amp;#34;name&amp;#34; : &amp;#34;node-1&amp;#34;, &amp;#34;cluster_name&amp;#34; : &amp;#34;infini-logs-tmp&amp;#34;, &amp;#34;cluster_uuid&amp;#34; : &amp;#34;R_u1UaVQQo-wS1MFGOho3A&amp;#34;, &amp;#34;version&amp;#34; : { &amp;#34;distribution&amp;#34; : &amp;#34;easysearch&amp;#34;, &amp;#34;number&amp;#34; : &amp;#34;1.9.1&amp;#34;, &amp;#34;distributor&amp;#34; : &amp;#34;INFINI Labs&amp;#34;, &amp;#34;build_hash&amp;#34; : &amp;#34;da95c34b95dd934779d7ae5c6c1bccd2f1c25954&amp;#34;, &amp;#34;build_date&amp;#34; : &amp;#34;2024-12-20T21:01:36.991581Z&amp;#34;, &amp;#34;build_snapshot&amp;#34; : false, &amp;#34;lucene_version&amp;#34; : &amp;#34;8.11.2&amp;#34;, &amp;#34;minimum_wire_lucene_version&amp;#34; : &amp;#34;7.7.0&amp;#34;, &amp;#34;minimum_lucene_index_compatibility_version&amp;#34; : &amp;#34;7.7.0&amp;#34; }, &amp;#34;tagline&amp;#34; : &amp;#34;You Know, For Easy Search!&amp;#34; } INFINI Easysearch 有提供版本兼容参数。
elasticsearch.api_compatibility: true elasticsearch.</description></item><item><title>极限网关案例分享（3）：使用极限网关实现多集群写入</title><link>https://infinilabs.cn/blog/2024/gateway-case-sharing-3/</link><pubDate>Sun, 29 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/gateway-case-sharing-3/</guid><description>背景 # 集群数据量⽇增 3 T，为避免单集群过大，造成性能问题，计划将数据写入多个集群。
⽅案 # 可以按照数据产生的时间来划分集群，比如按月来划分集群。从而保证单个集群在可控范围内。
为了让应用尽可能无缝接入数据，可以使用极限网关进行前置流量拆分，通过 context_switch 过滤器对匹配的上下文变量进行条件判断，将流量分拆到不同的集群。
流量拆分方案 # 根据当前数据的写入时间来进行拆分，比如每月 1，4，7，10，13，16，19，22，25，28，31 号的数据写到 es1 集群；每月 2，5，8，11，14，17，20，23，26，29 号的数据写入 es2 集群；每月 3，6，9，12，15，18，21，24，27，30 号的数据写到 es3 集群。
Note：当前方案只是根据比较粗的粒度进行流量切分，不是文档和字段粒度的切分，在两个切分粒度的边界时间可能存在误差的问题，比如 1 号和 2 号的中间，可能存在实际一条日志记录数产生在 1 号底，但是却因为时间索引延迟而保存到 2 号数据的写入集群的情况。
极限网关配置 # entry: - name: test_entry enabled: true router: default max_concurrency: 20000 network: binding: 0.0.0.0:8000 router: - name: default default_flow: default_flow flow: - name: not_found filter: - elasticsearch: elasticsearch: es1 - name: es1 filter: - elasticsearch: elasticsearch: es1 - name: es2 filter: - elasticsearch: elasticsearch: es2 - name: es3 filter: - elasticsearch: elasticsearch: es3 - name: default_flow filter: - context_switch: context: _sys.</description></item><item><title>Spring Boot 集成 Easysearch 完整指南</title><link>https://infinilabs.cn/blog/2024/use-spring-boot-for-easysearch-connection/</link><pubDate>Sat, 28 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/use-spring-boot-for-easysearch-connection/</guid><description>Easysearch 的很多用户都有这样的需要，之前是用的 ES，现在要迁移到 Easysearch，但是业务方使用的是 Spring Boot 集成的客户端，问是否能平滑迁移。
Easysearch 是完全兼容 Spring Boot 的，完全不用修改，本指南将探讨如何将 Spring Boot 和 ES 的 high-level 客户端 与 Easysearch 进行集成，涵盖从基础设置到实现 CRUD 操作和测试的所有内容。
服务器设置 # 首先，需要修改 Easysearch 节点的 easysearch.yml 文件，打开并配置这 2 个配置项：
elasticsearch.api_compatibility: true #根据客户端版本配置版本号，我这里配置成 7.17.18 elasticsearch.api_compatibility_version: &amp;#34;7.17.18&amp;#34; 项目设置 # 然后，让我们设置 Maven 依赖。以下是 pom.xml 中的基本配置：
&amp;lt;properties&amp;gt; &amp;lt;java.version&amp;gt;11&amp;lt;/java.version&amp;gt; &amp;lt;spring-data-elasticsearch.version&amp;gt;4.4.18&amp;lt;/spring-data-elasticsearch.version&amp;gt; &amp;lt;elasticsearch.version&amp;gt;7.17.18&amp;lt;/elasticsearch.version&amp;gt; &amp;lt;/properties&amp;gt; &amp;lt;dependencies&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-web&amp;lt;/artifactId&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.data&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-data-elasticsearch&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${spring-data-elasticsearch.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.elasticsearch&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;elasticsearch&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${elasticsearch.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.elasticsearch.client&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;elasticsearch-rest-high-level-client&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${elasticsearch.</description></item><item><title>极限网关案例分享（1）：使用极限网关代替 Nginx 访问 ECE</title><link>https://infinilabs.cn/blog/2024/gateway-case-sharing-1/</link><pubDate>Sat, 28 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/gateway-case-sharing-1/</guid><description>背景 # 某 ECE 集群，后端 300+ 实例，最开始使用 Nginx + Keepalived 代理请求，转发到 ECE Proxy。
随着业务请求的增多，Nginx 出现异常，不能满足需求。
方案 # 进行请求代理改造，为了减少对现网环境有大的改动，设计方案如下：
保留当前的 Nginx + Keepalived，极限网关和 Nginx 混合部署在一台机器上面，同时借用 Keepalived 保障网关的高可用性。 替换用来承载业务访问的 Nginx 代理功能，由极限网关来承载外部请求，转发给后端的 ECE Proxy。 极限网关配置如下：
path.data: data path.logs: log entry: - name: my_es_entry enabled: true router: my_router max_concurrency: 10000 network: binding: 0.0.0.0:9243 tls: enabled: true cert_file: /etc/ssl.crt key_file: /etc/ssl.key skip_insecure_verify: false flow: - name: primary-write-flow filter: - http: schema: &amp;#34;https&amp;#34; #https or http hosts: - &amp;#34;192.</description></item><item><title>极限网关案例分享（2）：使用极限网关来加速索引写入速度</title><link>https://infinilabs.cn/blog/2024/gateway-case-sharing-2/</link><pubDate>Sat, 28 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/gateway-case-sharing-2/</guid><description>背景 # 某些业务数据写入速度慢，需提高写入速度。
方案 # 设计方案如下：
将数据写入改造成 bulk 请求形式 前置网关将指定业务的 bulk 请求单独拆分出来，转发到后置网关 后置网关对 bulk 请求进行异步消费处理 前置网关拆分指定请求 # 网关配置如下：
path.data: data-front path.logs: log-front entry: - name: my_es_entry enabled: true router: my_router max_concurrency: 50000 network: binding: :9243 tls: enabled: true cert_file: /etc/ssl.crt key_file: /etc/ssl.key skip_insecure_verify: false flow: - name: test-async-indexing filter: - elasticsearch: elasticsearch: test-es - flow: when: equals: _ctx.response.status: 0 flows: - default-flow - drop: - name: bulk_flow filter: - flow: when: and: - contains: _ctx.</description></item><item><title>给 Postgres 写一个向量插件 - 向量类型</title><link>https://infinilabs.cn/blog/2024/build_a_vector_extension_for_postgres_vector_type/</link><pubDate>Thu, 26 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/build_a_vector_extension_for_postgres_vector_type/</guid><description>在这篇文章中，我们将为 Postgres 实现 vector 类型：
CREATE TABLE items (v vector(3)); Postgres 扩展结构和 pgrx 包装器 # 在实现它之前，让我们先看看典型的扩展结构，以及 pgrx 如何为我们简化它。
典型的 Postgres 扩展可以大致分为 2 层：
实现，通常使用 C 等低级语言完成。 将实现粘合到 Postgres 的高级 SQL 语句。 指定扩展的一些基本属性的控制文件。 如果你看一下 pgvector 的源代码，这个 3 层结构非常明显， src 目录 用于 C 代码， sql 目录包含更高级的 SQL 胶水，还有一个 .control 文件。那么 pgrx 如何使扩展构建更容易？
它用 Rust 包装 Postgres C API 正如我们所说，即使我们用 Rust 构建扩展，Postgres 的 API 仍然是 C，pgrx 尝试将它们包装在 Rust 中，这样我们就不需要为 C 烦恼了。</description></item><item><title>Easysearch 可搜索快照功能，看这篇就够了</title><link>https://infinilabs.cn/blog/2024/searchable-snapshot-read-this-article/</link><pubDate>Wed, 25 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/searchable-snapshot-read-this-article/</guid><description>可搜索快照功能改变了我们对备份数据的查询方式。以往要查询备份数据时，要先找到备份数据所在的快照，然后在一个合适的环境中恢复快照，最后再发起请求查询数据。这个处理路径很长，而且很消耗时间。可搜索快照功能将大大简化该处理路径，节约时间。
角色设置 # 相信你对节点角色的概念已经有所熟悉。要启用可搜索快照功能， Easysearch 集群中必须至少有一个节点拥有 search 角色。参考设置如下。
node.roles: [&amp;#34;search&amp;#34;] node.search.cache.size: 500mb node.roles: 指定节点角色，只有 search 角色的节点才能去搜索快照中的数据。 node.search.cache.size: 执行快照搜索时，数据缓存大小。 混合角色设置，参考如下。
node.roles: [&amp;#34;master&amp;#34;,&amp;#34;data&amp;#34;,&amp;#34;search&amp;#34;,&amp;#34;ingest&amp;#34;] node.search.cache.size: 500mb 创建快照 # 可搜索快照功能使用普通快照作为基础，创建快照命令不变。比如我创建且备份个 infini 索引。
# 创建 infini 索引 POST infini/_doc { &amp;#34;test&amp;#34;:&amp;#34;Searchable snapshots&amp;#34; } # 创建快照备份 infini 索引 PUT _snapshot/my-fs-repository/1 { &amp;#34;indices&amp;#34;: &amp;#34;infini&amp;#34;, &amp;#34;include_global_state&amp;#34;: false } 创建快照索引 # 可搜索快照功能的核心是搜索快照中的索引，这一步是通过快照索引实现的。为了和集群中的普通索引区别开来，我们将实际存储在快照中的索引称为快照索引。通过使用 Easysearch 的 _restore API 并指定 remote_snapshot 存储类型来创建快照索引。
创建快照索引时，注意名称不能与当前索引名称重复。通常我们备份完索引后，可删除索引释放节点磁盘空间，创建快照索引时默认使用原来的名称。
# 删除 infini 索引释放磁盘空间 DELETE infini # 创建快照索引,使用原索引名称 POST /_snapshot/my-fs-repository/1/_restore { &amp;#34;indices&amp;#34;: &amp;#34;infini&amp;#34;, &amp;#34;include_global_state&amp;#34;: false, &amp;#34;include_aliases&amp;#34;: false, &amp;#34;storage_type&amp;#34;: &amp;#34;remote_snapshot&amp;#34; } 创建快照索引的命令和还原快照的命令非常相似，关键在于 storage_type 参数指定 remote_snapshot 存储类型。</description></item><item><title>Easysearch Java SDK 2.0.x 使用指南（三）</title><link>https://infinilabs.cn/blog/2024/easysearch-java-client-3/</link><pubDate>Sat, 21 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-java-client-3/</guid><description>在 Easysearch Java SDK 2.0.x 使用指南（一） 中，我们介绍了 Easysearch Java SDK 2.0.2 的基本使用和批量操作功能。
在 Easysearch Java SDK 2.0.x 使用指南（二） 中，则详细介绍了索引管理相关的功能，包括索引的创建、删除、开关、刷新、滚动等操作，以及新版 SDK 提供的同步和异步两种调用方式。
本篇文章将继续向大家介绍 Easysearch Java SDK 2.0.2 的 Query 的使用。
1. QueryString：灵活的全文检索 # QueryString 查询允许开发者以类似 Easysearch Query DSL 的语法执行全文检索，非常适合处理用户输入的复杂搜索条件。
基本概念 # fields：指定要检索的字段列表。 query：查询字符串，支持布尔操作符（如 AND、OR、NOT）。 default_operator：当查询字符串中未明确操作符时使用的默认逻辑操作符。 analyze_wildcard：是否对通配符查询进行分析。 代码示例 # 以下示例展示了如何通过新版 Java 客户端构建一个 QueryString 查询，用于检索标题和内容中同时包含 easysearch 和 java 的文档：
@Test public void testQueryString() { // 定义 JSON 查询字符串 String jsonQuery = &amp;#34;{\n&amp;#34; + &amp;#34; \&amp;#34;query_string\&amp;#34;: {\n&amp;#34; + &amp;#34; \&amp;#34;fields\&amp;#34;: [\&amp;#34;title\&amp;#34;, \&amp;#34;content\&amp;#34;],\n&amp;#34; + &amp;#34; \&amp;#34;query\&amp;#34;: \&amp;#34;easysearch AND java\&amp;#34;,\n&amp;#34; + &amp;#34; \&amp;#34;default_operator\&amp;#34;: \&amp;#34;AND\&amp;#34;,\n&amp;#34; + &amp;#34; \&amp;#34;analyze_wildcard\&amp;#34;: true\n&amp;#34; + &amp;#34; }\n&amp;#34; + &amp;#34;}&amp;#34;; // 使用 JacksonJsonpMapper 解析 JSON 字符串 JacksonJsonpMapper mapper = new JacksonJsonpMapper(); JsonParser parser = mapper.</description></item><item><title>【第5期】搜索客 Meetup | 最强开源 Elasticsearch 多集群管理工具 INFINI Console 动手实战</title><link>https://infinilabs.cn/blog/2024/searchkit-meetup-5/</link><pubDate>Fri, 20 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/searchkit-meetup-5/</guid><description>本次活动由 搜索客社区、极限科技（INFINI Labs）联合举办，最近 INFINI Labs 重磅宣布旗下的产品 Console/Gateway/Agent/Framework 等在 Github 上开源了，其中 INFINI Console 作为 一款非常轻量级的多集群、跨版本的搜索基础设施统一管控工具，受到广大用户喜爱。借此开源机会，我们邀请到 INFINI Labs 的技术专家罗厚付老师跟大家分享介绍 Console 并动手实战，手把手教你从源码编译 -&amp;gt; 安装部署 -&amp;gt; 上手体验全攻略，欢迎预约直播观看~
活动主题：最强开源 Elasticsearch 多集群管理工具 INFINI Console - 动手实战
活动时间：2024 年 12 月 20 日 19:00-20:00（周三）
活动形式：微信视频号（极限实验室）直播
报名方式：关注或扫码海报中的二维码进行预约
嘉宾介绍 # 罗厚付，极限科技技术专家，拥有多年安全风控及大数据系统架构经验。现任极限科技云上产品设计与研发负责人，主导过多个核心产品的设计与落地。日常负责运维超大规模 ES 集群（800+节点/1PB+数据）。
主题摘要 # INFINI Labs Console/Gateway/Agent/Framework 开源后，如何在本地搭建开发环境，并运行起来，使用 INFINI Easysearch 进行指标存储，使用 INFINI Console/Agent 对 Ealsticsearch 进行指标采集。
参与有奖 # 本次直播活动将设有福袋抽奖环节，参与就有机会获得 INFINI Labs 周边纪念品，包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件等等（图片仅供参考，款式、颜色与尺码随机）。
活动交流 # 本活动设有 Meetup 技术交流群，可添加小助手微信拉群，与更多小伙伴一起学习交流。</description></item><item><title>Elasticsearch VS Easysearch 性能测试</title><link>https://infinilabs.cn/blog/2024/elasticsearch-vs-easysearch-stress-testing/</link><pubDate>Thu, 19 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/elasticsearch-vs-easysearch-stress-testing/</guid><description>压测环境 # 虚拟机配置 # 使用阿里云上规格： ecs.u1-c1m4.4xlarge，PL2: 单盘 IOPS 性能上限 10 万 (适用的云盘容量范围：461GiB - 64TiB)
vCPU 内存 (GiB) 磁盘(GB) 带宽（Gbit/s） 数量 16 64 500 5000 24 Easysearch 配置 # 7 节点集群，版本：1.9.0
实例名 内网 IP 软件 vCPU JVM 磁盘 i-2zegn56cijnzklcn2410 172.22.75.144 Easysearch 16 31G 500GB i-2zegn56cijnzklcn240u 172.23.15.97 Easysearch 16 31G 500GB i-2zegn56cijnzklcn240i 172.</description></item><item><title>如何实现一个充满科技感的官网（二）</title><link>https://infinilabs.cn/blog/2024/official-website-en-2/</link><pubDate>Wed, 18 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/official-website-en-2/</guid><description>背景 # 在上一篇文章 《如何实现一个充满科技感的官网（一）》 中，我们初步了解了该官网的整体设计，并与大家探讨了它的视觉呈现和用户体验。
我们前期的内部设计偏向简洁，所以开始思考如何提升网站的整体设计感。这些尝试便由此展开。
网站地址：https://infinilabs.com/
如果你对动态背景的实现感兴趣，这篇文章将带你深入探索，揭秘如何从零打造一个兼具美感与功能性的企业官网！
技术选型 # 前端框架：Next.js UI 框架：基于 Tailwind CSS CSS 样式：Tailwind CSS（快速开发、内置响应式、丰富工具类） 为什么选择 Next.js？ # 兼容团队技术栈：基于 React，便于团队协作。 SEO 和性能优化：支持服务端渲染（SSR）和静态站点生成（SSG）。 路由强大：支持动态路由和文件路由，灵活易用。 内置优化：图片优化、国际化、多种性能提升。 动态内容支持：博客、新闻等动态场景轻松应对。 加载体验佳：用户体验和页面加载速度表现优秀。 动态的背景方案 # 动态背景可以显著提升视觉吸引力，以下是常用实现方案：
CSS 动画背景：使用纯 CSS 实现动态背景，通过 @keyframes 配合渐变色、位置移动等属性。 动态 Canvas 背景：使用 &amp;lt;canvas&amp;gt; 元素，结合 JavaScript 绘制动态效果，比如粒子系统、波浪效果等。 动态视频背景：使用 &amp;lt;video&amp;gt; 元素播放循环视频作为背景。 WebGL 动态背景：使用 WebGL 库（如 Three.js）渲染 3D 动态背景。 动态粒子背景：使用现有的粒子背景库快速实现动态粒子效果。（particles.js 或 tsparticles） &amp;hellip;&amp;hellip; 如何选择？ # 简单需求： 纯 CSS 动画、动态视频背景。 复杂交互：Canvas 动画、WebGL 动画（Three.</description></item><item><title>给 Postgres 写一个向量插件 - 介绍</title><link>https://infinilabs.cn/blog/2024/build_a_vector_extension_for_postgres_introduction/</link><pubDate>Wed, 18 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/build_a_vector_extension_for_postgres_introduction/</guid><description>为什么以及什么 # 向量数据库现在是非常热门的话题。我一直对它们是什么以及它们是如何在背后工作的感到好奇，所以我们自己来构建一个。从头开始构建一个全新的数据库并不现实，我们需要一些构建块，或者，直接使用一个真正的数据库系统。Postgres 因其扩展性而享有长期的声誉，这使它成为我们需求的完美选择，像 pgvector 这样的项目已经证明，将向量支持作为扩展添加到 Postgres 是可行的。
我们将为 Postgres 实现向量支持，但需要实现哪些详细功能呢？这个问题并不难，维基百科对 向量数据库 的定义为我们指明了正确的方向：
A vector database, vector store or vector search engine is a database that can store vectors (fixed-length lists of numbers) along with other data items. Vector databases typically implement one or more Approximate Nearest Neighbor algorithms so that one can search the database with a query vector to retrieve the closest matching database records
好的，那么我们需要使 Postgres 能够存储向量，并能够执行 Top-K 查询。即对于给定的输入向量，Postgres 应返回与之最相似（或最近）的 K 个向量。如果用 SQL 来表示，它可能看起来像这样：</description></item><item><title>INFINI Console 指标采集优化</title><link>https://infinilabs.cn/blog/2024/optimize-metrics-collecting/</link><pubDate>Mon, 16 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/optimize-metrics-collecting/</guid><description>前言 # 在 Easysearch / Elasticsearch / Opensearch 管理系统中，对于不同集群不同指标数据进行采集是一个常规任务。但是采集过程中不仅会对采集系统 CPU 和访问性能造成不少压力，也会对 Easysearch / Elasticsearch / Opensearch 集群造成资源消耗，从而影响集群本身的健康运行。因此，优化设计采集指标任务系统设计尤为重要。
原架构分析 # 先前基于对 Console 自身性能影响的考量，我们将所有纳管集群的指标采集任务都放到单一线程中去顺序执行，如下图：
在原有架构中，所有集群指标的采集任务操作均依赖于一个线程执行，每个集群的采集任务包括 “集群健康”，“集群统计”， “节点统计” 等采集任务。该模型实现简单，但也带来以下问题：
单线程实现增加应用总时间而导致超时风险。 不同集群间采集指标任务相互干扰，导致指标采集相当不稳定。 不同的集群指标采集时间间隔可能不一样，无法精确控制。 新架构优化 # 新设计中，我们将每个集群中不同采集项分布到独立线程去执行：
每个集群的“集群健康”，“节点统计”，和“指数统计”采用独线程执行。 不同的指标采集任务可以独立设置采集时间间隔。 将所有采集任务放到一个线程池中去执行，集中控制资源使用和任务调度。 优化效果 # 通过拆分并发执行，新设计获得了如下收益：
解决了相互干扰并导致性能不稳定的问题 提升输出和数据分析完整性。 解决了不同指标采集任务设置不同采集间隔的问题 总结 # 通过拆分并发采集集群指标，使得 INFINI Console 的指标采集功能更加流畅，指标输出更加完整，给用户带来更好的使用体验。最近 INFINI Console 宣布开源了，如果您想了解更多的细节, 可以去 https://github.com/infinilabs/console 查看源码。</description></item><item><title>从 Elastic 迁移到 Easysearch 指引</title><link>https://infinilabs.cn/blog/2024/migrate-from-elastic-to-easysearch/</link><pubDate>Mon, 16 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/migrate-from-elastic-to-easysearch/</guid><description>从 Elasticsearch 迁移到 Easysearch 需要考虑多个方面，这取决于当前使用的 Elasticsearch 版本、能容忍的停机时间、应用需求等。在此背景下，我们梳理了一下通用的升级指引，方便大家进行迁移工作。
迁移路径 # Elasticsearch 版本 快照兼容 推荐升级方法 5.x ❌ 使用 INFINI Console 迁移 6.x ✅ 快照恢复迁移 7.0.0 - 7.10.2 ✅ 快照恢复迁移 &amp;gt;7.11.0 ❌ 使用 INFINI Console 迁移 之前有同事做过相关测试，详情请移步 这里。
快照恢复迁移 # 部署新的 Easysearch 集群，如果有使用插件（如 IK），也一并安装。 将备份仓库注册到 Easysearch 集群。 在 Easysearch 中设置需要使用的用户名和密码信息。 原 Elasticsearch 集群进行快照备份。 在 Easysearch 集群中进行备份还原。 另部署一套应用连接 Easysearch 集群，进行数据、功能验证。 停止应用写入新的数据到 Elasticsearch。 原 Elasticsearch 集群进行快照备份。 在 Easysearch 集群中进行备份还原。 再次使用应用验证数据、功能正常。 切换，老应用下线使用新应用或者老应用修改地址连接 Easysearch 集群。 INFINI Console 迁移 # 部署新的 Easysearch 集群及其插件（如 IK）。 部署 INFINI Console、Gateway 程序。 将 Elasticsearch 和 Easysearch 注册到 INFINI Console 中。 在 Easysearch 中设置需要使用的用户名和密码信息。 建立数据迁移任务，对业务索引进行迁移，建议启用压缩功能。 另部署一套应用连接 Easysearch 集群，进行数据、功能验证。 停止应用写入新的数据到 Elasticsearch。 再次建立数据迁移任务，设置条件，只迁移增量数据。 再次使用应用验证数据、功能正常。 切换，老应用下线使用新应用或者老应用修改地址连接 Easysearch 集群。 客户端调整 # 如果要继续使用 Java High Level REST Client，建议将版本调整到 7.</description></item><item><title>Easysearch Chart Admin 密码自定义</title><link>https://infinilabs.cn/blog/2024/easysearch-chart-admin-password-custom/</link><pubDate>Sun, 15 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-chart-admin-password-custom/</guid><description>使用 Easysearch Chart 0.2.0 之前的版本（包括 0.2.0）创建出来的集群， admin 用户初始密码固定为 admin，这样的集群存在安全隐患。
Easysearch 1.8.3 版本优化了初始化脚本（bin/initialize.sh），添加了初始化密码环境变量判断，可手工设置 EASYSEARCH_INITIAL_ADMIN_PASSWORD 环境变量来指定集群 admin 用户初始密码。
现在我们来调整 Easysearch Chart 包适配这一功能：
1、下载解压 Easysearch Chart 包源码。
下载地址： https://github.com/infinilabs/helm-charts/releases
2、修改包文件（Chart.yaml），调整 Easysearch 版本。
appVersion: 1.8.3-265 3、修改变量文件（value.yaml），添加变量
initAdminPassword: &amp;#34;admin111&amp;#34; 4、修改模版文件（templates/statefulset.yaml），初始容器中添加环境变量配置。
initContainers: - name: init-config ...... env: ...... - name: EASYSEARCH_INITIAL_ADMIN_PASSWORD value: &amp;#39;{{- toString .Values.initAdminPassword }}&amp;#39; 5、修改模版文件（templates/configmap.yaml），初始容器启动脚本（unitMGR）中添加集群初始化脚本（bin/initialize.sh）。
apiVersion: v1 kind: ConfigMap ...... data: unitMGR: | #!/bin/bash rm -rf /etc/confd/* ./bin/initialize.sh -s ...... 修改完成。
验证一下</description></item><item><title>Elasticsearch filter context 的使用原理</title><link>https://infinilabs.cn/blog/2024/elasticsearch-filter-context/</link><pubDate>Sun, 15 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/elasticsearch-filter-context/</guid><description>ES querycache 加速匹配的方法
前言 # ES 进行信息检索的时候，boolean 查询组合条件有 must/must_not/should/filter 四个操作。其中 must 和 filter 的用途都是用于过滤必要符合的条件，但是 filter 在查询过程中不算分并且可以进行缓存，这样逻辑简单又可以加速的查询方式经常得到 Elastic 的提倡。
可是，只有 filter 的条件可以被缓存么？这里的缓存是属于哪一部分？缓存有什么样的进入和淘汰机制？怎么去监控缓存的使用情况？
这些问题也会伴随着对 ES 的深入使用自然而然的产生。本文中，我们结合 Elastic 的一些资料进行探索。
什么是 Filter Context # 仔细去看 Elastic 的文档可以发现，在 filter 的使用介绍里是这么写的Filter clauses are executed in filter context, meaning that scoring is ignored and clauses are considered for caching.这里不仅措辞严谨的说 filter 条件以 filter context 的方式执行，并做了 超链解释。
简而言之，filter context 主要用于查询的过滤条件，并且不用算分，与 bool 的 filter 条件没有严格关联，除了 bool 的 filter 外，bool 中的 must_not， constant_score 查询中的 filter，聚合中的 filter 也都属于。</description></item><item><title>Elasticsearch filter context 的实践案例</title><link>https://infinilabs.cn/blog/2024/elasticsearch-filter-context-practice/</link><pubDate>Sun, 15 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/elasticsearch-filter-context-practice/</guid><description>知识背景 # 在 ES 查询优化的建议里，很多时候为了避免算分逻辑和利用缓存逻辑，Elastic 会建议大家使用 filter 条件。
filter 的使用条件和原理具体可以参照之前写的博文《Elasticsearch filter context 的使用原理》（https://mp.weixin.qq.com/s/Jsgx_RL0T794Z2bxuKtqOA）
这里我们来研究 2 个实用案例，具体的感受一下 filter context 的使用效果。
普通案例 # 第一个案例，我们选择一个 range date 的条件进行测试环境测试，将其中 must 条件改成 filter 条件，测试 5 次以上，观测其缓存数据。
# 清空缓存 POST indexname/_cache/clear?query=true # 查询 5-10 次 GET indexname/_search { &amp;quot;query&amp;quot;: { &amp;quot;bool&amp;quot;: { &amp;quot;must&amp;quot;: [ { &amp;quot;range&amp;quot;: { &amp;quot;date&amp;quot;: { &amp;quot;gte&amp;quot;: &amp;quot;2024-01-01&amp;quot;, &amp;quot;lte&amp;quot;: &amp;quot;2024-03-01&amp;quot; } } } ] } } } # 查询缓存状态 GET indexname/_stats?human=true&amp;amp;filter_path=*.*.query_cache ​ 可以看到 query_cache 的 size/count 始终为 0，也就是并没有利用到缓存。</description></item><item><title>Easysearch Java SDK 2.0.x 使用指南（二）</title><link>https://infinilabs.cn/blog/2024/easysearch-java-client-2/</link><pubDate>Sat, 14 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-java-client-2/</guid><description>在 上一篇文章 中，我们介绍了 Easysearch Java SDK 2.0.x 的基本使用和批量操作。本文将深入探讨索引管理相关的功能，包括索引的创建、删除、开关、刷新、滚动等操作，以及新版 SDK 提供的同步和异步两种调用方式。
SDK 的对象构建有两种方式 # 1. 传统的 Builder 方式 # 最基础的方式，像这样：
CreateIndexResponse createResponse = client.indices().create( new CreateIndexRequest.Builder() .index(&amp;#34;my-index&amp;#34;) .aliases(&amp;#34;foo&amp;#34;, new Alias.Builder().isWriteIndex(true).build() ) .build() ); 优点简单直观，但稍显笨重。
2. Lambda 表达式方式 # 这才是推荐的写法，简洁优雅：
CreateIndexResponse createResponse = client.indices() .create(c -&amp;gt; c .index(&amp;#34;my-index&amp;#34;) .aliases(&amp;#34;foo&amp;#34;, a -&amp;gt; a .isWriteIndex(true) ) ); Lambda 方式不仅代码少，最大的优点是不用记那么多 Builder 类名。尤其是写复杂查询的时候，代码层次感特别强：
// 命名建议：用 b0、b1 这样的简写表示嵌套层级 SearchResponse&amp;lt;Doc&amp;gt; results = client.search(b0 -&amp;gt; b0 .</description></item><item><title>INFINI Labs 产品更新 | Console/Gateway/Agent 等产品开源发布首个版本</title><link>https://infinilabs.cn/blog/2024/release-20241213/</link><pubDate>Fri, 13 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/release-20241213/</guid><description>INFINI Labs 产品又更新啦~，包括 Easysearch v1.9.0、Gateway、Console、Agent、Loadgen v1.27.0。本次各产品更新了很多亮点功能，如 Easysearch 优化了多版本兼容配置；Console/Gateway/Agent/Loadgen 及 Framework 开源后，发布首个重大更新版本，支持过期元数据删除，指标图表懒加载，指标采集协程优化等等，欢迎大家下载体验。
INFINI Easysearch v1.9.0 # INFINI Easysearch 是一个分布式的企业级搜索引擎，实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch，同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
Easysearch 本次更新如下：
Bug fix # 修复 rest-api template 测试错误 Improvements # 发布 rollup 功能 支持自动对 rollup 索引进行滚动，无需外部触发 支持 avg sum max min value_count percentiles 指标类型的聚合 支持 terms 聚合 支持对指标聚合进行 Pipeline 聚合 支持聚合前先对数据进行过滤 进行聚合查询时支持直接搜索原始索引，不用更改搜索代码 Improvements # 增加适配 logstash 8.</description></item><item><title>如何实现一个充满科技感的官网（一）</title><link>https://infinilabs.cn/blog/2024/official-website-en/</link><pubDate>Wed, 11 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/official-website-en/</guid><description>背景 # 前段时间完成一个公司官网项目，个人第一感觉是整体风格简洁但充满科技感。所以想着抽时间写篇文章出来分享一下（其实想着拿出来炫一下，得瑟一下，满足一下自身虚荣心，请大家包容一下我的虚荣心，莫喷。）
抽空写下这篇文章，既是分享，也希望能够听到更多反馈。
官网地址是：https://infinilabs.com/， 大家可以先去看看。对了，也欢迎直接在评论区告诉我：“这样的官网设计，你觉得怎么样？”
AI 评价 # 为了客观起见，我特地请 AI 评价了一下。以下是它的反馈：
从视觉效果和内容布局来看，INFINI Labs 的官网（假设为 https://infinilabs.com/） 展现了一种现代化、高科技感的设计风格，非常适合展示技术驱动的公司。以下是具体的分析：
优点： # 简洁且现代化的设计：
色调：整体色彩搭配使用了深色背景和高对比的亮色点缀，显得既专业又高端。 布局：内容区域的分块明确，避免信息拥挤，让用户浏览时非常舒适。 突出科技感：
使用动态效果（如渐变、动效）营造出技术领先的形象。 字体设计与布局紧跟前沿 UI/UX 风格，清晰又不失设计感。 功能性强：
清晰的导航设计（顶部菜单或侧边栏），便于用户快速找到所需内容。 响应式设计：在不同设备上的表现一致，适配移动端和桌面端访问。 品牌感强：
Logo 和主题风格一致，增强用户对品牌的记忆。 主页内容直击核心亮点（例如产品、服务或者创新技术）。 强大的交互体验：
可能包括交互式背景（如 3D 动画或粒子效果）。 吸引用户注意的 CTA 按钮，例如“了解更多”或“联系我们”。 改进建议： # 增加更多内容层次：</description></item><item><title>如何让 localStorage 数据实现实时响应</title><link>https://infinilabs.cn/blog/2024/localStorage/</link><pubDate>Mon, 09 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/localStorage/</guid><description>重大事项 # 📣 ：重大事项提前通知！快来围观，不容错过！
极限科技一直致力于为开发者和企业提供优质的开源工具，提升整个技术生态的活力。除了维护国内最流行的分词器 analysis-ik 和 analysis-pinyin，也在不断推动更多高质量开源产品的诞生。
在极限科技成立三周年之际，公司宣布以下产品和工具已全面开源：
INFINI Framework https://github.com/infinilabs/framework INFINI Gateway https://github.com/infinilabs/gateway INFINI Console https://github.com/infinilabs/console INFINI Agent https://github.com/infinilabs/agent INFINI Loadgen https://github.com/infinilabs/loadgen INFINI Coco AI https://github.com/infinilabs/coco-app 以上开源软件都可以在 Github 上面找到： https://github.com/infinilabs
希望大家都能给个免费的 Star🌟 支持一下！！！
背景 # 在开发公司项目 INFINI Cloud（暂未开源，敬请期待。 不过此次开源的同类项目有 INFINI Console）的时候，该项目上有个更改时区的全局组件，同时还有一个可以更改时区的局部组件，想让更改时区的时候能联动起来，实时响应起来。
Tip：如果有人对该时间组件感兴趣，可以移步 https://github.com/infinilabs/ui-common，同时也希望收到您 Star🌟 支持，也希望和大家一起共建。
其实每次设置完时区的数据之后是存在了前端的 localStorage 里边，时间组件里边也是从 localStorage 拿去默认值来回显。如果当前页面不刷新，那么时间组件就不能更新到最新的 localStorage 数据。
怎么才能让 localStorage 存储的数也变成响应式呢？
实现 # 应该写个公共的方法，不仅仅时区数据能用，万一后边其他数据也能用。 项目是 React 项目，那就写个 hook 怎么才能让 localStorage 数据变成响应式呢？监听？ 失败的案例 1 # 首先想到的是按照下边这种方式做，</description></item><item><title>Easysearch Java SDK 2.0.x 使用指南（一）</title><link>https://infinilabs.cn/blog/2024/easysearch-java-client-1/</link><pubDate>Sat, 07 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-java-client-1/</guid><description>各位 Easysearch 的小伙伴们，我们前一阵刚把 easysearch-client 更新到了 2.0.2 版本！借此详细介绍下新版客户端的使用。
新版客户端和 1.0 版本相比，完全重构，抛弃了旧版客户端的一些历史包袱，从里到外都焕然一新！不管是刚入门的小白还是经验丰富的老司机，2.0.x 客户端都能让你开发效率蹭蹭往上涨！
到底有啥新东西？ # 更轻更快： 以前的版本依赖了一堆乱七八糟的东西，现在好了，我们把那些没用的都砍掉了，客户端变得更苗条，性能也杠杠的！ 类型安全，告别迷糊： 常用的 Easysearch API 现在都配上了强类型的请求和响应对象，再也不用担心写错参数类型了，代码也更好看了，维护起来也更省心！ 同步异步，想咋用咋用： 所有 API 都支持同步和异步两种调用方式，不管是啥场景，都能轻松应对！ 构建查询，跟搭积木一样简单： 我们用了流式构建器和函数式编程，构建复杂查询的时候，代码写起来那叫一个流畅，看着也舒服！ 和 Jackson 无缝对接： 可以轻松地把你的 Java 类和客户端 API 关联起来，数据转换嗖嗖的快！ 快速上手 # 废话不多说，咱们直接上干货！这部分教你怎么快速安装和使用 easysearch-client 2.0.2 客户端，还会演示一些基本操作。
安装 # easysearch-client 2.0.2 已经上传到 Maven 中央仓库了，加到你的项目里超级方便。
最低要求： JDK 8 或者更高版本
依赖管理： 客户端内部用 Jackson 来处理对象映射。
Maven 项目 # 在你的 pom.xml 文件的 &amp;lt;dependencies&amp;gt; 里面加上这段：
&amp;lt;dependencies&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.</description></item><item><title>极限科技三周年庆典：追求极致，共创未来科技新篇章</title><link>https://infinilabs.cn/blog/2024/INFINILabs-3rd-anniversary-celebration/</link><pubDate>Thu, 05 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/INFINILabs-3rd-anniversary-celebration/</guid><description>2024 年 12 月 3 日，一场盛大的庆典活动在香港 IFS 集团旗下长沙玛珂酒店璀璨启幕，极限科技迎来了其三周年的辉煌庆典。此次庆典不仅是对极限科技过往成就的回顾与庆祝，更是对未来科技梦想的展望并开始新的启航。
庆典现场，极限科技的全体员工、尊贵的合作伙伴以及长期以来给予我们坚定支持的客户欢聚一堂，共同见证了这一重要时刻。
活动伊始，极限科技的创始人曾勇回顾了公司创立至今的点点滴滴，他提到，“极限科技”的名称，源于公司的口号：追求极致，无限可能。这不仅是对公司理念的精准诠释，更有一层深刻的寓意，即公司坚信唯有不断打磨产品、精益求精，才能在激烈的市场竞争中立足并持续前行。
曾勇还回顾了极限科技的成长历程，作为国内为数不多的以搜索技术为核心的技术创业公司，自成立之初，极限科技便确立了“让搜索更简单”的目标，并将简单、易用、极致、创新作为产品哲学的核心。他感慨道，正是有了这样的信念和追求，极限科技才能在短短三年内取得优秀的成绩。
曾勇还表示极限科技的基因中始终与开源紧密相连。极限科技一直致力于为开发者和企业提供优质的开源工具，提升整个技术生态的活力。除了维护国内最流行的分词器 analysis-ik 和 analysis-pinyin，也在不断推动更多高质量开源产品的诞生。
在极限科技成立三周年之际，曾勇宣布以下产品和工具已全面开源：
INFINI Framework INFINI Gateway INFINI Console INFINI Agent INFINI Loadgen INFINI Coco AI 以上开源软件都可以在 Github 上面找到： https://github.com/infinilabs
随后，极限科技的联合创始人也发表了讲话，分享了创业的艰辛与成功的喜悦，并对所有员工的辛勤付出和合作伙伴的鼎力支持表达了由衷的感谢。
此外，来自行业内外的合作伙伴们也纷纷上台发言，他们高度评价了极限科技在科技创新领域所取得的卓越成就，并对公司未来的发展寄予了厚望。在圆桌讨论环节，与会嘉宾围绕国产化、AI，出海和全球化等前沿话题展开了深入探讨，分享了各自的观点与见解，为极限科技未来的发展提供了宝贵的思路与建议。
整个庆典活动氛围热烈而欢快，与会者们在轻松愉快的氛围中交流心得、分享经验，共同探讨了科技行业的未来发展趋势与机遇。
极限科技作为一家致力于科技创新的先进性企业，坚守引领搜索数据库技术从近实时迈向实时，推动行业的技术迭代与革命为使命。在未来的日子里，极限科技将继续携手合作伙伴，共同开创科技事业的新篇章，为实现更加美好的明天而不懈努力。
此次三周年庆典不仅是对极限科技过去三年努力的肯定与庆祝，更是对未来发展的美好期许并制定航向。我们相信，在全体员工的共同努力和合作伙伴的鼎力支持下，极限科技必将迎来更加辉煌的明天！</description></item><item><title>写在极限科技成立三周年之际</title><link>https://infinilabs.cn/blog/2024/INFINILabs-3rd-anniversary/</link><pubDate>Tue, 03 Dec 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/INFINILabs-3rd-anniversary/</guid><description>2021 年 12 月 3 日，极限科技正式成立。
不知不觉，从所谓的创业寒冬中出来创业已有三载有余，从最初的几个人到如今的团队壮大，和一群志同道合的伙伴们在一起齐心协力，为共同的理想奋力前行，幸甚至哉。
这一路上，既有艰辛与挑战，也有无数令人欣慰和自豪的瞬间。满怀感恩、感谢、感激，我们因每一位支持者和同行者而倍感荣幸。
初心与理念：打造极致体验的产品哲学 # 成立之初，我就为公司确立了以下方向：
愿景
用十年时间成为全球排名第一的搜索型数据库厂商。
使命
引领搜索数据库技术从近实时迈向实时，推动行业的技术迭代与革新。
价值观
做用户需要的产品，给客户带来的价值就是我们的价值！
“极限科技”的名称，源于我们的口号：追求极致，无限可能。还有一层寓意，我们坚信，唯有不断打磨产品、精益求精，才能在激烈的市场竞争中立足并持续前行。
作为国内为数不多的以搜索技术为核心的技术创业公司，成立之初，我们便确立了“让搜索更简单”的目标，并将简单、易用、极致、创新作为产品哲学的核心。
基于我们对于客户痛点和行业的理解，我们开发了一系列围绕搜索场景及相关技术的工具与产品，致力于为企业提供更高效、更易用的企业级搜索解决方案。了解我们产品的朋友应该就会感受到我们的产品有什么不同，我们不仅关注功能，同时也关注产品的使用体验，如何让产品更小更轻量级，如何让用户更快上手，如何让操作更符合人体工学。
正是这种对极致体验的不断追求，让极限科技在市场中独树一帜，赢得了用户与行业的高度认可。未来，我们将继续秉持初心，致力于为更多用户带来更加卓越的搜索体验。
里程碑产品与技术突破 # 总的来说，发布了一些产品，也算是取得了一些不错的进展，在公司成立三周年之际，也简单的给大家作一下汇报和总结。
2021 年 12 月，我们发布了第一个产品叫：极限网关/INFINI Gateway，在极限网关发布的头几个月内就突破了 100 万的下载量，极限网关是一个面向搜索业务场景的网关，完全从零自研，为解决沉淀了多年来我们给客户服务过程中遇到的各种痛点而成，我们做了非常多的创新，比如我们自带浮动 IP 能力，网关双节点高可用变得非常简单，又比如我们独创的在网关层进行 Bulk 请求的无缝分拆合并，业界唯一，在大分片场景为我们某个客户提供了 200 倍的索引重建速度提升，收效明显。又比如我们首创的基于网关来进行无缝迁移和无缝重建等等，还有很多非常多场景化的功能，在此就不一一细述了。
2022 年 7 月，我们又发布了一个新产品：INFINI Console，完全从零自研，是一个面向搜索基础设施的多集群管控平台，支持同时纳管不同的搜索引擎，主要是 Elasticsearch、OpenSearch，以及我们自己后面推出的 Easysearch，她的主要特点是可以跨版本和跨引擎管理，让多集群的管理非常简单，能同时做到不同引擎不同版本可以无缝管理的，目前市面上也就只有我们的这个产品。我们提供的多 Tab 页开发工具使用起来非常方便，监控粒度指标是最全的，可以细化到分片级别的各项指标，我们的探针资源利用率低，客户在线上稳定运行两年了，内存也才 20 几 MB，CPU 更是 1%以内，告警能力也是非常灵活。社区用户反馈也是非常不错。
2023 年 5 月，后面随着业务的发展和客户的需求，我们分叉了开源的 Elasticsearch，并维护发行了自己的分支版本，取名为 INFINI Easysearch，修复完善了原生版本的不少 Bug 和内核缺陷，补齐了很多企业级必需的功能，并做了大量的性能优化，以普通 NGINX 日志数据为例，相比原生版本，我们提升了超过 70% 的索引性能，却只需要三分之一的磁盘存储需求，降本增效明显。
2023 年 7 月，Easysearch 率先通过可信数据库相关测试，荣获中国信通院颁发的《搜索型数据库基础能力专项评测证书》。同时，极限科技首批入选为数据库应用创新实验室搜索行业工作组副组长单位。这不仅是一份荣誉，更是一份沉甸甸的责任。</description></item><item><title>喜报！极限科技通过国家高新技术企业认定</title><link>https://infinilabs.cn/blog/2024/news-20241129/</link><pubDate>Fri, 29 Nov 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20241129/</guid><description>2024 年 10 月 29 日，国家高新技术企业认定管理工作网公示了北京市认定机构 2024 年认定报备的第一批高新技术企业备案名单，极限数据（北京）科技有限公司 顺利通过本次高新技术企业评审，并首次获得 国家级“高新技术企业”认定。
图1：高新技术企业备案名单 国家高新技术企业是指在《国家重点支持的高新技术领域》范围内，持续进行研究开发与技术成果转化活动，形成企业核心自主知识产权，并以此为基础开展其经营业务的企业。这类企业的认定遵循严苛的评审标准，对企业的科技创新实力，涵盖核心自主知识产权的拥有情况、科技成果的转化能力、研发组织管理水平以及多项成长性指标等，均设有明确的硬性要求，是国家衡量企业科研实力及水平的重要标志。
图2：高新技术企业证书 此次通过高新技术企业认定，是极限科技（INFINI Labs）在科技创新道路上迈出的重要一步，也是极限科技整体实力和创新能力的有力证明。未来，极限科技将继续专注于企业级搜索引擎技术的研发与创新，为客户提供更加优质、稳定、高效、安全的数据搜索服务和分析体验。公司也将继续坚定不移地走自主创新的道路，持续加大科研投入，强化公司的技术创新能力及科技成果转化能力，持续提升自身的核心竞争力和市场影响力，为行业的高质量发展提供坚实支撑。</description></item><item><title>校招回顾 | “青春不散场，梦想正起航”，极限科技亮相湖北工业大学 2025 秋季校园招聘会</title><link>https://infinilabs.cn/blog/2024/infinilabs-appeared-at-HBUT-2025-fall-campus-recruitment-fair/</link><pubDate>Thu, 31 Oct 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/infinilabs-appeared-at-HBUT-2025-fall-campus-recruitment-fair/</guid><description>10 月 31 日，极限科技（INFINI Labs） 受邀参加 湖北工业大学 2025 届秋季校园招聘会，这不仅是一次与满怀激情的青年学子们的深度碰撞，更是一场关于青春与未来的美好邂逅。让我们一起回顾校招现场的精彩瞬间，重温那些闪耀的时刻。
.aspect-ratio { position: relative; width: 100%; height: 0; padding-bottom: 75%; } .aspect-ratio iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; } 一、梦想起航，共赴盛宴 # 怀揣着满满的诚意和期待，我们走进了这片充满梦想与希望的校园。此次校园招聘，是极限科技与湖北工业大学优秀学子们的一次珍贵相遇，为彼此带来了探索未来的无限可能。
作为公司与学生们沟通的桥梁，我们的招聘团队热切地希望能够在这片年轻的沃土上找到与极限科技共同成长的未来之星。面对面地交流、零距离的接触，让我们与这些怀抱理想的年轻人一起开启了梦想的旅程。
二、双向奔赴，精彩纷呈 # 招聘会活动现场人潮涌动，气氛热烈。我们提供了 Web 前端研发工程师、搜索引擎后端研发工程师等多个技术岗位，展台前围满了对岗位感兴趣的学生。
我们的招聘老师们与湖北工业大学的学子们深入交流、热情互动。从公司文化到岗位职责，从职业规划到未来前景，每一个话题都充满干货与温情。学生们积极提问，展现了他们对职场的好奇与渴望；而我们的老师们则耐心解答，用专业和热情为学子们点亮通向未来的明灯。
三、未来可期，大有可为 # 在这次校招活动中，我们不仅看到了学子们的青春活力和美好憧憬，也感受到了他们对未来的坚定信念。活动结束时，我们收获的不仅是优秀的人才，更是对未来的无限期待和向往。
未来，极限科技将以更加开放的姿态和更为广阔的舞台，迎接每一位有志之士的加入。我们期待着与这些年轻的力量共同奋斗，书写属于彼此的光辉篇章。</description></item><item><title>Tauri（一）——更适合 Web 开发人员的桌面应用开发解决方案 ✅</title><link>https://infinilabs.cn/blog/2024/Tauri-1/</link><pubDate>Sat, 26 Oct 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/Tauri-1/</guid><description>背景 # 我们最近决定开发一个开源的桌面端应用程序（先卖个关子，会尽快推出，敬请期待！关注一下不迷路！），并选择了 Tauri 作为技术方案。可能只有少部分人了解过它，感兴趣的朋友们可以一起深入探讨！
Tauri 介绍 # 官方网站：https://tauri.app/ （v2.0） GitHub：https://github.com/tauri-apps/tauri （Star 84k） 官方介绍：创建小型、快速、安全、跨平台应用程序
通俗的理解 # Tauri 是一个跨平台的桌面应用程序框架，它使程序员能够熟练的使用 Web 技术（例如：HTML、CSS、JS 以及流程的框架 Vue.js, Svelte, React, SolidJS, Angular, Preact 等），轻松的去创建桌面应用程序。
对于我们这些希望深入桌面应用程序开发的 Web 开发人员来说，Tauri 是一个非常适合的选择，而且不需要面对陡峭的学习曲线。如今，Web 技术已经成为最强大的 UI 技术之一，能够在多个支持 Web 浏览器的平台上无缝运行。使用 Tauri，我们可以完全按照在 Web 上设想的方式来设计 UI，这意味着可以继续使用熟悉的 Web 开发技能，打造出色且用户友好的界面。
在某些情况下，桌面应用程序的性能确实优于 Web 应用程序。选择桌面应用的一个关键原因是，Web 应用通常受限于浏览器内的本机 API，无法像桌面应用那样与操作系统深入交互。（例如，使用 Web 应用时，我们无法在后台访问文件系统或读取剪贴板数据。）而桌面应用则能更好地访问本机 API，甚至可以通过比 JavaScript 更高效的语言来实现性能的提升（例如：Rust）。因此，如果一个桌面框架既能利用灵活的 UI 和庞大的 Web 生态系统，又能提供对本机 API 的全面访问（Web + Native APIs），那将是一个完美的选择。
Tauri 结合了两个主要生态系统，并提供了对本机 API 的访问，让开发体验更加完善。</description></item><item><title>【第4期】搜索客 Meetup | INFINI Pizza 网站 SVG 动画这么炫，我教你啊！</title><link>https://infinilabs.cn/blog/2024/searchkit-meetup-4/</link><pubDate>Fri, 20 Sep 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/searchkit-meetup-4/</guid><description>本次 Meetup 活动由 搜索客社区、极限科技（INFINI Labs）联合举办，活动主题将从设计师的角度出发，探讨如何在零编程基础下，借助 ChatGPT 和 SVG，搞定 INFINI Pizza 首页动效，从设计到实现，探索 AI 的更多玩法。欢迎大家预约报名参加和交流。
活动主题：INFINI Pizza 网站 SVG 动画这么炫，我教你啊！
活动时间：2024 年 9 月 25 日 19:00-20:00（周三）
活动形式：微信视频号（极限实验室）直播
报名方式：关注或扫码海报中的二维码进行预约
嘉宾介绍 # 邹稳安，拥有多年 UI/UE 设计经验。现任极限科技设计团队负责人，负责公司产品、UI 设计，致力于通过设计提升用户体验。
主题摘要 # 什么？一个设计师，让我干前端的活？
当前端工程师无法及时接手项目时，设计师能否独立完成网页动效？本次 Meetup 将分享设计师如何在零编程基础下，借助 ChatGPT 和 SVG，搞定 INFINI Pizza 首页动效。从设计到实现，探索 AI 的更多玩法。
图：Pizza 官网（https://pizza.rs）首页动画效果 参与有奖 # 本次直播活动将设有福袋抽奖环节，参与就有机会获得 INFINI Labs 周边纪念品，包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件等等（图片仅供参考，款式、颜色与尺码随机）。
活动交流 # 本活动设有 Meetup 技术交流群，可添加小助手微信拉群，与更多小伙伴一起学习交流。
Meetup 讲师招募 # 搜索客社区 Meetup 的成功举办，离不开社区小伙伴的热情参与。目前社区讲师招募计划也在持续进行中，我们诚挚邀请各位技术大咖、行业精英踊跃提交演讲议题，与大家分享您的经验。</description></item><item><title>【第3期】INFINI Easysearch 免费认证培训开放报名</title><link>https://infinilabs.cn/blog/2024/easysearch-certification-training-3/</link><pubDate>Fri, 13 Sep 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-certification-training-3/</guid><description>探索 Easysearch 的无限可能，与 INFINI Labs 共赴搜索技术前沿！
随着数字化转型的加速，搜索技术已成为企业数据洞察的核心。INFINI Labs 作为搜索创新技术的引领者，诚邀所有对 Easysearch 搜索引擎感兴趣的开发者、技术爱好者及合作伙伴，参加我们即将于 2024 年 10 月 19 日至 20 日举办的第 3 期 Easysearch 线上免费培训活动。这不仅是一场知识的盛宴，更是技能提升的加速器，将助您在职业道路上迈出坚实的一步！
活动亮点 # 系统课程，全面深入：从 Easysearch 的基本概念到环境搭建，再到高级功能的实战应用，INFINI Labs 的技术专家将为您带来全面而深入的讲解，确保每位参与者都能收获满满。 实战导向，解决痛点：课程设计紧贴实际需求，旨在帮助学员掌握 Easysearch 的核心技术，有效解决工作中的搜索需求和技术难题，让理论知识迅速转化为实践能力。 认证证书，助力进阶：后期 INFINI Labs 将推出 Easysearch 认证考试。通过考试的学员将获得官方认证的 Easysearch 证书，为您的职业发展增添强力背书，开启职业生涯的新篇章。 培训时间 # 2024 年 10 月 19 日至 20 日（周六、周日）共两天，每天具体培训时间：
上午 09:30 ~ 11:30 下午 14:00 ~ 16:00 培训内容概览 # 第一阶段：初识 Easysearch # Easysearch 环境搭建与对比，了解其与 Elasticsearch 的差异； 功能初探：身份验证、数据脱敏、权限控制等，全面掌握 Easysearch 的基础功能； 容灾技术：兼容性验证、跨集群复制等，确保您的搜索服务稳定可靠； 第二阶段：Easysearch 高阶使用 # 深度探析：性能压测、数据迁移、请求管理等，提升 Easysearch 的使用效率； 高级功能：快照管理、可视化看板、告警功能等，让您的搜索服务更加智能； 生态集成：Filebeat、Logstash、LangChain 等，轻松实现 Easysearch 与其他工具的集成； 参与方式 # 本次活动完全免费，名额有限，请尽快报名，同时微信扫码添加小助手进群（培训会议地址将在微信群公布），锁定您的学习席位！</description></item><item><title>如何用 Scrapy 爬取网站数据并在 Easysearch 中进行存储检索分析</title><link>https://infinilabs.cn/blog/2024/use-scrapy-to-crawl-website-data-and-store-search-analyze-in-easysearch/</link><pubDate>Wed, 11 Sep 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/use-scrapy-to-crawl-website-data-and-store-search-analyze-in-easysearch/</guid><description>做过数据分析和爬虫程序的小伙伴想必对 Scrapy 这个爬虫框架已经很熟悉了。今天给大家介绍下，如何基于 Scrapy 快速编写一个爬虫程序并利用 Easysearch 储存、检索、分析爬取的数据。我们以极限科技的 官网 Blog 为数据源 ，做下实操演示。
1、安装 scrapy # 使用 Scrapy 可以快速构建一个爬虫项目，从目标网站中获取所需的数据，并进行后续的处理和分析。
pip install scrapy # 新建项目 infini_spiders scrapy startproject infini_spiders # 初始化爬虫 cd infini_spiders/spiders scrapy genspider blog infinilabs.cn 2、爬虫编写 # 编写一个爬虫文件 blog.py ，它会首先访问 start_urls 指定的地址，将结果发给 parse 函数解析。通过这一步解析，我们得到了每一篇博客的地址。然后我们对每个博客的地址发送请求，将结果发给 parse_blog 函数进行解析，在这里才会真正提取每篇博客的 title、tag、url、date、content 内容。
from typing import Any, Iterable import scrapy from bs4 import BeautifulSoup from scrapy.http import Response class BlogSpider(scrapy.Spider): name = &amp;#34;blog&amp;#34; allowed_domains = [&amp;#34;infinilabs.</description></item><item><title>邀请函 | Rust China Conf 2024 震撼来袭，INFINI Labs 邀您共绘技术新篇章</title><link>https://infinilabs.cn/blog/2024/2024-rust-china-conf/</link><pubDate>Sat, 31 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/2024-rust-china-conf/</guid><description>随着 Rust 语言以其在性能、安全性和并发性方面的卓越表现，赢得了全球开发者的青睐，Rust 社区正迎来前所未有的发展机遇。在这个充满活力与潜力的背景下，Rust China Conf 2024 震撼来袭！
Rust 大会介绍 # Rust 大会即将于 9 月 7 日 - 8 日在上海盛大举办。作为年度国内规模最大并唯一的 Rust 线下大型会议，它由 Rust 中文社区发起主办、知名企业和开源组织联合协办，深受开发者与相关企业的喜爱与推崇。自 2020 年起，已连续举办四年，今年预计将吸引超过 400 名一线程序员和企业用户，他们已在个人或公司项目中实践 Rust，期待在此交流心得、共享经验，共同推动 Rust 生态的繁荣与发展。
INFINI Labs 亮相 Rust 大会 # 作为本次大会的重要赞助商之一，INFINI Labs 将携手蚂蚁集团、字节跳动、JetBrains、亚马逊云科技、华为、Greptime 等知名企业，为与会者带来创新的灵感和实践的洞见。INFINI Labs 的创始人 &amp;amp; CEO 曾勇先生将分享《基于 Rust 编写下一代实时搜索引擎》—— INFINI Pizza 的故事，这款搜索引擎旨在解决海量数据的实时搜索需求，释放现代硬件的潜力，为企业打造高效、准确的搜索解决方案。
大会部分议题亮点抢先看 # 《人人可用的 Rust》 # 讲师简介： Rebecca Rumbul，Rust 基金会执行董事兼首席执行官， OpenUK 董事会成员， OpenSSF 管理委员会成员。
议题介绍： 本次分享将介绍 Rust 基金会如何投资于工程和推广工作，以确保 Rust 对所有人来说都是有用、高效且安全的。</description></item><item><title>基于 INFINI Pizza 为 Hugo 静态站点添加搜索功能</title><link>https://infinilabs.cn/blog/2024/adding-docsearch-to-hugo-static-sites-based-on-pizza/</link><pubDate>Wed, 28 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/adding-docsearch-to-hugo-static-sites-based-on-pizza/</guid><description>INFINI Pizza 是 INFINI Labs 即将发布的一个基于 Rust 编写的搜索引擎（即将完全开源），目前已经完成基本的搜索能力，并且基于 INFINI Pizza 的核心引擎，提供了一个 WASM 版本的超轻量级内核，可以很方便的嵌入到各类应用系统，比如网站，尤其是静态站点或者小型的博客系统等。
目前 Pizza 和 INFINI Labs 官网已经集成了 INFINI Pizza for WebAssembly，具体的搜索效果如下图：
[Pizza 官网] [INFINI Labs 中文官网] 打开上面的网站（ https://infinilabs.cn），通过按下快捷 s即可调出搜索框，然后就可以体验到 INFINI Pizza 提供的搜索能力。值得特别提出的是，在搜索的过程你所有的操作都是在浏览器本地执行，也就是不会像传统的搜索实现方式那样，需要每次输入一个查询条件都会和后端的搜索服务器进行一次交互，相比之下， INFINI Pizza for WebAssembly 则是完全离线操作，即使断网，也能愉快的搜索。
废话不多说，接下来为大家介绍一下如何在你自己的站点来使用 INFINI Pizza for WebAssembly。
首先，INFINI Pizza for WebAssembly 是开源的，Github 地址在这里： https://github.com/infinilabs/pizza-wasm 编译好的 WASM 包在这里可以直接下载： https://github.com/infinilabs/pizza-wasm/tree/main/pkg
➜ wasm git:(main) ✗ du -sh pkg/* 4.0K pkg/README.md 4.0K pkg/package.json 4.0K pkg/pizza_wasm.d.ts 4.</description></item><item><title>【第3期】2024 搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 下篇</title><link>https://infinilabs.cn/blog/2024/searchkit-meetup-3/</link><pubDate>Wed, 21 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/searchkit-meetup-3/</guid><description>本次活动由 搜索客社区、极限科技（INFINI Labs）联合举办，活动主题将深入探讨 Elasticsearch 的两个核心方面：代码结构以及写入和查询的关键流程。本次活动将为 Elasticsearch 初学者和有经验的用户提供宝贵的见解，欢迎大家报名参加、交流学习。
活动主题：Elasticsearch 的代码结构和写入查询流程的解读 - 下篇
活动时间：2024 年 8 月 28 日 19:00-20:00（周三）
活动形式：微信视频号（极限实验室）直播
报名方式：关注或扫码海报中的二维码进行预约
嘉宾介绍 # 张磊，极限科技搜索引擎研发负责人，对 Elasticsearch 和 Lucene 源码比较熟悉，目前主要负责公司的 Easysearch 产品的研发以及客户服务工作。
主题摘要 # 本次分享将探讨 Elasticsearch 的代码结构及其写入和查询流程。内容包括：项目架构、核心模块、插件系统，以及文档索引和查询的各个阶段与分布式查询协调。
活动亮点 # 深入解析 Elasticsearch 代码结构：
项目的整体结构：了解 Elasticsearch 项目的组织方式。 核心模块及其职责：学习 Elasticsearch 的核心模块及其在系统中的具体角色。 插件系统的设计：探索 Elasticsearch 灵活的插件系统设计及其扩展方式。 详细解读 Elasticsearch 写入和查询流程：
文档索引过程的各个阶段：跟随文档从初始接收至最终存储的索引过程。 查询解析和执行的步骤：理解 Elasticsearch 中查询解析和执行的各个步骤。 分布式查询的协调过程：学习 Elasticsearch 如何在分布式架构中协调查询，以提供高效且准确的搜索结果。 参与有奖 # 直播中将设有福袋抽奖环节，参与就有机会获得 INFINI Labs 周边纪念品，包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件等等（图片仅供参考，款式、颜色与尺码随机）。</description></item><item><title>Easysearch x 《黑神话:悟空》有奖征文获奖结果公示</title><link>https://infinilabs.cn/blog/2024/easysearch-essay-contest-winners-announcement/</link><pubDate>Tue, 20 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-essay-contest-winners-announcement/</guid><description>随着《黑神话：悟空》游戏的正式发售，我们 INFINI Labs 组织的 Easysearch 有奖征文大赛也圆满落幕。本次征文活动自启动以来，收到了众多创作者的热情投稿。在此，我们衷心感谢每一位参与活动的作者，是你们的才华和热情让这次征文活动异彩纷呈。
经过专业评审团的认真评选，最终确定了以下获奖作品及作者，现予以公布：
奖项 作者 作品 奖品 一等奖 AWS 加油站 玩转 Easysearch 语法 《黑神话:悟空》数字豪华版一套 二等奖 杨帆 使用 Easysearch 打造企业内部知识问答系统 《黑神话:悟空》数字标准版一套 二等奖 李家兴 从 Elasticsearch 到 Easysearch：国产搜索型数据库的崛起与未来展望 《黑神话:悟空》数字标准版一套 三等奖 严少安 Easysearch，地表最强，没有之一! INFINI Labs 咖啡杯 / 指甲剪套装 三等奖 张磊 Easysearch 新特性：写入限流功能介绍 INFINI Labs 咖啡杯 / 指甲剪套装 三等奖 keep 如何在 MacOS 环境下快速安装部署 Easysearch INFINI Labs 咖啡杯 / 指甲剪套装 恭喜以上获奖作者，你们的作品不仅展现了 Easysearch 的强大功能，也为社区成员提供了宝贵的学习资源。我们将会通过小助手微信联系各位获奖者，安排奖品的发放。</description></item><item><title>使用 AWS EKS 部署 Easysearch</title><link>https://infinilabs.cn/blog/2024/deploy-easysearch-using-aws-eks/</link><pubDate>Thu, 15 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/deploy-easysearch-using-aws-eks/</guid><description>随着企业对数据搜索和分析需求的增加，高效的搜索引擎解决方案变得越来越重要。 Easysearch 作为一款强大的企业级搜索引擎，可以帮助企业快速构建高性能、可扩展的数据检索系统。在云计算的背景下，使用容器化技术来部署和管理这些解决方案已经成为主流选择，而 Amazon Elastic Kubernetes Service (EKS) 则提供了一个强大且易于使用的平台来运行容器化的应用程序。
本文旨在探索如何在 AWS EKS 上部署 Easysearch，并通过实践操作展示从集群配置到服务部署的完整过程。通过本文，读者可以了解如何在云环境中快速搭建高效的搜索服务，最大化利用云资源的弹性和可扩展性。
准备工作 # 准备一个 AWS Global 账户，本文选择东京区域（ap-northeast-1）进行部署。 部署 EKS 集群版本为 1.30，同时需要在 Linux 环境中安装 AWS CLI、Helm、eksctl 和 kubectl 等命令行工具。本文使用 eksctl 管理 EKS 集群，eksctl 是 AWS 官方推出的高效管理 EKS 集群的命令行工具。 本文将使用 EBS-CSI-Driver 作为存储驱动来部署 Easysearch 服务，并通过 AWS LoadBalancer Controller 将 Easysearch Console 服务以 AWS 负载均衡器的方式对外提供服务，连接集群内部的 Easysearch。 命令行工具的安装 # 安装 AWS CLI：
curl &amp;#34;https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip&amp;#34; -o &amp;#34;awscliv2.zip&amp;#34; unzip awscliv2.zip .</description></item><item><title>从 Elasticsearch 到 Easysearch：国产搜索型数据库的崛起与未来展望</title><link>https://infinilabs.cn/blog/2024/from-elasticsearch-to-easysearch-the-rise-and-future-prospects-of-domestic-search-databases/</link><pubDate>Wed, 14 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/from-elasticsearch-to-easysearch-the-rise-and-future-prospects-of-domestic-search-databases/</guid><description>1. 引言：数据库的定义与作用 # 1.1 数据库的定义 # 数据库是一个专门用于组织、存储和管理数据的系统（Database System，简称 DBS），它以高效的方式为用户提供数据的存储、访问和管理功能。数据库的定义涵盖了各种数据模型和结构，主要可以分为关系型数据库（RDBMS）和非关系型数据库（NoSQL）两大类。
关系型数据库：以二维表格的形式组织数据，通过主键、外键来维持表与表之间的关系。这种数据库模型擅长处理结构化数据，并且通过 SQL（Structured Query Language）来管理数据。其最大的优势在于数据的一致性和完整性，但在处理大量非结构化数据时可能表现不佳。
非关系型数据库：也称为 NoSQL 数据库，适合存储和处理非结构化或半结构化数据，如文档、键值对、图形和列族等。NoSQL 数据库通常具有更高的灵活性和扩展性，尤其适合处理大规模分布式数据集和实时数据处理任务。
1.2 数据库在现代计算中的作用 # 在现代计算环境中，数据库是信息系统的核心。无论是互联网企业，还是传统行业的数字化转型，都依赖于强大的数据库系统来支撑各种应用程序的运行。数据库的作用包括：
数据存储：数据库能够安全地存储大规模数据，无论是结构化数据如表格，还是非结构化数据如图像和文本。
数据管理：数据库提供了复杂的查询、排序、更新、删除等操作，确保数据可以被有效地管理和利用。
数据分析：借助数据库中的索引和搜索功能，用户可以对海量数据进行快速检索和分析，从而支持实时决策和业务优化。
数据安全：数据库系统通常包含访问控制、加密、备份和恢复等功能，保护数据的机密性、完整性和可用性。
数据库已经成为现代企业运作的基石，为电子商务、社交媒体、金融服务、健康医疗等领域提供了不可或缺的数据支持。
2. 数据库的演变 # 2.1 关系型数据库的崛起 # 数据库的发展主要历经三个阶段，前关系型、关系型和后关系型。
20 世纪 70 年代，埃德加·科德提出了关系型数据库模型的概念，这一创新彻底改变了数据管理的方式。关系型数据库以关系代数为理论基础，将数据组织为多个相互关联的二维表格，这种模型极大简化了数据存储与检索的复杂性。
表格结构：数据以表的形式存储，每个表由行和列组成，行代表记录，列代表字段。表与表之间通过主键和外键来建立关系。
SQL 的引入：为了管理关系型数据库，科德引入了结构化查询语言（SQL），这是一种强大的数据操作语言，允许用户通过简单的语句执行复杂的查询操作。
数据的一致性和完整性：关系型数据库通过事务处理机制（ACID 特性：原子性、一致性、隔离性和持久性），确保数据在并发操作和系统故障情况下保持一致性和完整性。
由于其高效的数据管理能力和强大的查询功能，关系型数据库迅速成为企业级应用的主流选择，在银行、保险、制造业等领域得到了广泛应用。</description></item><item><title>INFINI Labs 产品更新 | Easysearch 1.8.3 依赖项安全升级</title><link>https://infinilabs.cn/blog/2024/release-20240813/</link><pubDate>Tue, 13 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/release-20240813/</guid><description>INFINI Labs 产品又更新啦~，包括 Easysearch v1.8.3、Gateway、Console、Agent、Loadgen v1.26.1。本次各产品更新了很多亮点功能，如 Easysearch 优化 source_reuse 内存占用；Console 进行了事件部分代码重构；Gateway/Agent/Loadgen 同步更新 framework 并发布新版本。
INFINI Easysearch v1.8.3 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Bug fix # Improvements # 更新依赖库至安全版本 优化开启 source_reuse 后内存使用性能 增加初始化密码环境变量,可手工设置 EASYSEARCH_INITIAL_ADMIN_PASSWORD 环境变量。 INFINI Console v1.26.1 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
Console 本次更新如下：
Improvements # 同步更新 Framework 修复的已知问题 事件上报部分代码重构 INFINI Gateway v1.</description></item><item><title>使用极限网关实现 ES 跨集群搜索</title><link>https://infinilabs.cn/blog/2024/infini-gateway-cross-cluster-search/</link><pubDate>Tue, 13 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/infini-gateway-cross-cluster-search/</guid><description>使用 ES 的小伙伴，有没有在用跨集群搜索的？ 熟悉 ES 的小伙伴都知道，ES 本身就能实现跨集群搜索，那为啥还要聊这个？试想一下，如果集群都上线投产了，才出现跨集群搜索需求，那么可能出现两种情况：
两个集群都使用了证书加密传输，要实现互联，需要重新设置证书，还要重启集群; 两个集群之间可能网络不能互通; 到了这里，我们的 极限网关 就派的上用场了。在以上场景中，只要网关能顺利连接到各个集群就行了。 话不多说，我们来 demo 一下。
数据准备 # 集群 A，含有 test 和 test-2 索引，数据很简单。
集群 B，含有 test-follower 和 test-3 索引，其中 test-follower 索引是集群 A 的 复制索引。
网关配置 # 网关配置使用专门的 merge_cross_search_results 配置。
做个简单的演示，只需修改这三个变量。
LR_ELASTICSEARCH_ENDPOINT1 : 代表集群 A ； LR_ELASTICSEARCH_ENDPOINT2 : 代表集群 B ； LR_ELASTICSEARCH_ENDPOINT3 : 代表默认集群，可以复用集群 A 或 B ； 集群 A 和 B 是我们要做跨集群搜索的，搜索请求会在这两个集群执行，然后合并结果。
非搜索请求会发送到这个 LR_ELASTICSEARCH_ENDPOINT3 指定的集群，但是 _cat/indices?</description></item><item><title>Elasticsearch 磁盘空间异常：一次成功的故障排除案例分享</title><link>https://infinilabs.cn/blog/2024/disk-utilization-abnormal/</link><pubDate>Thu, 08 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/disk-utilization-abnormal/</guid><description>故障现象 # 近日有客户找到我们，说有个 ES 集群节点，磁盘利用率达到了 82% ，而其节点才 63% ，想处理下这个节点，降低节点的磁盘利用率。
起初以为是没有打开自动平衡导致的，经查询，数据还是比较平衡的。
利用率较高的是 76 节点，如果 76 节点的分片比其他节点多，好像还比较合乎逻辑，但它反而比其他节点少了 12-15 个分片。那是 76 节点上的分片比较大？
索引情况 # 图中都是较大的索引，1 个索引 25TB 左右，共 160 个分片。
分片大小 # 节点 64
节点 77
节点 75
问题节点 76
可以看出分片大小没有出现较大的倾斜，分片大小和数据平衡的原因都被排除。
换个方向思考，节点 76 比其他节点多使用了磁盘空间 8 个 TB 左右，集群最大分片大小约 140GB ，8000/140=57 ，即节点 76 至少要比其他节点多 57 个分片才行，啊这&amp;hellip;
会不会有其他的文件占用了磁盘空间？
我们登录到节点主机，排查是否有其他文件占用了磁盘空间。
结果：客户的数据路径是单独的数据磁盘，并没有其他文件，都是 ES 集群索引占用的空间。
现象总结 # 分片大小差不多的情况下，节点 76 的分片数还比别的节点还少 10 个左右，它的磁盘空间反而多占用了 8TB 。</description></item><item><title>【第2期】INFINI Easysearch 免费认证培训开放报名啦</title><link>https://infinilabs.cn/blog/2024/easysearch-certification-training-2/</link><pubDate>Thu, 08 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-certification-training-2/</guid><description>探索 Easysearch 的无限可能，与 INFINI Labs 共赴搜索技术前沿！
随着数字化转型的加速，搜索技术已成为企业数据洞察的核心。INFINI Labs 作为搜索创新技术的引领者，诚邀所有对 Easysearch 搜索引擎感兴趣的开发者、技术爱好者及合作伙伴，参加我们即将于 2024 年 8 月 17 日至 18 日举办的 第二期 Easysearch 线上免费培训活动。这不仅是一场知识的盛宴，更是技能提升的加速器，将助您在职业道路上迈出坚实的一步！
活动亮点 # 系统课程，全面深入：从 Easysearch 的基本概念到环境搭建，再到高级功能的实战应用，INFINI Labs 的技术专家将为您带来全面而深入的讲解，确保每位参与者都能收获满满。 实战导向，解决痛点：课程设计紧贴实际需求，旨在帮助学员掌握 Easysearch 的核心技术，有效解决工作中的搜索需求和技术难题，让理论知识迅速转化为实践能力。 认证证书，助力进阶：后期 INFINI Labs 将推出 Easysearch 认证考试。通过考试的学员将获得官方认证的 Easysearch 证书，为您的职业发展增添强力背书，开启职业生涯的新篇章。 培训时间 # 2024 年 8 月 17 日至 18 日（周六、周日）共两天，每天具体培训时间：
上午 09:30 ~ 11:30 下午 14:00 ~ 16:00 培训内容概览 # 第一阶段：初识 Easysearch # Easysearch 环境搭建与对比，了解其与 Elasticsearch 的差异； 功能初探：身份验证、数据脱敏、权限控制等，全面掌握 Easysearch 的基础功能； 容灾技术：兼容性验证、跨集群复制等，确保您的搜索服务稳定可靠； 第二阶段：Easysearch 高阶使用 # 深度探析：性能压测、数据迁移、请求管理等，提升 Easysearch 的使用效率； 高级功能：快照管理、可视化看板、告警功能等，让您的搜索服务更加智能； 生态集成：Filebeat、Logstash、LangChain 等，轻松实现 Easysearch 与其他工具的集成； 参与方式 # 本次活动完全免费，名额有限，请尽快报名，同时微信扫码添加小助手进群（培训会议地址将在微信群公布），锁定您的学习席位！</description></item><item><title>【第2期】2024 搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 上篇</title><link>https://infinilabs.cn/blog/2024/searchkit-meetup-2/</link><pubDate>Tue, 06 Aug 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/searchkit-meetup-2/</guid><description>本次活动由 搜索客社区、极限科技（INFINI Labs）联合举办，活动主题将深入探讨 Elasticsearch 的两个核心方面：代码结构以及写入和查询的关键流程。本次活动将为 Elasticsearch 初学者和有经验的用户提供宝贵的见解，欢迎大家报名参加、交流学习。
活动主题：Elasticsearch 的代码结构和写入查询流程的解读 - 上篇
活动时间：2024 年 8 月 14 日 19:00-20:00（周三）
活动形式：微信视频号（极限实验室）直播
报名方式：关注或扫码海报中的二维码进行预约
嘉宾介绍 # 张磊，极限科技搜索引擎研发负责人，对 Elasticsearch 和 Lucene 源码比较熟悉，目前主要负责公司的 Easysearch 产品的研发以及客户服务工作。
主题摘要 # 本次分享将探讨 Elasticsearch 的代码结构及其写入和查询流程。内容包括：项目架构、核心模块、插件系统，以及文档索引和查询的各个阶段与分布式查询协调。
活动亮点 # 深入解析 Elasticsearch 代码结构：
项目的整体结构：了解 Elasticsearch 项目的组织方式。 核心模块及其职责：学习 Elasticsearch 的核心模块及其在系统中的具体角色。 插件系统的设计：探索 Elasticsearch 灵活的插件系统设计及其扩展方式。 详细解读 Elasticsearch 写入和查询流程：
文档索引过程的各个阶段：跟随文档从初始接收至最终存储的索引过程。 查询解析和执行的步骤：理解 Elasticsearch 中查询解析和执行的各个步骤。 分布式查询的协调过程：学习 Elasticsearch 如何在分布式架构中协调查询，以提供高效且准确的搜索结果。 参与有奖 # 直播中将设有福袋抽奖环节，参与就有机会获得 INFINI Labs 周边纪念品，包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件等等（图片仅供参考，款式、颜色与尺码随机）。</description></item><item><title>喜报 | 极限科技入选北京市 2024 年第一批科技中小企业名单</title><link>https://infinilabs.cn/blog/2024/news-20240730/</link><pubDate>Tue, 30 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20240730/</guid><description>2024 年 7 月 24 日，北京市科学技术委员会、中关村科技园区管理委员会发布《关于北京市 2024 年第一批拟入库科技型中小企业名单的公示》。根据《科技型中小企业评价办法》(国科发政〔2017〕115 号)和《科技型中小企业评价服务工作指引》(国科火字〔2022〕67 号)有关规定，极限数据（北京）科技有限公司成功入选北京市 2024 年第一批科技型中小企业名单。
图：公示名单的通知公告 科技型中小企业是指依托一定数量的科技人员从事科学技术研究开发活动，取得自主知识产权并将其转化为高新技术产品或服务，从而实现可持续发展的中小企业。科技型中小企业是自主创新的主力军。 获得科技型中小企业的称号，意味着极限在科技创新、产品研发以及专业化等方面得到了政府和业内的认可和支持。
图：详细名单 极限科技深知，创新是企业发展的不竭动力，入选科技型中小企业名单，这既是对我们过去努力的肯定，也是对未来发展的激励。极限科技将继续专注于企业级搜索引擎技术的研发与创新，为用户提供更加优质、稳定、高效、安全的数据搜索服务和分析体验。公司也将继续坚定不移地走自主创新的道路，持续加大科研投入，开发出更高效的产品与解决方案，努力成为行业内的领军企业。
展望未来，极限科技将以此次入库为契机，进一步加强与政府、行业、高校及研究机构的合作与交流，共同推动科技创新与产业升级的深度融合。我们期待在更广阔的舞台上展现极限科技的风采与实力，为实现公司可持续发展与行业繁荣做出新的更大贡献。</description></item><item><title>使用 Easysearch 打造企业内部知识问答系统</title><link>https://infinilabs.cn/blog/2024/build-an-internal-knowledge-system-using-easysearch/</link><pubDate>Fri, 26 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/build-an-internal-knowledge-system-using-easysearch/</guid><description>大家可能都有这样的经历，刚入职一家企业时，同事往往会给你分享一些文档资料，有可能是产品信息、规章制度等等。这些文档有的过于冗长，很难第一时间找到想要的内容。有的已经有了新版本，但员工使用的还是老版本。
基于这种背景，我们可以利用 Easysearch 加 LLM 实现一个内部知识的 QA 问答系统。这个系统将利用 LangChain 框架调用本地部署的大模型和 Easysearch，实现理解员工的提问，并基于最新的文档，给出精准答案。
开发框架 # 整个框架分为四个部分：
数据源：数据可以有很多种，可以是非结构化的，比如 PDF、docx、txt 等。也可以是结构化的数据，甚至代码也行。在本次示例中，我们使用 PDF 的非结构化数据。 大模型应用：应用与大模型交互，生成我们需要的答案。 大模型：系统执行相关任务需要用到的大模型，可以有多个。 Q&amp;amp;A 场景：基于大模型为引擎的 QA 场景，使用 web 框架，构建一个交互界面。 数据准备 # 本次我们使用的资料是 &amp;ldquo;INFINI 产品安装手册.pdf&amp;rdquo; ，文档部分内容展示如下：
首先我们使用 LangChain 的 document_loaders 来加载文件。document_loaders 集成了数百种数据源格式，可以很方便的加载数据。我们的数据的 pdf 格式的，导入 PyPDFLoader 类来进行处理。代码如下：
import os # 导入 Document Loaders from langchain_community.document_loaders import PyPDFLoader # Load Pdf base_dir = &amp;#39;.\\easysearch&amp;#39; # 文档的存放目录 docs = [] for file in os.</description></item><item><title>【第1期】2024 搜索客 Meetup | Easysearch 结合大模型实现 RAG</title><link>https://infinilabs.cn/blog/2024/searchkit-meetup-1/</link><pubDate>Thu, 25 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/searchkit-meetup-1/</guid><description>2024 搜索客社区 Meetup 首期线上活动正式启动，本次活动由 搜索客社区、极限科技（INFINI Labs）联合举办，诚邀广大搜索技术开发者和爱好者参加交流学习。
活动时间：2024 年 7 月 31 日 19:00-20:00 （周三）
活动形式：微信视频号（极限实验室）直播
报名方式：关注或扫码海报中的二维码进行预约
活动简介 # 在这个人工智能飞速发展的时代，ChatGPT 和 GPT-4 的出现无疑为人类带来了前所未有的震撼。我们不禁思考：通用人工智能的奇点是否真的即将来临？而最前沿的 AI 技术与最实用的落地应用之间的距离，又该如何缩短？
为了深入探讨这些问题，我们特别邀请到了极限科技（INFINI Labs）高级解决方案架构师、《老杨玩搜索》栏目 B 站 UP 主——杨帆先生，为我们带来一场主题为 “Easysearch 结合大模型实现 RAG” 的精彩演讲。
嘉宾介绍 # 杨帆，拥有十余年金融行业服务工作经验，熟悉 Linux、数据库、网络等领域。目前主要从事 Easysearch、Elasticsearch 等搜索引擎的技术支持工作，服务国内私有化部署的客户。他的丰富经验和深刻见解，将为我们揭开 AI 技术与实际应用之间的神秘面纱。
演讲主题 # 《Easysearch 结合大模型实现 RAG》
主题摘要 # 在本次演讲中，杨帆将跟大家分享和探讨以下几个方面：
LangChain 简介：LangChain 的作用是什么？它由哪些组件构成，优势是什么。 RAG 的背景及其局限性：RAG 出现以前的我们是如何获取信息的，RAG 解决了什么问题？它就是最终的答案了吗？ LangChain 下的 RAG 工作流：在 LangChain 的框架下，实现 RAG 的步骤是怎样的。 RAG Demo：使用 ollama 部署本地模型，利用 LangChain 集成 Easysearch 和 LLM , 开发 QA 问答系统 活动亮点 # 前沿技术分享: 深入了解当前 AI 领域的最新动态和发展趋势。 实战经验交流: 学习如何在实际工作中应用这些先进技术。 互动问答环节: 与演讲嘉宾直接对话，解答你的疑惑。 参与有奖 # 本次直播活动中设置了随机抽奖环节，奖品为 INFINI Labs 周边纪念品，包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件等等（图片仅供参考，款式、颜色与尺码随机）。</description></item><item><title>Easysearch、Elasticsearch、Amazon OpenSearch 快照兼容对比</title><link>https://infinilabs.cn/blog/2024/comparison-of-snapshot-compatibility-between-easysearch-elasticsearch-and-opensearch/</link><pubDate>Wed, 24 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/comparison-of-snapshot-compatibility-between-easysearch-elasticsearch-and-opensearch/</guid><description>在当今的数据驱动时代，搜索引擎的快照功能在数据保护和灾难恢复中至关重要。本文将对 Easysearch、Elasticsearch 和 Amazon OpenSearch 的快照兼容性进行比较，分析它们在快照创建、恢复、存储格式和跨平台兼容性等方面的特点，帮助大家更好地理解这些搜索引擎的差异，从而选择最适合自己需求的解决方案。
启动集群 # Easysearch # 服务器一般情况下默认参数都是很低的，而 Easysearch/Elasticsearch 是内存大户，所以就需要进行系统调优。
sysctl -w vm.max_map_count=262144 vm.max_map_count 是一个 Linux 内核参数，用于控制单个进程可以拥有的最大内存映射区域（VMA，Virtual Memory Areas）的数量。内存映射区域是指通过内存映射文件或匿名内存映射创建的虚拟内存区域。
这个参数在一些应用程序中非常重要，尤其是那些需要大量内存映射的应用程序，比如 Elasticsearch。Elasticsearch 使用内存映射文件来索引和搜索数据，这可能需要大量的内存映射区域。如果 vm.max_map_count 设置得太低，Elasticsearch 可能无法正常工作，并会出现错误信息。
调整 vm.max_map_count 参数的一些常见原因：
支持大型数据集： 应用程序（如 Elasticsearch）在处理大型数据集时可能需要大量内存映射区域。增加 vm.max_map_count 可以确保这些应用程序有足够的内存映射区域来处理数据。
防止内存错误： 如果 vm.max_map_count 设置得太低，当应用程序尝试创建超过限制的内存映射时，会出现错误，导致应用程序崩溃或无法正常工作。
优化性能： 适当地设置 vm.max_map_count 可以优化应用程序的性能，确保内存映射操作顺利进行。
检查当前的 vm.max_map_count 值：
sysctl vm.max_map_count 或者查看 /proc/sys/vm/max_map_count 文件：
cat /proc/sys/vm/max_map_count Elasticsearch 官方建议将 vm.max_map_count 设置为至少 262144。对于其他应用程序。
Easysearch 具体安装步骤见 INFINI Easysearch 尝鲜 Hands on</description></item><item><title>极限科技闪耀 2024 可信数据库发展大会，多款自研产品引领搜索技术新纪元</title><link>https://infinilabs.cn/blog/2024/news-20240719/</link><pubDate>Fri, 19 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20240719/</guid><description>北京，7 月 16、17 日 —— 在由中国信息通信研究院（中国信通院）与中国通信标准化协会联合主办，InfoQ 协办的“2024 可信数据库发展大会”（TDBC 2024）上，极限科技凭借其前沿的搜索技术创新与卓越的市场布局，成为本次盛会的璀璨明星。其展位不仅人头攒动，咨询者络绎不绝，更是成为了大会期间一道亮丽的风景线。
Easysearch：国产化替代的璀璨明珠 # 作为 Elasticsearch 的国产化替代方案，Easysearch 凭借其高度兼容性、卓越的企业级功能以及显著提升的性能、稳定性和扩展性，自推出以来便赢得了市场的热烈反响。在 TDBC 2024 大会的极限科技展位上，Easysearch 更是成为了参观者关注的焦点。极限科技现场分享了多个国内知名企业如中国一汽等采用 Easysearch 的成功案例，这些生动的实例不仅展现了 Easysearch 在保障数据安全、提升搜索效率及优化用户体验方面的卓越成效，也让更多企业看到了国产搜索技术的强大潜力。此外，Easysearch 在墨天轮搜索型数据库排行榜中连续两年蝉联榜首的佳绩，更是为其赢得了广泛的赞誉和认可。
图：极限科技曾总发表主题演讲 《下一代万亿级实时搜索引擎的设计与思考》 INFINI Pizza：引领实时搜索新潮流 # 大会的另一大高潮是作为极限科技的新一代搜索引擎，INFINI Pizza 的推出更是引发了广泛关注。据极限科技曾总介绍，INFINI Pizza 的推出标志着企业级搜索引擎正式进入实时时代。INFINI Pizza 的研发初衷是为了满足更多复杂场景下的搜索需求，通过不断的技术创新与优化，它采用了先进的设计理念和架构实现，通过自有专利解决海量数据无限伸缩的需求，利用最新的算法和数据结构来充分释放现代硬件的威力，能够实现高效、准确的实时数据搜索能力，满足核心业务场景高并发低延迟的需求，为企业提供可靠性的实时搜索基础底座。
在 TDBC 2024 大会上，极限科技的负责人表示：“随着数据量的不断增长和业务场景的日益复杂，搜索技术将面临更多的挑战和机遇。我们推出 Easysearch 和 INFINI Pizza，正是为了应对这些挑战并把握机遇。”
展位人潮涌动，共话搜索技术未来 # 除了技术展示和产品发布外，极限科技的展位还成为了与会者交流互动的重要平台。众多行业专家、企业代表以及技术爱好者纷纷来到展位前，与极限科技的团队进行深入交流和技术探讨。大家围绕搜索技术的发展趋势、应用前景以及面临的挑战等话题展开了热烈的讨论和分享。极限科技团队的专业解答和独到见解赢得了与会者的一致好评和高度评价。
图：极限科技展台现场交流 展望未来：持续创新，共创辉煌 # 展望未来，极限科技表示将继续秉承“简单、易用、极致、创新”的理念，不断深耕搜索技术领域，推出更多创新产品与服务，以满足市场日益增长的需求。同时，公司也将密切关注行业动态和技术发展趋势，积极拥抱变化，与业界同仁共同推动搜索技术的进步与发展。极限科技坚信，通过不懈的努力与追求，将能够为客户创造更大的价值，引领搜索技术迈向更加辉煌的明天。</description></item><item><title>《搜索型数据库白皮书》正式发布，极限科技荣登贡献单位榜单</title><link>https://infinilabs.cn/blog/2024/news-20240718/</link><pubDate>Thu, 18 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20240718/</guid><description>7 月 17 日下午，在 “2024 可信数据库发展大会” 搜索与分析型数据库&amp;amp;多模数据库分论坛上，中国通信标准化协会大数据技术标准推进委员会（以下简称：CCSA TC601）正式发布了《搜索型数据库白皮书》。
此次白皮书的编制工作由中国信通院云计算与大数据研究所牵头，联合包括极限科技在内的多家行业领军企业共同完成，旨在为搜索型数据库的研发和应用提供权威指导。
白皮书从搜索型数据库的发展历程、核心技术、关键特性、应用场景等多个维度进行介绍，对搜索型数据库的的整体发展现状以及未来演进趋势进行了概括总结，为技术创新、企业决策提供参考。
作为行业内的佼佼者，极限科技凭借在搜索型数据库领域的深厚积累和创新实力，荣幸地成为该白皮书的参与贡献单位之一。这不仅是对极限科技技术实力的认可，更是对其在推动搜索型数据库行业发展中所做努力的肯定。 极限科技的 INFINI Easysearch 搜索型数据库产品，在此次白皮书的编制过程中也受到了广泛关注。作为一款具备高性能、高可用、弹性伸缩、高安全性等特性的分布式近实时搜索与分析引擎，INFINI Easysearch 在市场上赢得了广泛好评。其在墨天轮搜索型数据库排名中更是荣登榜首，充分展示了极限科技在搜索型数据库领域的领先地位。
极限科技创始人兼 CEO 曾勇表示：“我们非常荣幸能够参与《搜索型数据库白皮书》的编制工作，并成为其中的贡献单位。这既是对我们过去努力的肯定，也是对未来发展的激励。未来，极限科技将继续专注于搜索型数据库技术的研发与创新，为用户提供更加优质、稳定、高效、安全的数据搜索服务和分析体验。”
随着数字化转型的加速推进，搜索型数据库作为支撑数字经济发展的关键技术之一，其重要性日益凸显。《搜索型数据库白皮书》的发布，将为我国搜索型数据库产业的持续健康发展提供有力支撑。同时，也期待更多像极限科技这样的优秀企业能够加入到这一行列中来，共同推动中国乃至全球搜索型数据库技术的繁荣发展。
附：《搜索型数据库白皮书》电子版 下载</description></item><item><title>使用 Elasticsearch Python SDK 查询 Easysearch</title><link>https://infinilabs.cn/blog/2024/querying-easysearch-using-the-elasticsearch-python-sdk/</link><pubDate>Wed, 17 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/querying-easysearch-using-the-elasticsearch-python-sdk/</guid><description>随着数据分析需求的不断增长，高效查询和分析大数据集变得越来越重要。Easysearch 作为一种强大的国产化搜索和分析引擎，同时作为 Elasticsearch 国产替代方案，支持原生 DSL 查询语法和 SQL 查询，确保原业务代码无需调整即可无缝迁移。Easysearch 兼容 ES 7.x 现有的 SDK 和索引存储格式，支持冷热架构和索引生命周期管理，为用户提供了全面的数据处理解决方案。本文将详细介绍如何使用 ES 7.x Python SDK 与 Easysearch 进行交互，包括安装、连接、数据操作和查询等方面。
1. 安装 Elasticsearch Python 客户端 # 要使用 Elasticsearch Python 客户端，首先需要通过pip进行安装。打开终端或命令提示符，并运行以下命令：
pip install elasticsearch==7.13.1 如果使用默认版本安装，会安装 8.x 的依赖，可能会报错 elasticsearch.UnsupportedProductError: The client noticed that the server is not Elasticsearch and we do not support this unknown product.
由于 Elasticsearch 7.10.2 以后变更了许可模式，引入了 Server Side Public License (SSPL) 和 Elastic License，很多基于 Elasticsearch 7.10.2 分支出来的搜索引擎需要使用 7.</description></item><item><title>极限科技荣耀入选《中国数据库产业图谱（2024年）》，引领搜索与分析型数据库新篇章</title><link>https://infinilabs.cn/blog/2024/news-20240717/</link><pubDate>Wed, 17 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20240717/</guid><description>7 月 16-17 日，由中国信息通信研究院（以下简称“中国信通院”）、中国通信标准化协会主办，中国通信标准化协会大数据技术标准推进委员会承办，InfoQ 联合主办的&amp;quot;2024 可信数据库发展大会&amp;ldquo;主论坛在北京隆重召开。
在“2024 可信数据库发展大会”上，极限科技凭借其在搜索与分析型数据库领域的杰出表现和深厚技术积累，荣耀入选由中国信息通信研究院（以下简称“中国信通院”）及中国通信标准化协会大数据技术标准推进委员会（CCSA TC601）联合发布的《中国数据库产业图谱（2024 年）》。这一殊荣不仅标志着极限科技在数据库产业中的领先地位，也彰显了其对中国数据库产业高质量发展的积极贡献。
本次大会以“自主、创新、引领”为主题，汇聚了来自学术界、产业界及政府部门的近百位专家学者和企业代表，共同探讨在人工智能与数据要素双重驱动下的数据库产业新路径。会上，极限科技作为搜索与分析型数据库领域的佼佼者，凭借其卓越的技术创新能力和市场影响力，成功入选《中国数据库产业图谱（2024 年）》，成为该领域的代表性企业之一。
图：极限科技荣誉入选中国信通院《中国数据库产业图谱（2024年）》 《中国数据库产业图谱（2024 年）》作为全面展现我国数据库产业现状和发展趋势的权威报告，通过多维度指标对申报单位进行综合评价，最终筛选出各个关键领域的优秀企业和产品。极限科技凭借其在数据库技术上的深厚积累、产品的持续创新以及市场的广泛认可，成功入选搜索型数据库及数据库生态社区两个重要领域。极限科技自成立以来，始终致力于搜索与分析型数据库的研发与创新，致力于为全球用户提供高效、智能、安全的数据库解决方案。公司产品凭借卓越的性能表现和稳定可靠的服务质量，赢得了众多客户的信赖和好评。同时，公司还积极参与行业交流与合作，与产业链上下游伙伴携手共进，共同推动中国数据库产业的繁荣发展。
对于此次入选《中国数据库产业图谱（2024 年）》，极限科技表示深感荣幸并充满期待。公司负责人表示：“我们将继续秉承‘自主、创新、引领’的发展理念，加大研发投入，深化技术创新，不断推出更加先进、更加适用的数据库产品和服务。同时，我们也将积极履行社会责任，为推动我国数据库产业的高质量发展贡献更多力量。”
展望未来，极限科技将继续以用户需求为导向，以技术创新为驱动，不断突破技术瓶颈，拓展应用场景，为全球用户提供更加优质、高效的数据库解决方案。</description></item><item><title>喜报！极限科技再获国家发明专利：《一种超大规模分布式集群架构的数据处理方法》，引领大数据处理技术创新</title><link>https://infinilabs.cn/blog/2024/news-20240712/</link><pubDate>Fri, 12 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20240712/</guid><description>近日，极限数据（北京）科技有限公司（简称：极限科技）传来喜讯，公司再次斩获国家发明专利授权。这项名为&amp;quot;一种超大规模分布式集群架构的数据处理方法&amp;quot;的专利（专利号：ZL 2024 1 0479402.8）于 2024 年 7 月 12 日正式获得授权，彰显了极限科技在大数据处理技术领域的创新实力。
该专利提出了一种全新的超大规模分布式集群架构及数据处理方法，为解决大规模数据处理中的挑战提供了创新性解决方案。这一架构将集群划分为多个数据中心，每个数据中心配备内元数据管理节点和数据节点，并在所有数据中心之上部署拓扑管理节点。拓扑管理节点还可拓展为多层结构，便于超大集群管理，增强集群的容错性。
此项专利的获得，是公司多年来持续创新、不断追求技术突破的结果，将为公司在大数据处理领域的技术应用和市场拓展提供强有力的支持。未来，公司将继续加大研发投入，不断提升核心竞争力，为客户提供更高效、更可靠的大数据处理解决方案，推动行业技术进步。
其他相关专利：
搜索数据库的正排索引处理方法 一种数据分区方法及数据处理方法 数据可视化分析方法</description></item><item><title>Easysearch 新特性：写入限流功能介绍</title><link>https://infinilabs.cn/blog/2024/easysearch-new-feature-write-throttling-introduction/</link><pubDate>Thu, 11 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-new-feature-write-throttling-introduction/</guid><description>背景 # 在 Easysearch 的各种使用场景中，高写入吞吐量的场景占了很大一部分，由此也带来了一些使用上的问题，很多用户由于使用经验不足，对集群的写入压测进行的不够充分，不能很好的规划集群的写入量。
导致经常发生以下问题：
写入吞吐量过大对内存影响巨大，引发节点 OOM，节点掉线问题。 对 CPU 和内存的占用严重影响了其他的查询业务的响应。 以及磁盘 IO 负载增加，挤占集群的网络带宽等问题。 之前就有某金融保险类客户遇到了因业务端写入量突然猛增导致数据节点不停的 Full GC，进而掉入了不停的掉线，上线，又掉线的恶性循环中。当时只能建议用户增加一个类似“挡板”的服务，在数据进入到集群之前进行拦截，对客户端写入进行干预限流：
这样做虽然有效，但是也增加了整个系统的部署复杂性，提高了运维成本。
根据客户的实际场景，Easysearch 从 1.8.0 版本开始引入了节点和 Shard 级别的限流功能，不用依赖第三方就可以限制写入压力，并在 1.8.2 版本增加了索引级别的写入限流。 注意：所有写入限流都是针对各数据节点的 Primary Shard 写入进行限流的，算上副本的话吞吐量要乘以 2。
限流示意图：
下面是限流前后相同数据节点的吞吐量和 CPU 对比：
测试环境：
ip name http port version role master 10.0.0.3 node-3 10.0.0.3:9209 9303 1.8.0 dimr - 10.0.0.3 node-4 10.0.0.3:9210 9304 1.8.0 im - 10.0.0.3 node-2 10.0.0.3:9208 9302 1.8.0 dimr - 10.0.0.3 node-1 10.0.0.3:9207 9301 1.</description></item><item><title>玩转 Easysearch 语法</title><link>https://infinilabs.cn/blog/2024/mastering-easysearch-syntax/</link><pubDate>Wed, 10 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/mastering-easysearch-syntax/</guid><description>什么是 Easysearch # Elasticsearch 是一个基于 Apache Lucene 的开源分布式搜索和分析引擎，它被广泛应用于全文搜索、结构化搜索和分析等多种场景中。作为 Elasticsearch 的国产化替代方案，Easysearch 不仅保持了与原生 Elasticsearch 的高度兼容性，还在功能、性能、稳定性和扩展性方面进行了全面提升。对于开发团队来说，从 Elasticsearch 切换到 Easysearch 不需要做任何业务代码的调整，确保了无缝衔接和平滑迁移。
Easysearch 是基于 Elasticsearch 7.10.2 开源版本二次开发，所以支持 Elasticsearch 原始的 Query DSL 语法，基本的 SQL 语法，并且兼容现有 Elasticsearch 的 SDK，使得应用无需修改代码即可进行迁移。其平滑的迁移特性，如基于网关的无缝跨版本迁移与升级，提供了随时安全回退的能力。
在之前的文章中，我们已经介绍了 Easysearch 的搭建 和 可视化工具的使用，今天我们将探讨 Easysearch 集群的基本概念和常用的 API。
Easysearch 集群的核心概念 # Easysearch 集群由以下几个核心概念构成：
节点（Node）：集群中的单个服务器，负责存储数据并参与集群的索引和搜索功能。 集群（Cluster）：由一个或多个节点组成，拥有唯一的集群名，协同完成数据索引和查询任务。 索引（Index）：存储相关数据的容器，类似于关系数据库中的数据库，一个索引包含多个文档。 文档（Document）：索引中的基本数据单位，相当于关系数据库中的行。 字段（Field）：文档中的一个属性，相当于数据库中的列。 分片（Shard）：为了提高性能和扩展性，索引可以被分割成多个分片，每个分片是索引的一个部分。 副本（Replica）：分片的副本，用于提高数据的可靠性和在节点出现故障时的可用性。 通过多个 API，例如 _cluster/health 和 _cluster/stats，用户可以轻松查看集群的健康状态和详细信息，这些信息对于维护和优化 Easysearch 集群至关重要。
无论是在性能的提升，还是在功能的兼容性方面，Easysearch 都为用户提供了一个强大的搜索引擎平台，让从 Elasticsearch 到 Easysearch 的迁移变得无缝且高效。掌握其核心概念和 API 的使用，将帮助开发者更好地利用这些工具来构建和优化他们的搜索解决方案。</description></item><item><title>Easysearch 数据可视化和管理平台：INFINI Console 使用介绍</title><link>https://infinilabs.cn/blog/2024/easysearch-data-visualization-and-management-platform-infini-console-user-guide/</link><pubDate>Tue, 09 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-data-visualization-and-management-platform-infini-console-user-guide/</guid><description>上次在《 INFINI Easysearch 尝鲜 Hands on》中，我们部署了两个节点的 Easysearch，并设置了 Console 进行集群监控。今天，我们将介绍 INFINI Console 的使用。
Dashboard # INFINI Console 是一个功能强大的数据管理和分析平台，其仪表盘页面提供了直观简洁的界面，使用户能够快速了解系统状态并进行管理操作。本文将详细介绍仪表盘页面的各项功能。
仪表盘顶部显示系统的实时告警、通知和待办事项的数量，当前数据显示：
告警：0 条 通知：0 条 待办：0 条 在仪表盘的中心区域，用户可以看到几项关键的系统概览信息：
集群数量：当前有 3 个集群正在运行。 节点数量：系统中有 16 个节点。 主机数量：共有 3 台主机。 已用存储：系统已使用存储空间为 2.0GB。 仪表盘页面还提供了几个常用操作的快速入口，方便用户迅速访问常用功能：
集群注册：用户可以通过此入口快速注册新的集群。 数据探索：用户可以访问数据探索工具，对系统中的数据进行分析和查询。 告警管理：提供对告警信息的管理功能，用户可以查看和处理告警。 安全管理：安全管理入口帮助用户维护系统的安全设置和策略。 仪表盘右侧显示了集群的动态信息，包括最近的操作日志。例如：
2024-07-03 22:43:43，index medcl 在 cluster infiniLabs 中的状态更新。 2024-07-03 22:06:43，index medcl 在 cluster infiniLabs 中被创建。 集群管理页面 # 集群管理页面主要分为几个部分：顶部的功能选项卡、中部的集群列表、以及右侧的筛选和排序选项。
页面顶部的功能选项卡包括以下几项：</description></item><item><title>INFINI Easysearch 尝鲜 Hands on</title><link>https://infinilabs.cn/blog/2024/infini-easysearch-hands-on/</link><pubDate>Mon, 08 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/infini-easysearch-hands-on/</guid><description>INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。与 Elasticsearch 相比，Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。
Easysearch 支持原生 Elasticsearch 的 DSL 查询语法，确保原业务代码无需调整即可无缝迁移。同时，极限科技还支持 SQL 查询，为熟悉 SQL 的开发人员提供更加便捷的数据分析方式。此外，Easysearch 兼容 Elasticsearch 的 SDK 和现有索引存储格式，支持冷热架构和索引生命周期管理，确保用户能够轻松实现数据的无缝衔接。
安装 # 安装脚本 # 无论是 Linux 还是 Mac 都是这个一键脚本
curl -sSL http://get.infini.cloud | bash -s -- -p easysearch 同时也提供了二进制的安装包：
如果不想整理 JAVA 环境问题，还可以使用这个 https://release.infinilabs.com/easysearch/stable/bundle/
docker 部署 # 官方提供了 Docker Compose 样例，包括三个服务：
easysearch-node1 easysearch-node2 console 以下是详细说明：
版本控制： # version: &amp;lsquo;3&amp;rsquo; 表示使用 Docker Compose 文件的第 3 版格式。 服务定义： # easysearch-node1 和 easysearch-node2：</description></item><item><title>从 OpenAI 停服看中国市场：国产替代崛起的机遇与挑战</title><link>https://infinilabs.cn/blog/2024/from-openai-service-discontinuation-to-the-chinese-market-opportunities-and-challenges-of-domestic-replacement-rising/</link><pubDate>Mon, 01 Jul 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/from-openai-service-discontinuation-to-the-chinese-market-opportunities-and-challenges-of-domestic-replacement-rising/</guid><description>一、OpenAI 停服事件背景 # OpenAI 自 2020 年推出 GPT-3 以来，在全球范围内引起了极大的反响。其强大的自然语言处理能力使其成为许多企业和开发者的首选工具。然而，2024 年 6 月 25 日，许多中国用户收到了一封来自 OpenAI 的邮件，邮件中明确表示，自 2024 年 7 月 9 日起，OpenAI 将停止对中国内地和香港地区提供 API 服务。
这一事件引发了国内开发者和企业的广泛讨论，特别是在人工智能技术应用逐渐深入的背景下，OpenAI 的停服无疑会对中国市场产生一定的影响。在 AI 技术迅猛发展的当下，许多中国企业和开发者依赖 OpenAI 的 API 进行各种应用的开发。尤其是在大模型技术领域，不少初创公司通过“套壳”OpenAI 技术快速推向市场。所谓“OpenAI 套壳”，是指一些公司仅对 OpenAI 的技术进行表面包装和小改动，而未进行深度创新 。OpenAI CEO 山姆·奥特曼曾明确指出，简单包装 OpenAI 技术的公司难以长久生存。此次 API 服务的终止，意味着这些企业需要寻找新的技术支持，或者在短时间内加速自主研发 。
二、国产替代的挑战与机遇 # OpenAI 停止对中国提供 API 服务将对国内 AI 行业带来短期冲击，但从长远来看，这也可能成为推动国内 AI 技术自主创新和研发的契机。国内企业将被迫加大自主研发力度，减少对外部技术的依赖，从而推动国产 AI 技术的发展 。虽然目前国内大模型企业在技术上与 OpenAI 存在一定差距，但已有不少公司在不断赶超。例如，百度的文心大模型、科大讯飞的星火大模型以及清华智谱的 ChatGLM 基础模型，都在性能上逐渐逼近甚至超过了 GPT-4 。从现状来看，国内大模型厂商已经逐步进入了性能提升的关键期，应用场景从办公、生活拓展到医疗、工业、教育等领域。
三、Elasticsearch 国产化替代的需求 # Elasticsearch（简称 ES）作为一种开源的分布式搜索和分析引擎，以其强大的搜索能力和高效的数据处理能力，广泛应用于各种大数据和搜索相关业务场景。然而，随着国际政治环境的变化和技术壁垒的加剧，依赖国外技术的风险日益凸显。在这种背景下，推动 Elasticsearch 的国产化替代至关重要，既能保障国家信息安全，也能促进国内技术自主创新和产业发展。</description></item><item><title>邀请函 | 极限科技全新搜索引擎 INFINI Pizza 亮相 2024 可信数据库发展大会！</title><link>https://infinilabs.cn/blog/2024/invitation-extreme-technologys-new-search-engine-infini-pizza-was-unveiled-at-the-2024-trusted-database-development-conference/</link><pubDate>Thu, 27 Jun 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/invitation-extreme-technologys-new-search-engine-infini-pizza-was-unveiled-at-the-2024-trusted-database-development-conference/</guid><description>过去一年，在全球 AI 浪潮和国家数据局成立的推动下，数据库产业变革不断、热闹非凡。2024 年，站在中国数字经济产业升级和数据要素市场化建设的时代交汇点上，“2024 可信数据库发展大会” 将于 2024 年 7 月 16-17 日在北京悠唐皇冠假日酒店隆重召开，大会将以 “自主、创新、引领” 为主题，以期进一步推动全球数据库产业进步，共同开创可信数据库行业的新时代。
届时，极限科技（INFINI Labs）创始人兼 CEO 曾勇 将于 7 月 17 日下午在 搜索与分析型数据库＆多模数据库分论坛 发表主题演讲 《下一代万亿级实时搜索引擎的设计与思考》 ，主要介绍下一代纯实时搜索新引擎 INFINI Pizza 的设计思路与软件架构的思考以及复杂场景下的搜索需求和挑战，敬请期待！</description></item><item><title>天命人, 你在吗？快拿走你的《黑神话:悟空》游戏，去开启神话冒险！</title><link>https://infinilabs.cn/blog/2024/easysearch-essay-competition-wukong/</link><pubDate>Wed, 26 Jun 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-essay-competition-wukong/</guid><description>第一章：神秘的召唤 # 在一个普通的早晨， INFINI Labs 的办公室里，阳光透过窗户洒进来，给每个人带来了一天的好心情。就在这时，办公室的公告板上突然出现了一张神秘的海报，上面写着：
“天命人, 你在吗？快拿走你的《黑神话:悟空》游戏，去开启神话冒险！”
这张海报立刻吸引了小编的目光，心中升起了一股好奇心，这究竟是怎样的一个活动？而且，《黑神话:悟空》竟然作为奖品！这可是大家期待已久的国产大作！
第二章：拨开迷雾 # 《黑神话：悟空》 是一款基于《西游记》改编的中国神话动作角色扮演游戏，由中国游戏公司 Game Science 开发。游戏以其出色的画面和创新的玩法在全球范围内引起了广泛关注，是 2024 年最受期待的国产游戏大作，将于 8 月 20 日正式发售。
在游戏中，玩家将化身“天命之人”——孙悟空，踏上惊险刺激的西游冒险之旅。游戏不仅高度还原了《西游记》中的经典场景和角色，还融入了大量原创元素，带来全新的剧情体验。
第三章：踏上征途 # 作为“天命之人”，你将穿越重重险阻，挑战强大的妖魔鬼怪，探索神秘的古代遗迹，揭开传说背后的秘密。游戏中充满了紧张刺激的战斗场景和丰富多样的任务，让你能沉浸在这个神话般的世界中。
不要犹豫，加入我们，一起踏上征途，成为传说的一部分吧！
INFINI Labs 首期征文活动来袭！！！
无论你是 Easysearch 的老用户，还是第一次听说这个名字，只要你对 INFINI Labs 旗下的 Easysearch 产品感兴趣，或者是希望了解 Easysearch，都可以参加这次活动。
征文主题：
使用体验：分享你在学习和使用 Easysearch 的体验感受、反馈。 案例实践：分享你在工作使用 Easysearch 的案例和实践经验。 版本对比：对比不同版本的 Easysearch，聊聊各自的优劣和特点。 性能测评：对 Easysearch 的性能进行详细测评，展示其在各种使用场景下的表现。 功能解析：深入剖析 Easysearch 的独特功能，让更多人了解它的强大之处。 国产替代：探讨 Easysearch 在 Elasticsearch 国产替代中的重要意义及实战经验。 为了帮助首次了解 Easysearch 的小伙伴，我们还会提供技术支持，让你轻松上手，畅快写作。
第四章：创作你的传奇 # 无论你是哪个领域的爱好者，这次活动都是你展示才华的绝佳机会。拿起笔，写下你的故事，分享你与 Easysearch 的点滴，畅谈你对《黑神话：悟空》的期待。</description></item><item><title>喜报|极限科技获得北京市“创新型”中小企业资格认证</title><link>https://infinilabs.cn/blog/2024/news-20240624/</link><pubDate>Mon, 24 Jun 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20240624/</guid><description>2024年6月20日，北京市经济和信息化局正式发布《关于对2024年度4月份北京市创新型中小企业名单进行公告的通知》，极限数据（北京）科技有限公司凭借其出色的创新能力和卓越的企业实力，成功获得“北京市创新型中小企业”的殊荣。
北京市“创新型中小企业”的殊荣，是对极限数据（北京）科技有限公司在创新领域卓越成就的肯定。这一荣誉不仅彰显了企业拥有完善的创新机制，更凸显了其在技术创新引领下的全面而持续的创新能力，涵盖了技术、品牌、制度、管理、文化等多个维度。
极限数据（北京）科技有限公司因此成为中小企业高质量发展的杰出代表，为推动经济社会的持续进步贡献着重要力量。
对于极限数据（北京）科技有限公司而言，此次荣获“北京市创新型中小企业”称号，无疑将为企业未来的发展提供强大的动力与信心。
公司将以此为契机，继续加大创新投入，优化产品结构，提升服务质量，努力成为行业内的领军企业。同时，极限数据（北京）科技有限公司也将积极履行社会责任，为推动经济社会的持续进步贡献更多力量。</description></item><item><title>喜报！极限科技新获得一项国家发明专利授权：《搜索数据库的正排索引处理方法、装置、介质和设备》</title><link>https://infinilabs.cn/blog/2024/news-20240622/</link><pubDate>Sat, 22 Jun 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20240622/</guid><description>近日，极限数据（北京）科技有限公司（简称：极限科技）新获得一项国家发明专利授权，专利名为 “搜索数据库的正排索引处理方法、装置、介质和设备”，专利号：ZL 2024 1 0479400.9，授权日为 2024 年 6 月 21 日，标志着极限科技在数据库搜索技术领域的自主创新能力再次得到国家级认可。
创新技术，提升搜索效率 # 该专利的核心创新点在于将正排索引与倒排索引在逻辑上进行分离，通过专门设计的正排索引结构，实现了文档的高效写入。这种创新方法不仅提高了搜索过程的灵活性，而且使得正排索引结构能够支持实时搜索，避免了传统搜索技术中必须等待数据落盘后才能进行搜索的限制，从而显著提升了搜索效率。
自主研发，持续创新 # 极限科技自成立以来，始终坚持自主研发和技术创新的道路。公司的研发团队由一批经验丰富的工程师组成，他们在数据库技术、搜索引擎和大数据处理等领域拥有深厚的专业知识和实践经验。此次专利的获得，是极限科技在自主研发道路上的又一重要里程碑，展现了公司在技术创新方面的持续努力和卓越成就。
行业领先，未来可期 # 极限科技的这项发明专利不仅为公司带来了技术上的突破，也为整个行业的发展提供了新的思路和方向。随着大数据时代的到来，高效的搜索技术对于信息的快速获取和处理至关重要。极限科技的这一创新成果，有望推动相关行业的技术进步，为用户带来更加流畅和精准的搜索体验。
极限科技，与您一起探索数据的无限可能。
其他相关专利：
一种数据分区方法及数据处理方法 数据可视化分析方法</description></item><item><title>INFINI Labs 助力开源与教育：免费许可证计划全面升级</title><link>https://infinilabs.cn/blog/2024/infini-labs-for-open-source-education-the-free-license-program-upgrades/</link><pubDate>Wed, 19 Jun 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/infini-labs-for-open-source-education-the-free-license-program-upgrades/</guid><description>在数字化浪潮席卷全球的今天，INFINI Labs 深刻认识到开源项目和教育机构在技术创新与人才培养中的核心作用。因此，我们郑重推出全新升级的免费许可证计划，旨在全球范围内为开源社区和教育界提供有力支持，共同推动软件生态的繁荣与进步。
一、产品实力与荣誉 # 1.INFINI Pizza：实时搜索的新纪元 # 在第十三届“数据技术嘉年华”（DTC2024）上，INFINI Labs 发布了划时代的搜索引擎——INFINI Pizza，标志着搜索型数据库迈入实时搜索的新纪元。 INFINI Pizza 凭借先进的设计理念与架构，以及独有的专利技术，实现了对海量数据的无限伸缩，提供高效、准确的实时数据搜索能力 2.行业标杆案例 # INFINI Labs 荣获中国信通院大数据“星河”标杆案例，其中移动云搜索数据库案例更是荣选为数据库标杆案例。 该案例基于移动云 Easysearch 数据库，通过创新的多集群协同模式，实现了数据高性能存取，展现出极高的经济价值与社会价值。 3.国家发明专利认可 # INFINI Labs 的多项自主研发技术获得国家发明专利授权，这些成果彰显了公司在大数据领域的技术实力与创新精神。 二、品牌与行业地位 # INFINI Labs 作为搜索型数据库产品领域的领军企业，积极参与行业标准的制定与推动。
其核心产品 INFINI Easysearch 荣获信通院首批可信搜索型数据库产品证书，再次印证了公司在行业中的领先地位。
三、产品介绍 # INFINI Easysearch：作为 Elasticsearch 的国产化替代方案，提供高度兼容性与卓越性能，满足企业级需求。
INFINI Console：轻量级多集群、跨版本搜索基础设施统一管控平台，助力企业高效管理搜索集群。
INFINI Gateway：专为 Elasticsearch 打造的高性能应用网关，提供丰富的功能特性与卓越性能。</description></item><item><title>极限网关助力好未来 Elasticsearch 容器化升级</title><link>https://infinilabs.cn/blog/2024/using-gateway-help-tal-es-k8s-upgrade/</link><pubDate>Tue, 11 Jun 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/using-gateway-help-tal-es-k8s-upgrade/</guid><description>背景 # 物理机架构时代 # 2022 年，好未来整个日志 Elasticsearch 拥有数十套服务集群，几百台物理机。这么多台机器耗费成本非常高，而且还要花费很大精力去维护。在人力资源有限情况下，存在非常多的弊端，运行成本高，不仅是机器折旧还有机柜等费用。
流量特征 # 这是来自某个业务线，如下图 1，真实流量，潮汐性非常明显。好未来有很多条业务线，几乎跟这个趋势都一致的，除了个别业务有“续报”、“开课”等活动特殊情况。潮汐性带来的问题就是高峰期 CPU、内存资源是可以消耗很高；低峰期资源使用量非常低，由于是物理架构，这些资源无法给其他业务线共享。
图1 降本增效-容器化改造原动力 # 日志服务对成本的空前的压力促使我们推进 Elasticsearch 进行架构改造；如何改造，改造成什么样子，这两个问题一直是推进改造原动力。业界能够同时对水平扩展和垂直扩展就是 K8S，我们开始对 Elasticsearch 改造成能在 K8S 上运行进行探索，从而提升 CPU、内存利用率。
物理机时代，没办法把资源动态的扩缩，动态调配，资源隔离，单靠人力操作调度成本太高，几乎无法完成；集群对内存资源需求要比 CPU 资源大很多，由于机器型号配置是固定的，无法“定制”，这也会导致成本居高不下。所以，无论从那个方面来讲，容器化优势非常明显，既能够优化成本，也能够降低运维复杂度。
ES 容器化改造 # 进行架构升级重点难点- API 服务 # 改造过程，我们遇到了很多问题，比如容器 ES 版本和物理机 ES 版本不一致，如何让 ES API 能够兼容不同的 ES 版本，由于版本的不兼容，导致无法直接使用原有的 tribenode 进行服务，怎么提供一个高可用的 Elasticsearch API 服务。我们考虑到多个方面，比如使用官方推荐的 proxy 模式、第三方服务等进行选择，经过多方面对比，选择了 极限网关 进行 tribenode 替换。
原始 ES API 服务痛点 # API 访问没有流量控制 可观测性差，而且稳定性一般 版本兼容性差 物理机时代 API 架构 # 在物理机时代 ES 集群，API 架构如图 2，可以明显看到 tribe node 对所有 ES 集群的“侵入性”是非常大的，这就带来了很多问题，比较严重的就是单个集群对 ES tribenode 的影响和版本升级带来的不兼容问题。</description></item><item><title>INFINI Labs 产品更新 | Easysearch 1.8.2 发布优化 CCR 性能</title><link>https://infinilabs.cn/blog/2024/release-20240607/</link><pubDate>Fri, 07 Jun 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/release-20240607/</guid><description>INFINI Labs 产品又更新啦~，包括 Easysearch v1.8.2、Gateway、Console、Agent、Loadgen v1.26.0。本次各产品更新了很多亮点功能，如 Easysearch 优化 CCR 同步性能；Gateway 增加了 HTTP 请求动态域名路由功能，移除了安全相关的 Filter，进一步提升 Gateway 稳定性；Console 修复了多个已知问题，如当文档数过亿时单位换算错误，修复了因采集延迟导致指标图表显示异常，修复了多行查询中包含 SQL 查询异常等问题。
INFINI Easysearch v1.8.2 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Bug fix # 修复 source_reuse 与 object 字段为 enable: false 时的冲突 Improvements # 升级部分依赖包版本，Commons-collections to 3.2.2, Snakeyaml to 2.0 优化 CCR 同步性能及调整 CCR 全局配置参数 优化插件配置命名，去除&amp;quot;plugins.&amp;quot; 优化配置文件目录获取命名 INFINI Console v1.26.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。</description></item><item><title>INFINI Labs 产品更新 | Easysearch 1.8.0 发布数据写入限流功能</title><link>https://infinilabs.cn/blog/2024/release-20240430/</link><pubDate>Tue, 30 Apr 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/release-20240430/</guid><description>INFINI Labs 产品又更新啦~，包括 Easysearch v1.8.0、Gateway、Console、Agent、Loadgen v1.25.0。本次各产品更新了很多亮点功能，如 Easysearch 新增数据写入限流功能，可实现节点、分片级限流；Gateway 修复数据迁移过程中因消费不及时解压缩导致部分数据记录损坏而丢失记录问题，进一步提升 Gateway 稳定性；Console 优化了多个页面操作细节功能，如增加索引批量删除，告警事件详情页面增加时间查询控件，增强了数据可视化字段聚合可自定义采样能力等。
INFINI Easysearch v1.8.0 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Features # 增加写入限流功能，可针对节点级（数据节点和协调节点）、分片级 Bug fix # 修复查询数据结果为空时，聚合出错问题 修复 Bundle 包在 MacOS 环境下 JDK 路径出错问题 INFINI Console v1.25.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
Console 本次更新如下：
Bug fix # 修复数据迁移在大数据量消费不及时场景下因解压缩可能引发数据写入条数不正确的问题 修复概览监控页面探针安装链接地址错误问题 修复审计日志权限菜单不显示问题 Improvements # 优化索引管理，增加批量删除索引功能 优化告警事件明细页面，增加时间选择范围，可查看历史告警事件 优化探针管理页面表格布局 优化数据探索 URL 展示格式，便于分享使用 优化数据探索字段过滤设置，支持自定义采样条数及全记录分桶 优化系统集群不可用时，可进行开发工具进行索引数据操作 优化开发者工具页面，集群选择弹出框位置固定在右下方 INFINI Gateway v1.</description></item><item><title>危险！超 9000 个 Elasticsearch 集群暴露在公网上</title><link>https://infinilabs.cn/blog/2024/danger-over-9k-es-exposed-to-public-internet/</link><pubDate>Sun, 28 Apr 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/danger-over-9k-es-exposed-to-public-internet/</guid><description>近几年来，ES 数据泄露事件频发给国内各行业用户敲响了数据安全的警钟。比如:
2019 年发生的 ES 数据泄露事件，泄露包括 27 亿个电子邮件地址，其中 10 亿个密码是以简单的明文存储，涉及国内多家互联网公司。 2021 年 Group-IB 报告显示，网络上暴露的 ES 实例超过 10 万个，约占 2021 年暴露数据库总数的 30% 。 2022 年漫画阅读平台 Mangatoon 遭遇数据泄露，黑客从不安全的 ES 数据库中窃取了属于 2300 万用户帐户的信息。 2022 年阿里巴巴遭受了一次重大数据泄露，涉及客户数据包括：姓名、电话号、身份证号、居住地址等信息共计 23TB。 随便在网上一搜，类似情况比比皆是。也许此时此刻仍正在发生。
看完媒体或门户网站的报道，也许大家感受还是不够直观，接下来我们一起去 shodan 实际看看 Elasticsearch 的情况是怎样的。 在 shodan 网站搜索 Elasticsearch 可以获得一个风险分析报告。
在 shodan 的 ES 风险报告中，总共收集到 9871 个有风险的 ES 集群。其中位于中国的 ES 数量是 2804，占据总量的 28% 。
从暴露的端口进行分析，不仅包含默认的 ES、kibana 服务端口，还包括其他管理工具的端口。其中 ES 的默认端口占比最高，高达 75% 。
从资源类别的角度进行分析，大部分 ES 都部署在云主机上。前面提到我国占比最多，因此我国的云服务商上榜也是情理之中，榜一大哥的位置必须拿下。😂</description></item><item><title>某客户的 Elasticsearch 异地容灾方案</title><link>https://infinilabs.cn/blog/2024/elasticsearch-disaster-recovery-solution/</link><pubDate>Tue, 16 Apr 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/elasticsearch-disaster-recovery-solution/</guid><description>本文档主要围绕某客户关于如何基于 Elasticsearch 网关来实现 Elasticsearch 集群的异地容灾解决方案及提供一份性能测试报告作为参考。
方案介绍 # 传统的容灾方案存在各种弊端，这里针对客户的实际需求实现了一套基于极限网关的多集群异地容灾方案，可以完美的解决传统容灾方案在实际运行中的各种问题，并结合客户的实际需求，对双机房资源的利用，网络带宽是限制等方面进行了更加全面的考虑。
总体架构 # 当前客户的容灾需求为建设一个双机房的高可用业务架构，当一端机房出现不可用的情况下，另外的机房可以随时接管业务，针对 Elasticsearch 集群的总体架构设计如下图所示：
如上图，Gateway 组件将承载业务的查询和写入，并且在日常的业务运行过程中，通过 Gateway 还可以将一半的查询流量转发给机房 B 的 Elasticsearch 集群，从而充分利用所有在线的计算资源，降低 A 机房的负载，提升整体的查询体验。
客户目前的数据采用的是每天晚上完全重建的方式，使用 CDP 平台的离线任务，将最新业务数据按照新的结构在 Elasticsearch 创建一份新的索引，待索引重建完成之后通过别名进行切换，从而完成新旧索引的替换。
通过在 CDP Platform 和 Elasticsearch 集群之间增加一层网关，可以让重建的写入请求无缝复制一份到机房 B 的对象存储，对于异地跨专线的数据复制，这个方案有两个优点：
基于文档操作进行复制，而不是生成的最终索引文件，机房 AB 没有版本和架构的依赖 复制的内容更小，更利于压缩，压缩比 ~16:1，对专线带宽的消耗更低，长距离传输时间更短 复制速度更快，将消息批量压缩之后上传到对象存储，机房 B 本地解压再批量进行消费 两个机房分别独立部署业务系统、Elasticsearch 网关和 Elasticsearch 集群，业务系统正常情况下通过本机房的网关来访问 Elasticsearch，备机房的网关和业务系统正常情况下没有流量，当故障发生之后，可以随时启用备机房的应用和集群，主备机房的数据变更分别记录并管理，当主集群恢复之后，会立即将队列里面的数据进行同步，并最终保持一致。
数据复制方式 # 通过极限网关进行数据复制的方式，只需要将业务端代码里面访问的 Elasticsearch 集群地址替换为极限网关的访问地址即可，业务端通过访问网关而不是直接访问 Elasticsearch 来进行相关读写操作，网关会进行读写操作进行分离，读操作会直接转发给主集群，同步操作，和正常查询 Elasticsearch 集群没有任何区别。
如果是写操作，会走单独的复制流程，也就是会进行操作级别的复制，请求会先记录到消息队列持久化，然后异步的方式复制到备集群，也就是同步操作主集群，异步操作备集群的方式。
业务端收到的是正常的 Elasticsearch 的响应，操作逻辑和直接访问 Elasticsearch 主集群没有任何区别。
服务高可用设计 # 极限网关自带实现了基于 VRRP 协议的浮动 IP，无需依赖第三方外部组件，即可实现双网关节点的主备热切换。</description></item><item><title>INFINI Labs 产品更新 | Console 1.24.0 操作日志审计功能发布</title><link>https://infinilabs.cn/blog/2024/release-20240415/</link><pubDate>Mon, 15 Apr 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/release-20240415/</guid><description>INFINI Labs 产品又更新啦~，包括 Console，Gateway，Agent 1.24.0。本次各产品更新了很多亮点功能，如 Console 增加操作日志审计功能，优化数据探索字段统计，修复 Gateway 增加认证后添加实例失败等问题。以下是本次更新的详细说明。
INFINI Console v1.24.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
Console 本次更新如下：
Features # 用户操作审计日志功能 Bug fix # 修复普通用户权限 403 问题 修复探针管理表格展开显示错位问题 Improvements # 优化开发工具集群选择控件显示位置 优化数据探索查询控件显示宽度 优化数据探索字段统计功能 INFINI Gateway v1.24.0 # INFINI Gateway 是一个面向搜索场景的高性能数据网关，所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。
Gateway 本次更新如下：
Improvements # Refactoring http client tls config Write field routing to bulk metadata when field _routing exists in scrolled doc Bug fix # Fix(reshuffle filter): make sure queue config always have label type Fix rotate config usage INFINI Framework # Improvements # feat: allow to use default auth for agent&amp;rsquo;s auto enroll refactor: refactor func GetFieldCaps feat: register background job to clean up badger LSM tree fix: skip load missing wal 期待反馈 # 欢迎下载体验使用，如果您在使用过程中遇到如何疑问或者问题，欢迎前往 INFINI Labs Github（https://github.</description></item><item><title>回顾 DTC 2024 大会——聚焦数据技术创新：揭秘下一代纯实时搜索引擎 INFINI Pizza</title><link>https://infinilabs.cn/blog/2024/news-20240413/</link><pubDate>Sat, 13 Apr 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/news-20240413/</guid><description>2024 年 4 月 12 日至 13 日，备受瞩目的第十三届“数据技术嘉年华”（DTC2024）在北京新云南皇冠假日酒店盛大开幕。本次大会由中国 DBA 联盟（ACDU）与墨天轮社区联合主办，以“智能·云原生·一体化——DB 与 AI 协同创新，模型与架构融合发展”为主题，旨在推动数据技术的创新与发展，为从业者带来一场知识与技术的盛宴。
在为期两天的活动中，来自业界的 80 余位杰出技术领袖、学术精英、行业实践者以及生态布道者齐聚一堂，共同探讨数据技术的最新趋势、前沿应用与创新实践。与会者们分享了他们对于智能云原生和一体化发展的深刻见解，以及 DB 与 AI 如何协同创新，推动模型与架构的融合发展。
大会现场，极限科技创始人曾勇带来了令人瞩目的演讲，他详细介绍了下一代纯实时搜索引擎 INFINI Pizza。曾勇表示，随着大数据时代的到来，数据的实时处理与搜索成为了行业发展的重要方向。而 INFINI Pizza 正是为了满足这一需求而诞生的创新产品，它采用了先进的设计理念和架构实现，通过自有专利解决海量数据无限伸缩的需求，利用最新的算法和数据结构来充分释放现代硬件的威力，能够实现高效、准确的实时数据搜索能力，满足核心业务场景高并发低延迟的需求，为企业提供可靠稳定的实时搜索基础底座。
部分演讲内容如下：
完整演讲内容请查看 PPT。</description></item><item><title>记某客户的一次无缝数据迁移</title><link>https://infinilabs.cn/blog/2024/seamless-data-migration/</link><pubDate>Fri, 29 Mar 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/seamless-data-migration/</guid><description>背景 # 客户需要将 Elasticsearch 集群无缝迁移到移动云，迁移过程要保证业务的最小停机时间。
实现方式 # 通过采用成熟的 INFINI 网关来进行数据的双写，在集群的切换恢复过程中来记录数据变更，待全量数据恢复之后再追平后面增量数据，追平增量之后，进行校验确保数据一致再进行流量的切换。
总体流程 # 总体迁移流程如下：
客户业务代码，切流量，双写。(新增的变更都会记录在网关本地，但是暂停消费到移动云) 暂停网关移动云这边的增量数据消费。 迁移 11 月的数据，快照，快照上传到 S3 。 下载 S3 的文件到移动云。 恢复快照到移动云的 11 月份的索引。 开启网关移动云这边的增量消费。 等待增量追平（接近追平）。 按照时间条件（如：时间 A，当前时间往前 30 分钟），验证文档数据量，Hash 校验等等。 停业务的写入，网关，腾讯云的写入（10 分钟）。 等待剩余的增量追完。 对时间 A 之后的，增量进行校验。 切换所有流量到移动云，业务端直接访问移动云 ES。 总体的迁移时间：
11 月备份时间（30 分钟）19 号开始 备份下载到移动云的时间（2-3 天） 备份恢复到移动云集群的时间（30 分钟） 11 月份增量备份（20 分钟）（双写开始）（21 号） 11 月份增量下载到移动云（6 小时） 11 月份增量恢复时间（20 分钟） 追增量数据（8 个小时产生的数据，需要 1 个小时） 校验比对（存量 1 个小时） 流量暂停，增量的校验（10 分钟） 切换（1 分钟） 总体流程如下示意图：</description></item><item><title>从 Redis 开源协议变更到 ES 国产化：一次技术自主的机遇</title><link>https://infinilabs.cn/blog/2024/redis-es-alternative/</link><pubDate>Wed, 27 Mar 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/redis-es-alternative/</guid><description>引言 # 近日，Redis Labs 宣布其主导的开源项目 Redis 将采用双重源代码可用许可证（RSALv2）和服务器端公共许可证（SSPLv1）。这一重大决策标志着 Redis 从传统的 BSD 许可证向更加严格的控制权转变，同时也引发了广泛的社区和行业讨论。这不仅是一个关于许可证变更的故事，更是关于开源社区如何响应，以及这一变化如何激发对国产技术探索和发展的深刻思考。Redis，作为最受欢迎的开源键值存储数据库之一，其开源协议的变更反映了开源软件在商业化道路上的挑战和压力。Redis Labs 的 CEO Rowan Trollope 指出，这一变化旨在防止云服务提供商免费使用 Redis 代码，同时促进 Redis 社区的可持续发展和创新。
Redis 协议变更的深远影响 # Redis 决定放弃 BSD 协议，转而采用双重源代码可用许可证（RSALv2 和 SSPLv1），标志着开源界的一个重要转折点。这一变化不仅影响了 Redis 本身，更引发了社区成员和技术行业的激烈讨论，许多人担心这将限制 Redis 的开源精神和广泛应用。然而，也有声音认为，这为其他开源项目，如 KeyDB、Dragonfly 和 Garnet 等，提供了发展的机遇，尤其是在提供与 Redis 兼容的替代解决方案方面。尽管 Redis 的这一变更在技术和法律上引发了争议，它也激发了开源社区对于如何在维护开源精神和寻求商业可持续性之间找到平衡的探索。此外，Redis 团队对于保持客户端库的开源许可和继续支持开源社区版的承诺，展示了一种尝试在新的许可模式下保持开放性和可接入性的方法。由于 Redis 的广泛应用，其协议变更对云服务商、Linux 发行版，甚至整个开源软件生态都产生了不小的冲击。一方面，云服务提供商需要重新评估其服务模型；另一方面，一些 Linux 发行版可能需要考虑将 Redis 从其软件仓库中移除。
ES 国产化的契机 # Redis 开源协议的变更同时也让人们重新审视其他关键技术，特别是 Elasticsearch（ES）的依赖和发展。ES 作为一个强大的搜索和数据分析引擎，在全球范围内被广泛使用。随着对开源项目商业化模式的重新考量，中国开发者和企业开始寻求国产化的 ES 替代品，旨在减少对外部技术的依赖，同时推动国内技术生态的多元化和自主创新。但是国产化的探索并非没有挑战。从技术兼容性、性能优化到社区生态建设，每一步都需要深思熟虑和持续的努力。然而，Redis 的许可证变更为国内技术自主提供了一个独特的视角，鼓励开发者、企业乃至政府机构更加积极地参与到开源技术的本土化和创新中来。Redis 开源协议的变更引发的讨论和行动，凸显了开源社区对于自身未来发展方向的深刻反思。这一变革不仅关乎一个项目的许可模式转变，更触及到开源项目如何在保持开放和自由的同时，寻找到可持续发展的道路。此外，它也促使更多的开源项目和企业思考如何在全球化的技术生态中保持竞争力和影响力。
Easysearch：国产化的新选择 # 针对这一需求，极限科技 隆重推出了 Easysearch 搜索引擎软件，旨在提供一个与 Elasticsearch 兼容的国产化解决方案。Easysearch 不仅支持原生 Elasticsearch 的 DSL 查询语法，还提供了诸多企业级功能的增强，如更高的性能、稳定性和扩展性，以及更加丰富的安全管理和数据压缩功能。这表明，国产化技术的发展不仅是为了替代，更是在原有基础上进行创新和优化。ES 国产化解决方案 Easysearch 的推出，是响应国家对信创、自主可控战略布局的具体行动。通过提供兼容性强、功能丰富且稳定的国产技术替代品，不仅有助于减少对外部技术的依赖，也为国内技术生态的繁荣和创新贡献力量。这一过程中，既涵盖了对现有技术的深入理解和应用，也包含了对新技术、新方法的探索和实践。</description></item><item><title>国产搜索引擎崛起：Elasticsearch 国产化加速</title><link>https://infinilabs.cn/blog/2024/elasticsearch-alternative/</link><pubDate>Fri, 15 Mar 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/elasticsearch-alternative/</guid><description>背景 # 多年来，Elasticsearch（简称：ES） 在搜索领域一直独占鳌头，其卓越的性能和广泛的应用深受国内众多企业的青睐。从查询搜索到数据分析，再到安全分析，Elasticsearch 均展现出了强大的实力。然而，随着 Elasticsearch 的商业化转变，一些潜在的问题逐渐浮现：其不再坚持 Apache 2.0 开源协议，Elastic 公司退出中国直销市场，使得本土企业在获取技术和服务方面面临一定的困扰，同时，面对国家信创、自主可控的战略布局以及国际形势的复杂变化，国内迫切需要一款能够替代 Elasticsearch 的国产化解决方案。
因此，极限科技隆重推出了 Easysearch 搜索引擎软件，旨在作为 Elasticsearch 的国产化替代方案。极限科技致力于在保持与原生 Elasticsearch 高度兼容的基础上，进一步完善企业级功能，并显著提升产品的性能、稳定性和扩展性。
兼容性 # Easysearch 支持原生 Elasticsearch 的 DSL 查询语法，确保原业务代码无需调整即可无缝迁移。同时，极限科技还支持 SQL 查询，为熟悉 SQL 的开发人员提供更加便捷的数据分析方式。此外，Easysearch 兼容 Elasticsearch 的 SDK 和现有索引存储格式，支持冷热架构和索引生命周期管理，确保用户能够轻松实现数据的无缝衔接。
功能增强 # Easysearch 在功能方面进行了全面增强。提供了企业级的安全管理功能，可对接 LDAP、AD 等认证系统，确保数据的安全性。同时，重构了分布式架构，保持系统稳定的同时，能够支持更大规模的数据处理。在不降低性能的前提下，实现了更高压缩比的数据压缩，直接节省磁盘空间 40%以上。此外，Easysearch 还支持 KNN、异步搜索、数据脱敏、可搜索快照、审计等企业级功能，满足用户多样化的需求。
容灾 # 在容灾方面，Easysearch 支持基于 CDC 的集群复制技术和基于请求双写的复制技术，实现同版本间和跨版本的容灾备份，确保数据的可靠性和安全性。
信创 # Easysearch 全面适配国产 CPU 和操作系统，并获得厂家认证，积极响应国家信创、自主可控的战略布局。
迁移方案 # 为了方便用户从 Elasticsearch 迁移到 Easysearch，提供了完善的迁移方案。首先，由于 Easysearch 支持原索引存储格式，用户可以通过快照备份直接恢复到 Easysearch 集群。此外，还提供了迁移工具，用户可以通过可视化操作轻松迁移数据，实现平滑过渡。</description></item><item><title>Easysearch 内核完善之 OOM 内存溢出优化案例一则</title><link>https://infinilabs.cn/blog/2024/easysearch-kernel-improvement-case-study-on-oom-memory-overflow-optmization/</link><pubDate>Sun, 10 Mar 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/easysearch-kernel-improvement-case-study-on-oom-memory-overflow-optmization/</guid><description>最近某客户在使用 Easysearch 做聚合时，报出 OOM 导致掉节点的问题，当时直接让客户试着调整 indices.breaker.request.limit ，但是不起作用，于是又看了下 Easysearch 在断路器相关的代码，并自己测试了下。
断路器的种类和作用 # Easysearch 内部有个 Circuit breaker 机制，目的是防止各种请求的负载过大导致 OutOfMemoryError，比较常用的断路器有 7 种，分别是：
Parent circuit breaker 父断路器 Field data circuit breaker fielddata 断路器 Request circuit breaker 请求断路器 In flight requests circuit breaker 传输请求断路器 Accounting requests circuit breaker lucene 内存占用断路器 Script compilation circuit breaker 脚本编译断路器 Regex circuit breaker 正则表达式断路器 其中在执行消耗内存较多的聚合查询时，Request circuit breaker 用得最多。
复现测试 # 我在模拟客户场景测试聚合查询时，发现断路器并没有覆盖查询的整个流程，仍然会有 OOM 的风险。我测试了一个高基数 5 百万的 Terms aggregation，就没有触发断路，而是在等待了 1 分多钟后直接 OOM 了。我的测试环境是单节点 内存配置为 -Xmx1g，测试索引只有 1 个 shard。</description></item><item><title>OpenSearch 与 Elasticsearch：哪个开源搜索引擎适合您？</title><link>https://infinilabs.cn/blog/2024/opensearch-vs-elasticsearch-which-open-source-search-engine-is-right-for-you/</link><pubDate>Sun, 03 Mar 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/opensearch-vs-elasticsearch-which-open-source-search-engine-is-right-for-you/</guid><description>当谈论到搜索引擎产品时，Elasticsearch 和 OpenSearch 是两个备受关注的选择。它们都以其出色的功能和灵活性而闻名，但在一些方面存在一些差异。在本文中，我们将从功能和延展性、工具与资源、价格和许可这三个角度对这两个产品进行论述。通过深入研究它们的特点和优势，您将能够更好地了解它们，从而为您的搜索需求做出明智的选择。让我们开始探索 Elasticsearch 和 OpenSearch 的世界，以便您能够为自己的项目或业务找到最佳的搜索解决方案。
功能和延展性 # Elasticsearch 是一个功能强大的搜索引擎，它支持全文搜索、实时数据分析、数据聚合和可视化等功能。
分布式架构：它使用分布式架构，可以处理大规模数据集，并以快速的速度返回查询结果。 多种查询类型和过滤器：提供多种查询类型和过滤器，使用户能够进行复杂的数据分析和检索。 高可用性和容错性：提供高可用性和容错性，通过复制和分片机制来确保数据的安全性和可靠性。 强大的插件生态系统：帮助用户处理映射、分析、脚本引擎和发现等任务。通过使用这些插件，用户可以根据其特定的数据处理和分析需求进行功能扩展和定制。 OpenSearch 是从 Elasticsearch 分叉出来的版本，因此在许多方面与 Elasticsearch 相似。它保留了 Elasticsearch 的核心功能，并加入了一些新的功能和扩展性。下面主要讨论一些差异点：
开源性和社区参与：OpenSearch 更注重开源性和社区参与，鼓励用户共同开发和改进系统。 功能差异：OpenSearch 提供了一些额外的免费功能，如集中用户账户/访问控制、交叉集群复制、IP 过滤、可配置的数据保留期、异常检测、Tableau 连接器、JDBC 驱动程序、ODBC 驱动程序以及回归和分类等机器学习功能。 插件生态系统差异：OpenSearch 中的某些功能作为插件捆绑在一起，需要用户额外学习和适应新工具。 服务与支持 # Elasticsearch 拥有丰富的工具和资源，使用户能够更好地使用和管理搜索引擎。
配套工具：丰富的生态系统，Logstash 用于数据摄取和转换，可以帮助用户为非结构化数据添加结构，进行字段匿名处理，并解析 IP 地址以获取位置信息。Beats 是一个专注于数据传输的工具，可以将数据从数千台机器发送到 Logstash 或 Elasticsearch。
完善的文档资料和培训资源：
a. 官方网站提供了产品指南、教程视频、博客文章、讨论论坛等丰富的学习材料。
b. Elastic 还提供了 Slack 频道、YouTube 频道、以及定期举办的在线研讨会和培训活动，为用户提供即时的答疑和学习机会。
c. 广泛的支持服务，包括社区支持、商业支持和培训服务。
OpenSearch 配套工具延展性更好，但是在学习资料和用户培训方面存在大部分空白，目前的服务与支持模式主要依赖于社区。</description></item><item><title>搜索型数据库的技术发展历程与趋势前瞻</title><link>https://infinilabs.cn/blog/2024/the-technological-development-and-future-trends-of-search-oriented-databases/</link><pubDate>Sun, 03 Mar 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/the-technological-development-and-future-trends-of-search-oriented-databases/</guid><description>概述 # 随着数字科技的飞速发展和信息量的爆炸性增长，搜索引擎已成为我们获取信息的首选途径之一，典型的代表厂商如 Google。然而，随着用户需求的不断演变，传统的搜索技术已经无法满足人们对信息的实时性、个性化和多样性的需求。
在企业内部，这种需求更加显著。随着企业数字化转型的持续深化，非结构化数据正日益成为各类组织数据增长的主要来源，也是数据体系中至关重要的组成部分，蕴含着巨大的价值。如何高效地存储和利用非结构化数据的重要性也日益凸显。企业需要更高效地管理和检索内部的海量数据，以支持业务决策和运营需求。
据 IDC 数据预计，到 2025 年，80%的数据将是非结构化数据；而根据 Gartner 的数据显示，从 2019 年到 2024 年，非结构化数据容量预计将增加两倍。然而，目前非结构化数据面临着表现形式多样、管理复杂性高、价值挖掘难度大等诸多挑战。传统的数据库系统往往无法满足企业对实时性和多样性的搜索需求，为了解决这些挑战，以自动分词、倒排索引、相关度计算、向量检索引擎等技术为核心构建的搜索型数据库应运而生。这些数据库自上世纪 90 年代诞生以来不断发展演进，正在成为数据库领域中不可或缺的一个重要分支。
什么是搜索型数据库？ # 搜索型数据库早期又称全文数据库，或者企业搜索引擎，是一种专门用于存储和管理大规模文本数据，并支持高效的文本搜索和信息检索的数据库系统，不过随着技术不断发展和应用场景日益丰富，目前搜索型数据库不仅仅可以处理长文本数据，也可以处理常见的数值、日期等结构化数据，IP、地理位置信息、图片、音视频等非结构化数据，搜索型数据库的应用范畴不断拓展，正在由支撑业务系统检索加速、IT 运维可观测性、聚合查询分析等向多场景、多模态数据搜索方向发展。
典型的搜索数据库一般具有以下特点：
灵活的索引能力：搜索数据库能够处理多种类型的数据，包括文本、图像、音频、视频等非结构化数据。它们采用自动分词、倒排索引等技术，能够高效地处理不同格式和类型的数据，提供灵活的搜索和检索功能。 高效的查询性能：搜索数据库具有高效的查询处理能力，能够快速索引和检索大规模的数据。借助优化的索引结构和查询算法，搜索数据库能够在短时间内准确地返回与查询相关的结果，提高用户的搜索效率，常用于解决关系型数据库的高并发检索需求。 支持复杂的搜索功能：搜索数据库提供多样化的搜索功能，包括全文检索、模糊搜索、精确搜索、范围搜索、向量搜索、地理信息检索等。用户可以根据不同的需求和场景，灵活地选择和组合不同的搜索功能，以获取符合期望的搜索结果。 高性能和可扩展性：搜索数据库具有高性能和可扩展性的特点，能够处理大规模数据和高并发访问。它们采用分布式架构和并行计算技术，实现了水平扩展，能够满足不断增长的数据量和用户访问量的需求。 综上所述，搜索数据库具有处理非结构化数据、实时搜索和更新、多样化的搜索功能、个性化推荐和智能搜索、高性能和可扩展性、全面的搜索结果展示等特点，是处理大规模数据和提供高效搜索服务的重要工具。
搜索型数据库的应用场景 # 搜索型数据库在各行各业都有广泛的应用，以下是一些典型的应用场景：
零售和电商：在零售和电商行业，搜索型数据库被广泛应用于产品搜索和推荐系统中。通过搜索功能，顾客可以轻松查找所需商品，而个性化推荐系统则可以根据用户的搜索历史和行为习惯推荐相关的产品，提高购物体验和交易转化率。 医疗保健：在医疗保健行业，搜索型数据库被用于医学文献检索、疾病诊断和药物搜索等方面。医生和研究人员可以利用搜索功能找到相关的医学文献和研究成果，帮助诊断疾病和制定治疗方案。 金融服务：在金融服务行业，搜索型数据库被用于金融数据检索、市场分析和投资决策等方面。投资者可以通过搜索功能查找相关的金融数据和市场资讯，帮助他们做出更加准确的投资决策。 制造业：在制造业中，搜索型数据库被用于生产过程监控、质量控制和故障诊断等方面。工程师可以利用搜索功能查找相关的生产数据和技术资料，帮助他们解决生产中的问题和挑战。 媒体和娱乐：在媒体和娱乐行业，搜索型数据库被用于内容检索、版权管理和用户推荐等方面。用户可以通过搜索功能查找感兴趣的新闻、音乐和视频等内容，而个性化推荐系统则可以根据用户的搜索历史和偏好推荐相关的内容。 教育和培训：在教育和培训行业，搜索型数据库被用于学习资源检索、课程管理和学习分析等方面。学生和教师可以利用搜索功能查找相关的学习资源和课程内容，而学习分析系统则可以分析学生的搜索行为和学习表现，为教学提供参考和支持。 IT 运维可观测性：通过搜索型数据库，可以实时监控系统的运行状况、性能指标和日志数据，帮助运维团队及时发现和解决系统故障、性能问题和异常情况，确保系统的稳定运行。 安全监测和威胁检测：利用搜索型数据库对系统的安全日志进行审计和监控，监测用户的访问行为和系统操作，及时发现异常行为和安全事件。同时，搜索型数据库还可以与威胁情报数据集成，对内部日志数据进行关联分析，快速识别并应对各种安全威胁和攻击行为，保障系统和数据的安全。 综上所述，搜索型数据库在各行各业都发挥着重要作用，数据规模从 GB 到 PB 不等，体现在生活中的方方面面，为用户提供了高效、准确和个性化的信息搜索和检索服务，推动了各行业的发展和进步。随着搜索技术的不断创新和发展，搜索型数据库在各行业中的应用将会越来越广泛，并持续为用户带来更加便捷和智能的搜索体验。
搜索型数据库的发展历程 # 搜索型数据库的发展历程可以概括如下四个阶段：
起步阶段（1990 年代）：搜索数据库的雏形开始于上世纪 90 年代，当时以全文检索为主要技术手段，最初用于文档检索和网络搜索。典型代表包括 AltaVista、Excite 等。 技术突破（2000 年代）：随着互联网的快速发展，搜索数据库开始应用于更多领域，如电子商务、社交网络等。Lucene、Sphinx 等开源搜索引擎的出现推动了搜索技术的进步。 商业化发展（2010 年代）：搜索数据库进入商业化阶段，以 Elasticsearch 等为代表的商业搜索引擎崭露头角。企业开始大规模应用搜索数据库来管理和检索大量数据。 智能化转型（2020 年代）：随着人工智能技术的发展，搜索数据库逐渐向智能化转型，开始引入机器学习、自然语言处理等技术，提供个性化推荐和智能搜索服务。同时，搜索数据库也在更多领域得到应用，如医疗保健、金融服务等。 综上所述，搜索数据库经历了从起步阶段到技术突破、商业化发展再到智能化转型的发展历程，表明了其在信息检索领域的重要性和不断演进的趋势，不并断推动着搜索技术的进步和应用范围的扩展。随着人工智能技术的不断成熟，搜索数据库将会在智能化、个性化等方面取得更大的进步，为用户提供更加优质的搜索体验。</description></item><item><title>INFINI Labs 产品更新 | Easysearch 1.7.1发布</title><link>https://infinilabs.cn/blog/2024/release-20240301/</link><pubDate>Fri, 01 Mar 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/release-20240301/</guid><description>INFINI Labs 产品又更新啦~，包括 Console，Gateway，Agent 1.23.0 和 Easysearch 1.7.1。此次版本重点修复历史遗留 Bug 、网友们提的一些需求等。以下是本次更新的详细说明。
INFINI Console v1.23.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
Console 本次更新如下：
Bug fix # 修复数据迁移中数据分片范围因精度导致数据溢出显示为负数 修复删除实例队列后消费的 Offset 未重置问题 修复网友提出的各种问题，如集群设置默认打开节点、索引采集等 Improvements # 优化初始化配置向导，分步骤执行 优化实例管理中增加磁盘空闲空间显示 优化实例队列名称显示 INFINI Gateway v1.23.0 # INFINI Gateway 是一个面向搜索场景的高性能数据网关，所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。
Gateway 本次更新如下：
Bug fix # 修复删除实例队列后消费的 Offset 未重置问题 INFINI Easysearch v1.7.1 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。</description></item><item><title>Stable Diffusion 解析：探寻 AI 绘画背后的科技神秘</title><link>https://infinilabs.cn/blog/2024/stable-diffusion-analysis_unveiling-the-tech-magic-behind-ai-art/</link><pubDate>Sat, 24 Feb 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/stable-diffusion-analysis_unveiling-the-tech-magic-behind-ai-art/</guid><description>AI 绘画发展史 # 在谈论 Stable Diffusion 之前，有必要先了解 AI 绘画的发展历程。
早在 2012 年，华人科学家吴恩达领导的团队训练出了当时世界上最大的深度学习网络。这个网络能够自主学习识别猫等物体，并在短短三天时间内绘制出了一张模糊但可辨识的猫图。尽管这张图片很模糊，但它展示了深度学习在图像识别方面的潜力。
到了 2014 年，加拿大蒙特利尔大学的谷歌科学家 Ian Goodfellow 提出了生成对抗网络 GAN 的算法，这一算法一度成为 AI 生成绘画的主流方向。GAN 的原理是通过训练两个深度神经网络模型——生成器 Generator 和判别器 Discriminator ，使得生成器能够生成与真实数据相似的新数据样本，并且判别器可以准确地区分生成器生成的假样本和真实数据。GAN 的核心思想是博弈，生成器试图欺骗判别器，而判别器则努力辨别真伪，二者相互对抗、相互协作，最终实现高质量的数据生成效果。
2016 年，基于 GAN 的第一个文本到图像模型 GAN-INT-CLS 问世，证明了 GAN 在从文本生成图像方面的可行性，为各类基于 GAN 的有条件图像生成模型的涌现打开了大门。然而，GAN 在训练过程中很容易出现不稳定或崩溃的情况，因此难以大规模应用。
同年 10 月，NVIDIA 提出了 ProgressiveGAN，通过逐渐增加神经网络规模生成高分辨率图像，从而降低了模型训练难度并提高了生成质量，为后来的 StyleGAN 的崛起铺平了道路。
2017 年，谷歌发表了著名论文《Attention Is All You Need》，提出了 Transformer 结构，随后在自然语言处理领域大放异彩；虽然 Transformer 是为了解决自然语言处理问题而设计的，但它在图像生成领域也显示了巨大的潜力。2020 年，他们又提出了 ViT 概念，尝试用 Transformer 结构替代传统的卷积神经网络 CNN 结构在计算机视觉中的应用。
2020 年出现了转折。加州大学伯克利分校提出了众所周知的去噪扩散概率模型 DDPM，简化了原有模型的损失函数，将训练目标转变为预测当前步添加的噪声信息，极大降低了训练难度，并将网络模块由全卷积网络替换为 Unet，提升了模型的表达能力。
2021 年 1 月，OpenAI 发布了基于 VQVAE 模型的 DALL-E 和 CLIP 模型 Contrastive Language-Image Pre-Training，它们分别用于文本到图像生成和文本与图像之间的对比学习。这让 AI 似乎第一次真正“理解”了人类的描述并进行创作，激发了人们前所未有的对 AI 绘画的热情。2021 年 10 月，谷歌发布的 Disco Diffusion 模型以其惊人的图像生成效果拉开了扩散模型的时代序幕。</description></item><item><title>如何防止 ES 服务 OOM ？</title><link>https://infinilabs.cn/blog/2024/how-to-prevent-es-oom/</link><pubDate>Thu, 22 Feb 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/how-to-prevent-es-oom/</guid><description>ES 和传统关系型数据库有很多区别， 比如传统数据中普遍都有一个叫“最大连接数”的设置。目的是使数据库系统工作在可控的负载下，避免出现负载过高，资源耗尽，谁也无法登录的局面。
那 ES 在这方面有类似参数吗？答案是没有，这也是为何 ES 会被流量打爆的原因之一。
针对大并发访问 ES 服务，造成 ES 节点 OOM，服务中断的情况，极限科技旗下的 INFINI Gateway 产品（以下简称 “极限网关”）可从两个方面入手，保障 ES 服务的可用性。
限制最大并发访问连接数。 限制非重要索引的请求速度，保障重要业务索引的访问速度。 下面我们来详细聊聊。
架构图 # 所有访问 ES 的请求都发给网关，可部署多个网关。
限制最大连接数 # 在网关配置文件中，默认有最大并发连接数限制，默认最大 10000。
entry: - name: my_es_entry enabled: true router: my_router max_concurrency: 10000 network: binding: $[[env.GW_BINDING]] # See `gateway.disable_reuse_port_by_default` for more information. reuse_port: true 使用压测程序测试，看看到达 10000 个连接后，能否限制新的连接。
超过的连接请求，被丢弃。更多信息参考 官方文档。
限制索引写入速度 # 我们先看看不做限制的时候，测试环境的写入速度，在 9w - 15w docs/s 之间波动。虽然峰值很高，但不稳定。</description></item><item><title>用 Easysearch 帮助大型车企降本增效</title><link>https://infinilabs.cn/blog/2024/using-ezs-to-help-automotive-companies-reduce-costs/</link><pubDate>Thu, 01 Feb 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/using-ezs-to-help-automotive-companies-reduce-costs/</guid><description>最近某头部汽车集团需要针对当前 ES 集群进行优化，背景如下：
ES 用于支撑包括核心营销系统、管理支持系统、财务类、IT 基础设施类、研发、自动驾驶等多个重要应用，合计超 50 余套集群，累计数据超 1.5PB 。
本文针对其中一个 ES 集群进行分享，该集群原本使用的是 ES 7.3.2 免费版，数据已经 130TB 了，14 个节点。写入数据时经常掉节点，写入性能也不稳定，当天的数据写不完。迫切需要新的解决方案。
分析业务场景后总结需求要点：主要是写，很少查。审计需求，数据需要长期保存。
这个需求比较普遍，处理起来也很简单：
使用 Easysearch 软件，只需少量节点存储近两天的数据。 索引设置开启 ZSTD 压缩功能，节省磁盘空间。 每天索引数据写完后，第二天执行快照备份存放到 S3 存储。 备份成功后，删除索引释放磁盘空间。 需要搜索数据时，直接从快照搜索。 将近期的数据，存放到本地磁盘，保障写入速度。写入完毕的索引，在执行快照备份后，可删除索引，释放本地磁盘空间。
Easysearch 配置要点 # path.repo: [&amp;quot;/S3-path&amp;quot;] node.roles: [&amp;quot;data&amp;quot;,&amp;quot;search&amp;quot;] node.search.cache.size: 500mb path.repo : 指定 S3 存储路径，上传快照用。 node.roles : 只有 search 角色的节点，才能去搜索快照中的数据。 node.search.cache.size : 执行快照搜索时的，缓存大小。 更多信息请参考 官方文档。
旧数据迁移 # 通过 console 将原 ES 集群的数据，迁移到新 Easysearch 集群。迁移时，复制 mapping 和 setting，并在 setting 中添加如下设置。</description></item><item><title>INFINI Labs 产品更新 | Consoel / Gateway / Agent 统一版本号</title><link>https://infinilabs.cn/blog/2024/release-20240126/</link><pubDate>Fri, 26 Jan 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/release-20240126/</guid><description>INFINI Labs 产品又更新啦~，包括 Console，Gateway，Loadgen，Agent 1.22.0。为了避免版本不同带来的困扰，以后发布均统一版本号，此次版本重点修复历史遗留 Bug 、优化内存占用等。以下是本次更新的详细说明。
INFINI Console v1.22.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
Console 本次更新如下：
Bug fix # 修复迁移任务场景实例状态字段字段不断占用问题 修复 Agent 实例管理分布参数丢失问题 修改 Overview 页面指标首尾过大导致显示异常问题 Improvements # 统一版本号 优化组件依赖关系 INFINI Gateway v1.22.0 # INFINI Gateway 是一个面向搜索场景的高性能数据网关，所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。
Gateway 本次更新如下：
Bug fix # 修复更新默认 EOF 最大重试次数的问题 Improvements # 与 INFINI Console 统一版本号 优化字节池 限制在途请求大小 添加条目限制 期待反馈 # 欢迎下载体验使用，如果您在使用过程中遇到如何疑问或者问题，欢迎前往 INFINI Labs Github（https://github.</description></item><item><title>Easysearch：语义搜索、知识图和向量数据库概述</title><link>https://infinilabs.cn/blog/2024/semantic-search-knowledge-graph-vector-databases/</link><pubDate>Mon, 22 Jan 2024 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2024/semantic-search-knowledge-graph-vector-databases/</guid><description>什么是语义搜索？ # 语义搜索是一种使用自然语言处理算法来理解单词和短语的含义和上下文以提供更准确的搜索结果的搜索技术。旨在更好地理解用户的意图和查询内容，而不仅仅是根据关键词匹配，还通过分析查询的语义和上下文来提供更准确和相关的搜索结果。
传统的关键词搜索主要依赖于对关键词的匹配，而忽略了查询的含义和语境。但语义搜索的优点在于它可以更好地满足用户的意图，尤其是对于复杂的查询和问题。它能够理解查询的上下文，处理模糊或不完整的查询，并提供更相关和有用的搜索结果。例如，当用户搜索&amp;quot;最近的餐厅&amp;quot;时，语义搜索可以根据用户的位置信息和上下文，提供附近的餐厅列表，而不仅仅是简单地匹配关键词&amp;quot;最近&amp;quot;和&amp;quot;餐厅&amp;quot;。
语义搜索的历史 # 语义搜索的概念可以追溯到计算机科学的早期，在 20 世纪 50 年代和 1960 年代就有人尝试开发自然语言处理系统。然而，直到 20 世纪 90 年代和 2000 年代，语义搜索领域才取得了重大进展，这在一定程度上要归功于机器学习和人工智能的进步。
语义搜索最早的例子之一是 Douglas Lenat 在 1984 年创建的 Cyc 项目。该项目旨在建立一个全面的常识知识本体或知识库，可用于理解自然语言查询。虽然 Cyc 项目面临诸多挑战，最终没有实现其目标，但它为未来语义搜索的研究奠定了基础。
20 世纪 90 年代末，Ask Jeeves（现称为 Ask.com）等搜索引擎开始尝试自然语言查询和语义搜索技术。这些早期的努力受到当时技术的限制，但它们展示了更复杂的搜索算法的潜力。
2000 年代初 Web 本体语言 (OWL) 的发展提供了一种以机器可读格式表示知识和关系的标准化方法，使得开发语义搜索算法变得更加容易。2008 年被微软收购的 Powerset 和 2007 年推出的 Hakia 等公司开始使用语义搜索技术来提供更相关的搜索结果。
如今，许多搜索引擎和公司正在使用语义搜索来提高搜索结果的准确性和相关性。其中包括于 2012 年推出知识图谱的谷歌，以及使用语义搜索为其 Alexa 虚拟助手提供支持的亚马逊。随着人工智能领域的不断发展，语义搜索可能会变得更加复杂且适用于广泛的应用。
语义搜索的最新改进 # 语义搜索的最新改进有助于进一步推动该领域的发展。一些最值得注意的包括：
基于 Transformer 的模型：基于 Transformer 的模型，例如 BERT（来自 Transformers 的双向编码器表示），彻底改变了自然语言处理和语义搜索。这些模型能够更好地理解单词和短语的上下文，从而更容易提供更相关的搜索结果。
多模态搜索：多模态搜索是指跨文本、图像、视频等多种模式搜索信息的能力。机器学习的最新进展使得开发更准确、更复杂的多模态搜索算法成为可能。
对话式搜索：对话式搜索涉及使用自然语言处理和机器学习来为用户查询提供更准确、更人性化的响应。这项技术已经被用于虚拟助手，例如亚马逊的 Alexa 和苹果的 Siri。</description></item><item><title>INFINI Labs 产品更新 | Console 数据迁移支持 Percentiles 均匀分区</title><link>https://infinilabs.cn/blog/2023/release-20231229/</link><pubDate>Fri, 29 Dec 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20231229/</guid><description>INFINI Labs 产品又更新啦~，包括 Console v1.14.0，Gateway 1.21.0。其中 Console 数据迁移支持 Percentiles 均匀分区，修复已知 Bug 等。以下是本次更新的详细说明。
INFINI Console v1.14.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
Console 本次更新如下：
Features # 数据迁移支持 decimal 类型分区设置 数据迁移支持 number 类型均匀分区 Bug fix # 修复告警恢复后，新周期内没有发送告警通知消息的问题 INFINI Gateway v1.21.0 # INFINI Gateway 是一个面向搜索场景的高性能数据网关，所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。
Gateway 本次更新如下：
Bug fix # fix log error when temp file was missing INFINI Framework # INFINI Framework 是 INFINI Labs 各产品依赖的内部核心公共代码库。</description></item><item><title>开启安全功能 ES 集群就安全了吗？</title><link>https://infinilabs.cn/blog/2023/prevent-brute-force-attacks-using-gateway/</link><pubDate>Tue, 26 Dec 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/prevent-brute-force-attacks-using-gateway/</guid><description>背景 # 经常跟 ES 打交道的朋友都知道，现在主流的 ES 集群安全方案是：RBAC + TLS for Internal + HTTPS 。
作为终端用户一般只需要关心用户名和密码就行了。作为管理和运维 ES 的人员来说，可能希望 ES 能提供密码策略来强制密码强度和密码使用周期。遗憾的是 ES 对密码强度和密码使用周期没有任何强制要求。如果不注意，可能我们天天都在使用“弱密码”或从不修改的密码（直到无法登录）。而且 ES 对连续的认证失败，不会做任何处理，这让 ES 很容易遭受暴力破解的入侵。
那还有没有别的办法，进一步提高安全呢？
其实，网关可以来帮忙。
虽然网关无法强制提高密码复杂度，但可以提高 ES 集群被暴力破解的难度。 大家都知道，暴力破解&amp;ndash;本质就是不停的“猜”你的密码。以现在的 CPU 算力，一秒钟“猜”个几千上万次不过是洒洒水，而且 CPU 监控都不带波动的，很难发现异常。从这里入手，一方面，网关可以延长认证失败的过程&amp;ndash;延迟返回结果，让破解不再暴力。另一方面，网关可以记录认证失败的情况，做到实时监控，有条件的告警。一旦出现苗头，可以使用网关阻断该 IP 或用户发来的任何请求。
场景模拟 # 首先，用网关代理 ES 集群，并在 default_flow 中增加一段 response_status_filter 过滤器配置，对返回码是 401 的请求，跳转到 rate_limit_flow 进行降速，延迟 5 秒返回。
- name: default_flow filter: - elasticsearch: elasticsearch: prod max_connection_per_node: 1000 - response_status_filter: exclude: - 401 action: redirect_flow flow: rate_limit_flow - name: rate_limit_flow filter: - sleep: sleep_in_million_seconds: 5000 其次，对于失败的认证，我们可以通过 Console 来做个看板实时分析，展示。</description></item><item><title>INFINI Gateway 如何防止大跨度查询</title><link>https://infinilabs.cn/blog/2023/prevent-large-span-query-using-gateway/</link><pubDate>Tue, 19 Dec 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/prevent-large-span-query-using-gateway/</guid><description>背景 # 业务每天生成一个日期后缀的索引，写入当日数据。 业务查询有时会查询好多天的数据，导致负载告警。 现在想对查询进行限制&amp;ndash;只允许查询一天的数据（不限定是哪天），如果想查询多天的数据就走申请。
技术分析 # 在每天一个索引的情况下，要进行多天的数据查询，有三种途径：
查询时，指定多个索引 查询时，写前缀+*号，模糊匹配多个索引 查询别名，别名关联多个索引 需求实现 # 我们只需用网关代理 ES 集群，并在 default_flow 中增加一段 request_path_filter 过滤器的配置，只允许查询一个索引且格式如 &amp;ldquo;xxx-2023-12-06&amp;rdquo;, &amp;ldquo;xxx.2023.12.06&amp;rdquo;, &amp;ldquo;xxx20231206&amp;rdquo; 。
- request_path_filter: message: &amp;quot;Query scope exceeds limit, please contact the administrator for application.&amp;quot; must: suffix: - _search regex: - \/[a-z]+[-.]?\d{4}[-.]?\d{1,2}[-.]?\d{1,2}\/ 如果需要指定其他格式，请自行修改 regex 的正则表达式。
创建测试索引 # 在 INFINI Console 开发工具中执行下列语句：
POST test-2023-12-06/_doc { &amp;quot;test&amp;quot;:&amp;quot;test&amp;quot; } POST test-2023-12-6/_doc { &amp;quot;test&amp;quot;:&amp;quot;test&amp;quot; } POST test.</description></item><item><title>INFINI Labs 产品更新 | Easysearch 新增快照搜索功能，Console 支持 OpenSearch 存储</title><link>https://infinilabs.cn/blog/2023/release-20231215/</link><pubDate>Fri, 15 Dec 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20231215/</guid><description>INFINI Labs 产品又更新啦~，包括 Easysearch v1.7.0、Console v1.13.0。本次各产品更新了 Easysearch 快照搜索功能；Console 支持 OpenSearch 集群存储系统数据、优化了初始化安装向导流程等。
以下是本次更新的详细说明。
INFINI Easysearch v1.7.0 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Features # 发布快照搜索功能 Beta 版本，此功能旨在提高对已备份数据的使用效率。让用户利用对象存储（如 AWS S3、MinIO、Microsoft Azure Storage、Google Cloud Storage 等）技术来大幅降低存储成本。
Bug fix # 修复单个节点场景下，从快照恢复多个 shard 的索引时，恢复不完整的问题 修复无法删除索引已关联的 ILM 策略问题 Improvements # 初始化脚本优化，新增重复执行判断 INFINI Console v1.12.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。</description></item><item><title>极限科技（INFINI labs）荣获中国信通院大数据“星河”标杆案例</title><link>https://infinilabs.cn/blog/2023/news-20231211/</link><pubDate>Mon, 11 Dec 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20231211/</guid><description>12 月 6 日，由中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会（CCSA TC601）共同组织的 2023 大数据“星河（Galaxy）”案例评选结果正式公示。极限数据（北京）有限公司（INFINI Labs）与中移互联网有限公司、中移（苏州）软件技术有限公司移动云搜索数据库案例荣选为数据库标杆案例。
历经多环节严苛评审，从累计 706 份申报项目中脱颖而出，荣获数据库标杆案例。党中央、国务院高度重视大数据产业发展，推动实施国家大数据战略。为更好推进大数据技术产品及相关产业的繁荣，充分发挥数据作为生产要素的独特价值，大数据“星河（Galaxy）”案例征集活动迄今已成功举办 7 届，在业内具有较强的权威性和影响力。案例征集自 9 月启动以来，受到了业界广泛关注和踊跃报名，共收到申报项目 706 份，涵盖行业数据应用、数据安全、数据要素流通、数据资产管理、数据库、以及数据向善六大方向。
由极限数据（北京）有限公司（INFINI Labs）联合中移互联网有限公司、中移（苏州）软件技术有限公司联合申报移动云搜索数据库案例,基于移动云数据库，首创多集群协同模式，同时通过优化 ES 批量写入及分拆重组技术，实现数量级下数据高性能存取，为云盘日志搜索分析和监控告警及通过语义分析的智能关联搜索奠定海量存储及高性能查询基；产出 PB 级数据高性能存取标准解决方案，助力云能力中心搜索引擎产品体系化能力沉淀；进一步升级泛在云存储底座能力，助力行业数字化转型，具有较高的经济价值和社会价值。
未来，极限科技将继续深耕大数据搜索领域，以创新为驱动，不断推动大数据搜索技术的进步和发展。同时，也将加强与各行业合作伙伴的深度合作，共同推动大数据搜索技术的进步和发展，为用户提供更优质、更全面的大数据解决方案。</description></item><item><title>INFINI Labs 产品更新 | 修复 Easysearch 跨集群复制索引同步问题，Gateway 内存异常增长等问题</title><link>https://infinilabs.cn/blog/2023/release-20231201/</link><pubDate>Fri, 01 Dec 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20231201/</guid><description>INFINI Labs 产品又更新啦~，本次更新主要对 Easysearch、Gateway、Console、Agent 等产品功能进行优化和相关 Bug 修复，解决了内存异常增长等问题，以下是详细说明。
INFINI Easysearch v1.6.2 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Bug fix # 修复跨集群复制（CCR）不能对自动滚动生成的索引进行同步的问题 Improvements # 优化初始化脚本，增加-s/-slient 参数，自动安装。 新增含 Java JDK 和 plugins 的 bundle 安装包 INFINI Gateway v1.20.0 # INFINI Gateway 是一个面向搜索场景的高性能数据网关，所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。
Gateway 本次更新如下：
Bug fix # 修复由 Framework Bug 造成连接数不释放、内存异常增长的问题 Improvements # 增加配置，允许设置 fasthttp client 相关参数 INFINI Console v1.</description></item><item><title>使用极限网关助力 ES 集群无缝升级、迁移上/下云</title><link>https://infinilabs.cn/blog/2023/migrate-to-cloud-using-gateway/</link><pubDate>Thu, 30 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/migrate-to-cloud-using-gateway/</guid><description>在工作中大家可能会遇到以下这些场景：
自建 ES 集群需要平滑迁移到 XX 云； 从 XX 云将 ES 集群迁移到自建机房； ES 集群进行跨版本升级，同时保留回退能力； 这些场景往往都还有个共同的需求：迁移过程要保证业务的最小停机时间。
幸运的是，在这三个场景中，我们都能使用极限网关来帮助我们进行更丝滑的迁移或升级。下面，我们以迁移 ES 集群上云为例，介绍下整个工作过程。
自建版本： 5.4.2 云上版本： 5.6.16 Gateway 和 Console 建议用最新版本 迁移架构 # 通过将应用端流量走网关的方式，请求同步转发给自建 ES，网关记录所有的写入请求，并确保顺序在 XX 云 ES 上重放请求，两侧集群的各种故障都妥善进行了处理，从而实现透明的集群双写，实现安全无缝的数据迁移。
业务端如果已经部署在云上，可以使用云上的 SLB 服务来访问网关，确保后端网关的高可用，如果业务端和极限网关还在企业内网，可以使用极限网关自带的 4 层浮动 IP 来确保网关的 高可用 。
执行步骤 # 部署 INFINI Gateway # 为了保证数据的无缝透明迁移，通过网关来进行双写。
系统调优
安装 INFINI Gateway
修改网关配置
在此 下载 网关双写配置，默认网关会加载配置文件 gateway.</description></item><item><title>INFINI Easysearch 与华为鲲鹏完成产品兼容互认证</title><link>https://infinilabs.cn/blog/2023/news-20231126/</link><pubDate>Sun, 26 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20231126/</guid><description>何为华为鲲鹏认证 # 华为鲲鹏认证是华为云围绕鲲鹏云服务（含公有云、私有云、混合云、桌面云）推出的一项合作伙伴计划，旨在为构建持续发展、合作共赢的鲲鹏生态圈，通过整合华为的技术、品牌资源，与合作伙伴共享商机和利益，助力合作伙伴与华为联合打造基于鲲鹏的联合解决方案，改变国产 IT 长期低附加值与高定制化的现状，重塑国产 IT 生态体系。据了解，面向不同的招商展示需求，如何应用华为云服务，让技术更好地实现可视化以满足客户要求，展现高质量展示效果，是本测试的重点。
追求极限 # 极限科技研发的 INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，同时也是一款具备自主可控的分布式近实时搜索型数据库产品，具备高性能、高可用、弹性伸缩、高安全性等特性，具备支持丰富的个性化搜索及聚合分析能力，可部署在物理机、虚拟机、容器、私有云和公有云，能承载 PB 级别的海量业
此次极限科技 INFINI Easysearch 搜索引擎软件 V1.0 与华为鲲鹏完成兼容性测试，并取得了令人满意的成果。
此次兼容适配基于 华为技术有限公司 Kunpeng 920 Taishan 200，在测试过程中，INFINI Easysearch 展现出了良好的整体稳定性。经过对产品性能、兼容性、安全性和稳定性的测试，双方达到了预期目标，应用流畅、高效稳定，特授予 KUNPENG COMPATIBLE 证书，并授权使用认证徽标。
此次通过华为鲲鹏的兼容适配联合认证，标志着 INFINI Easysearch 在国产化的道路上又迈出了一步。未来，极限科技将积极参与国产创新技术生态的建设，坚持自主可控安全可靠，深化对国产化软硬件技术栈的支持能力，为用户提供更加优质、稳定、高效、安全的产品与服务。</description></item><item><title>INFINI Console 与华为鲲鹏完成产品兼容互认证</title><link>https://infinilabs.cn/blog/2023/news-20231125/</link><pubDate>Sat, 25 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20231125/</guid><description>何为华为鲲鹏认证 # 华为鲲鹏认证是华为云围绕鲲鹏云服务（含公有云、私有云、混合云、桌面云）推出的一项合作伙伴计划，旨在为构建持续发展、合作共赢的鲲鹏生态圈，通过整合华为的技术、品牌资源，与合作伙伴共享商机和利益，助力合作伙伴与华为联合打造基于鲲鹏的联合解决方案，改变国产 IT 长期低附加值与高定制化的现状，重塑国产 IT 生态体系。据了解，面向不同的招商展示需求，如何应用华为云服务，让技术更好地实现可视化以满足客户要求，展现高质量展示效果，是本测试的重点。
追求极限 # 极限科技研发的 INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管，企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。INFINI Console 还可以对集群内的索引及数据进行操作管理，可以配置灵活的告警规则，可以指定统一的安全策略，可以查看各个维度的日志和审计信息，真正实现企业级的搜索服务平台化建设和运营。
此次极限科技 INFINI Console 极限控制台管理系统 V1.0 与华为鲲鹏完成兼容性测试，并取得了令人满意的成果。
此次兼容适配基于 华为技术有限公司 Kunpeng 920 Taishan 200，在测试过程中，INFINI Console 展现出了良好的整体稳定性。经过对产品性能、兼容性、安全性和稳定性的测试，双方达到了预期目标，应用流畅、高效稳定，特授予 KUNPENG COMPATIBLE 证书，并授权使用认证徽标。
此次通过华为鲲鹏的兼容适配联合认证，标志着 INFINI Console 在国产化的道路上又迈出了一步。未来，极限科技将积极参与国产创新技术生态的建设，坚持自主可控安全可靠，深化对国产化软硬件技术栈的支持能力，为用户提供更加优质、稳定、高效、安全的产品与服务。</description></item><item><title>INFINI Gateway 与华为鲲鹏完成产品兼容互认证</title><link>https://infinilabs.cn/blog/2023/news-20231124/</link><pubDate>Fri, 24 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20231124/</guid><description>何为华为鲲鹏认证 # 华为鲲鹏认证是华为云围绕鲲鹏云服务（含公有云、私有云、混合云、桌面云）推出的一项合作伙伴计划，旨在为构建持续发展、合作共赢的鲲鹏生态圈，通过整合华为的技术、品牌资源，与合作伙伴共享商机和利益，助力合作伙伴与华为联合打造基于鲲鹏的联合解决方案，改变国产 IT 长期低附加值与高定制化的现状，重塑国产 IT 生态体系。据了解，面向不同的招商展示需求，如何应用华为云服务，让技术更好地实现可视化以满足客户要求，展现高质量展示效果，是本测试的重点。
追求极限 # INFINI Gateway 是一个面向搜索场景的高性能数据网关，所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway，可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。
此次极限科技 INFINI Gateway 数据网关 V1.0 与鲲鹏完成兼容性测试，并取得了令人满意的成果。
此次兼容适配基于 华为技术有限公司 Kunpeng 920 Taishan 200，在测试过程中，INFINI Gateway 展现出了良好的整体稳定性。经过对产品性能、兼容性、安全性和稳定性的测试，双方达到了预期目标，应用流畅、高效稳定，特授予 KUNPENG COMPATIBLE 证书，并授权使用认证徽标。
此次通过华为鲲鹏的兼容适配联合认证，标志着 Gateway 在国产化的道路上又迈出了一步。未来，极限科技将积极参与国产创新技术生态的建设，坚持自主可控安全可靠，深化对国产化软硬件技术栈的支持能力，为用户提供更加优质、稳定、高效、安全的产品与服务。</description></item><item><title>使用 Java 客户端通过 HTTPS 连接到 Easysearch</title><link>https://infinilabs.cn/blog/2023/connect-to-easysearch-using-a-Java-client/</link><pubDate>Mon, 20 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/connect-to-easysearch-using-a-Java-client/</guid><description>Easysearch 一直致力于提高易用性，这也是我们的核心宗旨，然而之前一直没有官方的 Java 客户端，也对用户使用造成了一些困扰，现在，我们正式发布了第一个 Java 客户端 Easysearch-client:1.0.1。
这一里程碑式的更新为开发人员带来了前所未有的便利性，使得与 Easysearch 集群的交互变得更加简洁和直观。通过 Easysearch-client，开发者可以直接使用 Java 方法和数据结构来进行交互，而不再需要依赖于传统的 HTTP 方法和 JSON。 这一变化大大简化了操作流程，使得数据管理和索引更加高效。Java 客户端的功能范围包括处理数据操作，管理集群，包括查看和维护集群的健康状态，并对 Security 模块全面兼容。它提供了一系列 API，用于管理角色、用户、权限、角色映射和账户。 这意味着安全性和访问控制现在可以更加细粒度地管理，确保了数据的安全性和合规性。
在这篇博客中，你将学习如何配置 Easysearch-client 客户端以通过 HTTPS 连接到 Easysearch。为了演示目的，我将首先设置一个带有 SSL 证书的 Easysearch 服务器。如果你已经有一个在运行，你可以跳过这一步。 接下来，我将引导你完成在 Java 应用程序中配置和使用 Java 客户端的步骤。
设置 Easysearch 服务器 # 首先从极限科技官网下载最新的 Mac 版本。我使用的是 1.6.1 版本，这是我写这篇文章时的最新版本。
wget https://release.infinilabs.com/easysearch/stable/easysearch-1.6.1-214-mac-amd64.zip 确保您的系统已经安装并设置了 java 环境变量，版本在 11 以上。
解压下载文件。
unzip easysearch-1.6.1-214-mac-amd64.zip -d easysearch-1.6.1 cd 到 easysearch-1.6.1 执行初始化脚本来生成证书并自动下载插件。
bin/initialize.sh 脚本执行后会自动输出随机生成的 admin 用户密码。
启动 Easysearch</description></item><item><title>大量索引场景下 Easysearch 和 Elasticsearch 的吞吐量差异</title><link>https://infinilabs.cn/blog/2023/throughput-difference-between-easysearch-and-es/</link><pubDate>Mon, 20 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/throughput-difference-between-easysearch-and-es/</guid><description>最近有客户在使用 Elasticsearch 搜索服务时发现集群有掉节点，并且有 master 收集节点信息超时的日志，节点的负载也很高，不只是 data 节点，master 和协调节点的 cpu 使用率都很高，看现象集群似乎遇到了性能瓶颈。 查看了 Hot_threads, 发现大量线程被权限验证相关的类和方法占用，主要在 RBACEngine 和 AuthorizationService 两个类。并且不止协调节点和数据节点，master 节点居然也有那么多权限验证的操作？
于是怀疑是不是对权限验证的使用方式不对，在 github 上搜了下，果然发现有人遇到和我们非常类似的场景。 Improve Authorization performance in clusters with a large number of indices #67987 提到有些个用户在达到数千或上万个索引的场景下，在启用安全验证进行写入数据时，服务端几乎会耗费掉所有 CPU 时间在 transport_worker 线程上进行权限验证，从而阻塞其他传入请求， 导致集群的吞吐量下降，下降的程度似乎是 2 倍到 3 倍。 有人建议升级到 7.16 或更高版本来解决这个问题。
为了确认下我们的产品是否有类似现象，我对两个服务进行了测试对比，由于硬件资源有限，只对单个节点进行了写入吞吐的压测。
测试条件：
-Xms3g -Xmx3g 16 逻辑核 CPU 启用 security 验证 预先创建了 1000 个索引 每个索引 1 个 shard，3 个别名 采用相同的 loadgen 脚本进行压测, 压测命令：./loadgen-linux-amd64 -config loadgen-index_0.</description></item><item><title>INFINI Labs 产品更新 | 发布 Easysearch Java 客户端，Console 支持 SQL 查询等功能</title><link>https://infinilabs.cn/blog/2023/release-20231117/</link><pubDate>Fri, 17 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20231117/</guid><description>INFINI Labs 产品又更新啦~，本次更新概要如下：发布 Easysearch-client Java 客户端，开发者通过 client 与 Easysearch 集群的交互变得更加简洁和直观；Console 开发工具新增 SQL 特性，支持 SELECT 查询等语法高亮和自动提示等；Gateway 的系统 API 添加了基于基本身份验证的安全功能。
以下是本次更新的详细说明。
INFINI Easysearch-client v1.0.1 # 正式发布 Easysearch Java 客户端。
这一里程碑式的更新为开发人员带来了前所未有的便利性，使得与 Easysearch 集群的交互变得更加简洁和直观。现在，通过 Easysearch-client 客户端，开发者可以直接使用 Java 方法和数据结构来进行交互，而不再需要依赖于传统的 HTTP 方法和 JSON。这一变化大大简化了操作流程，使得数据管理和索引更加高效。高级客户端的功能范围包括处理数据操作，管理集群，包括查看和维护集群的健康状态，并对 Security 模块全面兼容。它提供了一系列 API，用于管理角色、用户、权限、角色映射和账户。这意味着安全性和访问控制现在可以更加细粒度地管理，确保了数据的安全性和合规性。
使用说明参见： 快速开始
INFINI Console v1.11.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
Console 本次更新如下：
Features # 开发工具 SQL 查询支持 支持 SELECT 查询及语法高亮 支持索引和字段自动提示 支持 FROM 前置语法 Bug fix # 修复平台概览集群指标为空的问题 Improvements # LDAP 支持从 DN 中解析 OU 属性 集群动态优化显示，新增节点名称和索引名称的聚合统计过滤 INFINI Gateway v1.</description></item><item><title>使用 Filebeat+Easysearch+Console 打造日志管理平台</title><link>https://infinilabs.cn/blog/2023/log-platform-using-filebeat-easysearch-console/</link><pubDate>Fri, 17 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/log-platform-using-filebeat-easysearch-console/</guid><description>近年来，日志管理平台越来越流行。使用日志管理平台可以实时地、统一地、方便地管理和查看日志，挖掘日志数据价值，驱动运维、运营，提升服务管理效率。
方案架构 # Beats 是轻量级采集器，包括 Filebeat、Metricbeat 等。 Easysearch 是个分布式搜索引擎，提供搜集、分析、存储数据等主要功能。 Console 是一个可视化工具，提供可视化查询，制作报表等功能。 本文将搭建一个统一日志管理平台。使用 Filebeat 采集 OS 中的日志（其他日志大同小异），发送到 Easysearch 中。最后通过 Console 进行日志的可视化查询与分析。
操作步骤 # 准备工作 部署 Easysearch 编辑 easysearch.yml 文件，打开注释 elasticsearch.api_compatibility: true 部署 Console 安装并配置 Filebeat 下载 Filebeat，版本建议选择 7.10.2。下载地址： https://www.elastic.co/cn/downloads/past-releases/filebeat-oss-7-10-2 修改配置 filebeat.yml 文件 setup.template.name: &amp;quot;filebeat&amp;quot; setup.template.pattern: &amp;quot;system-log*&amp;quot; setup.template.fields: &amp;quot;${path.config}/fields.yml&amp;quot; output.elasticsearch: hosts: [&amp;quot;localhost:9200&amp;quot;] protocol: &amp;quot;https&amp;quot; ssl.verification_mode: none username: &amp;quot;admin&amp;quot; password: &amp;quot;4ad8f8f792e81cd0a6de&amp;quot; index: &amp;quot;system-log&amp;quot; 启用 system 模块并导入 pipeline .</description></item><item><title>通过 Canal 将 MySQL 数据实时同步到 Easysearch</title><link>https://infinilabs.cn/blog/2023/syncing-mysql-to-easysearch-using-canal/</link><pubDate>Fri, 17 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/syncing-mysql-to-easysearch-using-canal/</guid><description>Canal 是阿里巴巴集团提供的一个开源产品，能够通过解析数据库的增量日志，提供增量数据的订阅和消费功能。使用 Canal 模拟成 MySQL 的 Slave，实时接收 MySQL 的增量数据 binlog，然后通过 RESTful API 将数据写入到 Easysearch 中。
前提条件 # 部署 Easysearch 集群。 部署 MySQL 数据库。 部署 Gateway，Canal Adapter 不支持使用 HTTPS 协议连接，使用 Gateway 代理 Easysearch 。 部署 Console，方便查看 Easysearch 数据。 对于自建 MySQL , 需要先开启 Binlog 写入功能，配置 binlog-format 为 ROW 模式，my.cnf 中配置如下：
[mysqld] log-bin=mysql-bin # 开启 binlog binlog-format=ROW # 选择 ROW 模式 server_id=1 # 配置 MySQL replaction 需要定义，不要和 canal 的 slaveId 重复 创建 canal 用户，授权 canal 连接 MySQL 具有作为 MySQL slave 的权限。</description></item><item><title>Console LDAP 配置解密</title><link>https://infinilabs.cn/blog/2023/console-ldap-setting/</link><pubDate>Wed, 08 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/console-ldap-setting/</guid><description>之前通过短视频向大家介绍了 Console 如何集成 LDAP，但很多小伙伴反映按照视频里的配置后不成功。今天就结合小伙伴们反映的问题来跟大家详细介绍一下。
Console LDAP 完整的配置参数如下：
名称 类型 说明 host string LDAP 服务器地址 port int LDAP 服务器端口，默认 389 tls bool LDAP 服务器是否为 TLS 安全传输协议，默认 false bind_dn string 执行 LDAP 查询的用户信息 bind_password string 执行 LDAP 查询的密码信息 base_dn string 过滤 LDAP 用户的根域 user_filter string 过滤 LDAP 用户的查询条件，默认 (uid=%s) uid_attribute string 用于用户 ID 的属性，默认 uid group_attribute string 用于用户组的属性，默认 cn role_mapping.</description></item><item><title>INFINI Labs 产品更新 | Agent 全新重构，优化指标采集，支持集中配置管理，支持动态下发等功能</title><link>https://infinilabs.cn/blog/2023/release-20231103/</link><pubDate>Fri, 03 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20231103/</guid><description>INFINI Labs 产品又更新啦~
本次更新主要有 Agent、Console、Loadgen 等产品，其中 Agent 进行全新重构升级，新版限制了 CPU 资源消耗，优化了内存，相比旧版内存使用率降低 10 倍，极大的降低了对宿主服务器造成资源占用压力。同时 Agent 还优化了指标采集，支持集中配置管理，支持动态下发，支持一键安装和自动注册到 Console，可通过 Console 集中管理，并进行关联集群和节点。
以下是本次更新的详细说明。
INFINI Agent v0.7.0 # INFINI Agent 是 INFINI Console 的一个可选探针组件，负责采集和上传集群指标和日志等信息，并可通过 Console 管理。Agent 支持主流操作系统和平台，安装包轻量且无任何外部依赖，可以快速方便地安装。
探针 Agent 本次更新如下：
Features # 限制探针资源消耗，限制 CPU 的使用 优化探针内存使用，10 倍降低 支持集中配置管理，支持动态下发 支持探针一键安装和自动注册 优化节点指标采集，仅采集本节点指标 Improvements # 重构节点统计信息 删除未使用的文件 添加发现未知节点的 API 重构节点发现 重构新的 API INFINI Console v1.10.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.</description></item><item><title>喜讯！极限科技成功签约中国一汽搜索数据库三年许可订阅合同！</title><link>https://infinilabs.cn/blog/2023/news-20231102/</link><pubDate>Thu, 02 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20231102/</guid><description>中标喜讯！极限科技 INFINI Easysearch 成功签约中国第一汽车股份有限公司三年订阅合同！
一汽集团作为国内汽车行业龙头企业，数字化转型伴随业务发展不断深化，非结构化数据日益成为各类组织数据的增长主力，逐渐成为数据要素的重要组成部分。以自动分词技术、倒排索引技术、相关度计算、向量检索引擎等技术为核心构建的搜索型数据库作为高效处理非结构化数据的基础软件。
近日，极限科技成功中标中国第一汽车股份有限公司《搜索数据库许可订阅（3）年合同》，实现对国外搜索型数据库的迁移替换，为中国第一汽车股份股份有限公司提供安全、稳定、可靠的快速检索和实时数据探索分析能力。</description></item><item><title>喜讯！INFINI Easysearch 在墨天轮数据库排名中挺进前30！</title><link>https://infinilabs.cn/blog/2023/news-20231101/</link><pubDate>Wed, 01 Nov 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20231101/</guid><description>近日，2023 年 10 月的 墨天轮中国数据库流行度排行 火热出炉，本月共有 283 个数据库参与排名，中国数据库行业竞争日益激烈。其中，极限科技旗下软件产品 INFINI Easysearch 稳步推进，在国内整个数据库排行中进入了前 30 的行列！
同时在 搜索型数据库 分类排名中保持领先，稳住了 第一名 的好成绩，逐渐拉开差距。
INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，同时也是一款具备自主可控的分布式近实时搜索型数据库产品，具备高性能、高可用、弹性伸缩、高安全性等特性，具备支持丰富的个性化搜索及聚合分析能力，可部署在物理机、虚拟机、容器、私有云和公有云，能承载 PB 级别的海量业务数据，为金融核心系统、运营商、制造业和政企业务系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力，可满足不同业务场景的各项复杂需求。
Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比， Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。
国内数据库最近几年发展迅速，关键技术逐渐突破，应用场景和数据规模也逐年上升，已经成为企业必不可少的核心基础设施，产业生态也日益繁荣。极限科技作为国内搜索型数据库产品厂商第一梯队的杰出代表，同时也是行业标准的起草单位之一，此次能在墨天轮中国数据库流行度排行中进入前 30 名，不仅代表着对 INFINI Easysearch 数据库的肯定，更代表着极限科技在“搜索数据库”产品的研究与创新上，取得了新的里程碑。
未来，极限科技将持续专注于打造国产搜索型数据库产品，致力于为用户提供更加优质、稳定、高效、安全的数据搜索服务和分析体验。</description></item><item><title>Easysearch 容量规划建议</title><link>https://infinilabs.cn/blog/2023/capacity-planning-recommendations-for-easysearch/</link><pubDate>Thu, 26 Oct 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/capacity-planning-recommendations-for-easysearch/</guid><description>基于容量估算 # 主要问题： # 每天将索引多少原始数据（GB）？保留数据多少天？ 原始数据膨胀率 您将强制执行多少个副本分片？ 您将为每个数据节点分配多少内存？ 您的内存:数据比例是多少？ 原则 # 保留 +15% 以保持在磁盘水位以下。 保留 +5% 用于误差和后台活动的余量。 保留相当于一个数据节点的资源来处理故障。 公式： # 总数据量 GB = 原始数据 GB/天 * 保留天数 * 膨胀率 * (副本数 + 1)
总存储 GB = 总数据 GB * 1.15（包括磁盘 watermark threshold 和误差范围）
总数据节点数 = ROUNDUP(总存储 GB / (每个数据节点的内存 * 内存/数据比例)) + 1（用于故障转移）
举例： # 假设 需要存储的源数据 50TB 大小
膨胀率 10% 副本数 1</description></item><item><title>借助 DSL 来简化 Loadgen 配置</title><link>https://infinilabs.cn/blog/2023/simplify-loadgen-config-with-dsl/</link><pubDate>Wed, 25 Oct 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/simplify-loadgen-config-with-dsl/</guid><description>引言 # 在 上篇文章中，我们介绍了如何用 Loadgen 来简化 HTTP API 的集成测试。在实际使用中会发现，编写测试时最令人“头疼”的部分是设计测试的输入和校验程序的输出，而针对后者 Loadgen 提供了丰富的条件测试 1 来对响应进行断言。
回顾上篇文章的示例：
# loadgen.yml variables: - name: id type: sequence runner: assert_error: true assert_invalid: true requests: - request: method: PUT url: $[[env.PIZZA_SERVER]]/test_create_document_$[[id]] assert: equals: _ctx.response.body_json.success: true register: - collection: _ctx.response.body_json.collection - request: method: POST url: $[[env.PIZZA_SERVER]]/$[[collection]]/_doc body: &amp;#39;{&amp;#34;hello&amp;#34;: &amp;#34;world&amp;#34;}&amp;#39; assert: equals: _ctx.response.body_json.result: created 上述配置中各请求的断言只有一条，但如果我们的检验逻辑更加复杂，需要组合多重测试条件，比如我们想尽可能多的检验响应体中的字段来提高测试的可靠性，那么断言的部分将会迅速膨胀，可读性也会随之下降。
例如，针对如下响应：
{ &amp;#34;took&amp;#34;: 17, &amp;#34;timed_out&amp;#34;: false, &amp;#34;hits&amp;#34;: { &amp;#34;total&amp;#34;: { &amp;#34;value&amp;#34;: 100, &amp;#34;relation&amp;#34;: &amp;#34;eq&amp;#34; }, &amp;#34;max_score&amp;#34;: 1.</description></item><item><title>INFINI Labs 产品更新 | Easysearch 优化字段压缩提升写入速度，Console 优化数据迁移和校验等功能</title><link>https://infinilabs.cn/blog/2023/release-20231020/</link><pubDate>Fri, 20 Oct 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20231020/</guid><description>INFINI Labs 产品又更新啦~。本次更新概要如下：Easysearch 增强 source_reuse 压缩功能，并大幅提升写入速度；Console 优化了数据迁移和校验功能，新增了通用的数据列表和下拉等标准组件，化繁为简，实现可复用。
以下是本次更新的详细说明。
INFINI Easysearch v1.6.1 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Features # 增加 analysis-icu 插件 Bug fix # 修复 JDK 17 及更高版本运行告警及异常 Improvements # 安装脚本优化，避免脚本使用不当出现错误 source_reuse 增加对 float，double，geo_point，half_float，ip 类型字段的压缩 优化启用 source_reuse 时的写入速度，压缩的字段越多，写入速度越快 INFINI Console v1.9.0 # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
Console 本次更新如下：
Features # 支持正常结束的数据校验任务重跑 添加后端服务关闭错误提示 新增统一的数据列表展示标准组件，基于该组件，配置相关字段即可快速渲染数据列表 UI 新增下拉列表标准组件，支持搜索、多选、排序、过滤、分组、翻页等 Bug fix # 修复开发工具不支持 update API 的问题 修复数据校验任务重跑之后不一致文档数显示不对的问题 Improvements # 数据校验 UI 优化 集群、节点、索引下拉列表 UI 优化 数据迁移进度条优化 期待反馈 # 欢迎下载体验使用，如果您在使用过程中遇到如何疑问或者问题，欢迎前往 INFINI Labs Github（https://github.</description></item><item><title>如何使用 Loadgen 来简化 HTTP API 请求的集成测试</title><link>https://infinilabs.cn/blog/2023/integration-testing-with-loadgen/</link><pubDate>Fri, 20 Oct 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/integration-testing-with-loadgen/</guid><description>引言 # 在编写 HTTP 服务的过程中，集成测试 1 是保证程序正确性的重要一环，如下图所示，其基本的流程就是不断向服务发起请求然后校验响应的状态和数据等：
为大量的 API 和用例编写测试是一件繁琐的工作，而 Loadgen 2 正是为了简化这一过程而设计的。
一个简单的测试 # 假定我们在 127.0.0.1:9100 端口监听了一个 Pizza 3 服务，现在我们通过如下配置来测试集合（collection）的创建：
# loadgen.yml requests: - request: method: PUT url: http://127.0.0.1:9100/test_create_document 然后运行 loadgen -config loadgen.yml：
$ loadgen -config loadgen.yml __ ___ _ ___ ___ __ __ / / /___\/_\ / \/ _ \ /__\/\ \ \ / / // ///_\\ / /\ / /_\//_\ / \/ / / /__/ \_// _ \/ /_// /_\\//__/ /\ / \____|___/\_/ \_/___,&amp;#39;\____/\__/\_\ \/ [LOADGEN] A http load generator and testing suite.</description></item><item><title>Easysearch Chart 0.2.0都有哪些变化</title><link>https://infinilabs.cn/blog/2023/easysearch-chart-change-0.2.0/</link><pubDate>Mon, 09 Oct 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/easysearch-chart-change-0.2.0/</guid><description>Easysearch Chart 包更新了，让我们来看看都有哪些变化：
Docker 镜像升级 Service 名称调整，支持 NodePort 模式部署 现在让我们用 NodePort 模式部署一下：
# helm search repo infinilabs NAME CHART VERSION APP VERSION DESCRIPTION infinilabs/console 0.2.0 1.8.0-1259 A Helm chart for Kubernetes infinilabs/easysearch 0.2.0 1.6.0-59 A Helm chart for Kubernetes infinilabs/gateway 0.1.0 1.18.0-1123 A Helm chart for Kubernetes # cat es-nodeport.yaml service: type: NodePort http: 9200 transport: 9300 httpNodeport: 30920 transNodeport: 30930 # helm install easysearch infinilabs/easysearch -n infini -f es-nodeport.</description></item><item><title>Easysearch 压缩模式深度比较：ZSTD + source_reuse 的优势分析</title><link>https://infinilabs.cn/blog/2023/deep-comparison-of-easysearch-compression-modes/</link><pubDate>Mon, 09 Oct 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/deep-comparison-of-easysearch-compression-modes/</guid><description>引言 # 在使用 Easysearch 时，如何在存储和查询性能之间找到平衡是一个常见的挑战。Easysearch 具备多种压缩模式，各有千秋。本文将重点探讨一种特别的压缩模式：zstd + source_reuse，我们最近重新优化了 source_reuse,使得它在吞吐量和存储效率方面都表现出色。
测试概览 # 测试条件选用了 esrally 工具和 geonames 数据集来进行压力测试。数据集包含了 11396503 条记录，往单个 shard 写入，对以下几种压缩模式进行压测对比：
default best_compression zstd zstd + source_reuse 下图是对 CPU 的监控，可以看到各个模式对 CPU 的使用是基本相近的。
default best_compression zstd zstd+reuse 关键数据点 # 测试结果主要围绕两个指标：
中位吞吐量：单位为“每秒操作数”，数值越大表示性能越好。 存储大小：单位为 “GB”，数值越小表示存储更加高效。 测试数据如下：
压缩模式 中位吞吐量 (docs/s) 存储大小 (GB) default 37834 2.</description></item><item><title>Easysearch 压缩功能的显著提升：从 8.7GB 到 1.4GB</title><link>https://infinilabs.cn/blog/2023/significant-increase-in-Easysearch-compression-from-8.7GB-to-1.4GB/</link><pubDate>Sun, 08 Oct 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/significant-increase-in-Easysearch-compression-from-8.7GB-to-1.4GB/</guid><description>引言 # 在海量数据的存储和处理中，索引膨胀率是一个不可忽视的关键指标。它直接影响了存储成本和查询性能。近期，Easysearch 在这方面取得了显著的进展，其压缩功能的效果远超过了之前的版本。本文将详细介绍这一进展。
Easysearch 各版本压缩性能对比 # 根据之前文章的数据，Easysearch v1.1 在处理相同数据时，其索引大小比 Elasticsearch v6.4.3 降低了 50%。但这还不是全部，最新的测试数据更是令人惊艳。
显著的压缩效果：实验数据解析 # 通过对比不同版本的存储大小，我们更直观地了解到 Easysearch 在压缩方面的优势：
Easysearch 的原始版本，未开启压缩：存储大小为 8.7 GB。 Easysearch v2 版本：经过第二版压缩后，存储大小显著减少到 2.7 GB。 Easysearch v3 版本：第三版压缩后，存储大小进一步减少到 1.4 GB。 关键观察 # Easysearch 之前提供的压缩版相比原始版本减少了约 69%的存储空间。
Easysearch v3 版则更为显著，相比原始版本减少了约 84%的存储空间。
第三版本压缩的秘密武器：数字类型字段的复用 # 第三版本压缩能达到如此高的效率，主要是因为在之前第二版对文档原文中 keyword 类型字段复用的基础上，增加了对数字类型字段的复用。这一策略进一步优化了存储结构，显著提高了压缩效率。
压缩策略：多元化选择 # Easysearch 提供了多种压缩策略，包括 default、best_compression、ZSTD 和 index.source_reuse。其中，ZSTD 和 index.source_reuse 是新引入的压缩策略，能进一步降低索引膨胀率。
带来的好处 # 降低存储成本：显著降低的存储大小意味着在硬件和维护方面的成本将大幅度减少。 提高系统扩展性：更小的数据尺寸意味着在相同的硬件配置下，系统能够处理更多的数据。 数据备份和传输：由于索引文件更小，数据备份和传输的速度也将提升，同时减少带宽需求。</description></item><item><title>ES 关于 remote_cluster 的一记小坑</title><link>https://infinilabs.cn/blog/2023/something_about_remote_cluster/</link><pubDate>Wed, 27 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/something_about_remote_cluster/</guid><description>最近有小伙伴找到我们说 Kibana 上添加不了 Remote Cluster，填完信息点 Save 直接跳回原界面了。具体页面，就和没添加前一样。
我们和小伙伴虽然隔着网线但还是进行了深入、详细的交流，梳理出来了如下信息：
两个集群：集群 A 和集群 B ，版本都是 7.10.0 ； 集群 A 没区分节点角色； 集群 B 设置了 独立的 master 节点、coordinator 节点和 data 节点，其中 data 节点还带 remote_cluster_client 角色； 在集群 A 的 Kibana 可以添加 集群 B 为远程集群； 在集群 B 添加 集群 A 就不行，Kibana 跳回之前的页面； 网络组确认已经放开策略，网络测试也正常； 翻看了 ES 和 Kibana 的日志， ES 日志中有连接失败的错误信息， Kibana 日志中无对应输出。
[2023-09-13T11:38:41,055][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff] [2023-09-13T11:38:41,055][INFO ][o.</description></item><item><title>INFINI Labs 产品更新 | Gateway 支持基于 Kafka 的复制能力，发布 Helm Charts 部署方式</title><link>https://infinilabs.cn/blog/2023/release-20230922/</link><pubDate>Fri, 22 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230922/</guid><description>INFINI Labs 产品又更新啦~。本次更新概要如下：Easysearch 新增了索引字段相关统计 API，优化了 source_reuse 提升压缩效率；Gateway 新增诸多新特性，如：支持基于 Kafka 的复制能力，添加可插拔的分布式锁实现，新增 CPU 资源限制等功能；Console 本次主要优化了数据迁移功能，迁移任务详情页新增了若干指标图和日志查看等功能。
欢迎大家下载使用和反馈。
INFINI Helm Charts v0.1.0 # INFINI Helm Charts 是一组 Kubernetes 部署包管理工具。基于 Helm Charts，我们将 INFINI Labs 旗下相关产品预先配置好程序资源包，大大简化了部署流程。Github 仓库地址：https://github.com/infinilabs/helm-charts。
Helm Charts 本次更新如下：
Features # 添加 Console Chart 添加 Easysearch Chart，支持单节点以及多节点（节点角色可配置）部署 基于 Helm Chart 部署 Easysearch 视频演示如下：
.aspect-ratio { position: relative; width: 100%; height: 0; padding-bottom: 75%; } .aspect-ratio iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; } 博客文章参见： 基于 Helm Chart 部署 Easysearch</description></item><item><title>通过 Helm Chart 部署 Easysearch</title><link>https://infinilabs.cn/blog/2023/use-helm-install-easysearch/</link><pubDate>Mon, 18 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/use-helm-install-easysearch/</guid><description>Easysearch 可以通过 Helm 快速部署了，快来看看吧！
Easysearch 的 Chart 仓库地址在这里 https://helm.infinilabs.com。
使用 Helm 部署 Easysearch 有两个前提条件：
cert-manager local-path 我们先按照 Chart 仓库的说明来快速部署一下。
~ helm repo add infinilabs https://helm.infinilabs.com ~ cat &amp;lt;&amp;lt; EOF | kubectl apply -n test -f - apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: easysearch-ca-issuer spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: easysearch-ca-certificate spec: commonName: easysearch-ca-certificate duration: 87600h0m0s isCA: true issuerRef: kind: Issuer name: easysearch-ca-issuer privateKey: algorithm: ECDSA size: 256 renewBefore: 2160h0m0s secretName: easysearch-ca-secret EOF ~ helm install easysearch infinilabs/easysearch -n test 执行上面的两个命令之后，查看一下部署情况</description></item><item><title>喜讯！INFINI Easysearch 在墨天轮搜索型数据库排名中荣登榜首</title><link>https://infinilabs.cn/blog/2023/news-20230913/</link><pubDate>Wed, 13 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230913/</guid><description>近日，2023 年 9 月的 墨天轮中国数据库流行度排行 火热出炉，本月共有 287 个数据库参与排名，中国数据库行业竞争日益激烈。其中，极限科技旗下软件产品 INFINI Easysearch 在 搜索型数据库 分类排名中脱颖而出，荣登榜首，获得了第一名的好成绩。
同时在国内整个数据库排行中进入了前 50 的行列。
INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，同时也是一款具备自主可控的分布式近实时搜索型数据库产品，具备高性能、高可用、弹性伸缩、高安全性等特性，具备支持丰富的个性化搜索及聚合分析能力，可部署在物理机、虚拟机、容器、私有云和公有云，能承载 PB 级别的海量业务数据，为金融核心系统、运营商、制造业和政企业务系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力，可满足不同业务场景的各项复杂需求。
Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比，Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。
国内搜索型数据库最近几年发展迅速，关键技术逐渐突破，应用场景和数据规模也逐年上升，已经成为企业必不可少的核心基础设施，产业生态也日益繁荣。极限科技作为国内搜索型数据库产品厂商第一梯队的杰出代表，同时也是行业标准的起草单位之一，此次在墨天轮中国数据库流行度排行搜索型数据库分类中荣登榜首，不仅代表着对 INFINI Easysearch 搜索型数据库的肯定，更代表着极限科技在“搜索数据库”产品的研究与创新上，取得了新的里程碑。
未来，极限科技将持续专注于打造国产搜索型数据库产品，致力于为用户提供更加优质、稳定、高效、安全的数据搜索服务和分析体验。</description></item><item><title>INFINI Easysearch 与兆芯完成产品兼容互认证</title><link>https://infinilabs.cn/blog/2023/news-20230912/</link><pubDate>Tue, 12 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230912/</guid><description>近日，极限科技旗下软件产品 INFINI Easysearch 搜索引擎软件 V1.0 与兆芯完成兼容性测试，功能与稳定性良好，并获得兆芯产品兼容互认证书。
此次兼容适配基于银河麒麟高级服务器操作系统 V10 SP3 平台与兆芯 ZX-C、ZX-C+、KX-5000、KX-6000、KH-20000、KH-30000、KH-40000 等系列处理器，经过共同严格测试表明 INFINI Easysearch 搜索引擎软件 V1.0 整体运行稳定，满足功能及兼容性测试要求以及用户应用需求.
兆芯掌握自主通用处理器及其系统平台芯片研发设计的核心技术，全面覆盖其微架构与实现技术等关键领域，构建了较为完整的知识产权体系，支撑国家产业信息安全和国家数字经济实现高质量发展。自成立以来，兆芯已成功自主研发并量产多款通用处理器产品。
而银河麒麟高级服务器操作系统 V10 是针对企业级关键业务，适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性的需求，依据 CMMI 5 级标准研制的提供内生安全、云原生支持、国产平台深入优化、高性能、易管理的新一代自主服务器操作系统；同源支持飞腾、龙芯、申威、兆芯、海光、鲲鹏等自主 CPU 及 x86 平台。
极限科技研发的 INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，同时也是一款具备自主可控的分布式近实时搜索型数据库产品，具备高性能、高可用、弹性伸缩、高安全性等特性，具备支持丰富的个性化搜索及聚合分析能力，可部署在物理机、虚拟机、容器、私有云和公有云，能承载 PB 级别的海量业务数据，为金融核心系统、运营商、制造业和政企业务系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力，可满足不同业务场景的各项复杂需求。
此次通过兆芯的兼容适配联合认证，标志着极限科技在支持国产化方面又迈出关键一步。此外， Easysearch 也实现了对麒麟、统信等国产操作系统的支持。未来，极限科技将积极参与国产创新技术生态的建设，坚持自主可控安全可靠，深化对国产化软硬件技术栈的支持能力，为用户提供更加优质、稳定、高效、安全的产品与服务。</description></item><item><title>让Easysearch运行在LoongArch(3C5000L)上</title><link>https://infinilabs.cn/blog/2023/easysearch-runing-with-loongarch/</link><pubDate>Sun, 10 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/easysearch-runing-with-loongarch/</guid><description>简介 # 在上一次，我介绍了在国产操作系统 Kylin V10 (Lance)-aarch64 上安装单机版 Easysearch/Console/Agent/Gateway/Loadgen，小伙伴们可 查看原文。今天我重点介绍下在 Loongnix-Server Linux release 8.4.1 (3C5000L)上安装 Easysearch。
系统配置 # 在安装之前，需要先进行系统参数调整并创建操作用户，以下命令均需要使用 root 用户操作。
#配置nofile和memlock tee /etc/security/limits.d/21-infini.conf &amp;lt;&amp;lt;-&amp;#39;EOF&amp;#39; * soft nofile 1048576 * hard nofile 1048576 * soft memlock unlimited * hard memlock unlimited root soft nofile 1048576 root hard nofile 1048576 root soft memlock unlimited root hard memlock unlimited EOF #关闭THP echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/enabled echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/defrag grep -i HugePages_Total /proc/meminfo grep -wq transparent_hugepage /etc/rc.</description></item><item><title>喜讯！极限科技再次荣获一项国家发明专利授权：《一种数据分区方法及数据处理方法》</title><link>https://infinilabs.cn/blog/2023/news-20230907/</link><pubDate>Thu, 07 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230907/</guid><description>近日，由极限数据（北京）科技有限公司自主研发的《一种数据分区方法及数据处理方法》研究成果成功获得国家发明专利授权（专利号：ZL 2023 1 0188025.8）。
本发明是一种数据分区方法及数据处理方法，通过文档的唯一标识设计和分区的二维拆分算法，基于数据感知且无需根据数据量来预判需要多少分区，能够无限水平增加，支撑未知海量数据的增长需求。相比常规分布式系统存储分区方法（基于哈希的分区方法、基于取值范围的分区方法等），本发明能够更好的应对异构系统,实现动态扩容应对数据的写入压力。
本发明获得国家发明专利授权，标志着极限科技在大数据存储和处理分析领域的技术实力和创新能力得到了认可。极限科技将继续加强技术创新和研发投入，为用户提供更加优质的产品和服务。</description></item><item><title>喜讯！极限科技再次中标中国移动云 Elasticsearch 自研版技术开发服务项目！</title><link>https://infinilabs.cn/blog/2023/news-20230905/</link><pubDate>Tue, 05 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230905/</guid><description>喜讯！极限科技 再次中标 中国移动云 Elasticsearch 自研版技术开发服务项目！
近日，极限科技再次成功中标中国移动苏州研发中心 《云能力中心 2023—2024 年移动云 Elasticsearch 自研版技术开发服务项目》。实现了个性化搜索及聚合分析，更稳定可靠地支持万亿级数据规模，为移动云系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力。</description></item><item><title>INFINI Labs 产品更新 | Console 告警中心 UI 全新改版，新增 Dashboard 全屏模式等功能</title><link>https://infinilabs.cn/blog/2023/release-20230904/</link><pubDate>Mon, 04 Sep 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230904/</guid><description>本次 INFINI Labs 产品更新主要发布 Console v1.7.0，重点优化了 Console 告警中心和数据看板 Dashboard 可视化功能。详细介绍如下：
1、优化告警中心 UI # 上个版本优化了告警渠道和通知，本版本主要对告警中心做了重点优化，重新设计了新的 UI 界面。进入告警中心，可以快速了解整个系统各集群告警状态，主要包括：
1.1、告警事件分类统计，支持点击过滤查询对应时间段的具体告警事件，便于管理员重点关注和处理高级别的告警事件；
1.2、告警事件数热力图，不同的色块表示当天告警数的密集程度，可以帮助我们快速发现告警数据的趋势规律以及不同时期的数据变化情况，进一步可帮助我们分析出集群的总体健康状态变化趋势。
1.3、告警事件列表，通过列表可以了解单个告警事件的信息，如事件级别、事件标题、告警持续时长、事件状态、触发时间等内容，如果你不想处理某个具体告警事件，可以进行忽略操作，避免再次收到告警通知。
告警中心 UI 界面如下所示：
通过告警中心进入告警事件详情，可以查看更多告警信息，包括：告警规则、告警内容（支持 Markdown）、告警规则执行记录、告警通知发送情况、事件触发统计图等，界面如下所示：
2、数据看板新增全屏功能 # 为了方便将数据看板 Dashboard 投影展示到电视墙或者 LED 大屏幕，我们新增了全屏功能，包含全屏展示当前 Dashboard，如果配置了多个 Dashboard，也支持全屏时自动滚动 Dashboard，无手动切换。效果如下所示：
全屏显示效果如下：
除了以上主要功能优化，Console 本次更新其他功能清单如下：
Features # 告警规则新增分类和标签属性 告警 UI 操作增加批量操作 数据看板新增全屏功能 数据看板新增日历热力图 数据看板组件多分组支持分层显示 Bug fix # 修复数据迁移任务在大量子任务场景下，统计进度不对的问题 修复某些场景下集群重复注册的问题 Improvements # 告警中心页面 UI 优化 告警详情页面 UI 优化 数据看板组件配置 UI 优化 数据看板组件数据源配置优化 网关管理-队列管理支持批量删除队列和消费者 关于 INFINI Console # INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。</description></item><item><title>私密信息管理工具 Vault 快速入门</title><link>https://infinilabs.cn/blog/2023/vault-quickstart/</link><pubDate>Tue, 22 Aug 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/vault-quickstart/</guid><description>什么是 Vault # Vault 是一个基于身份的秘密和加密管理系统。秘密是您想要严格控制访问的任何内容，例如 API 加密密钥、密码和证书。 Vault 提供由身份验证和授权方法控制的加密服务。使用 Vault 的 UI、CLI 或 HTTP API，可以安全地存储和管理、严格控制（限制）和审核对机密和其他敏感数据的访问。
为什么需要 Vault # 执行密码轮换策略很痛苦 掌握机密的员工离职后可能泄密或是恶意报复 开发者不小心把机密信息随着代码上传到公网的源码仓库造成泄密 管理多个系统的机密非常麻烦 需要将机密信息安全地加密后存储，但又不想将密钥暴露给应用程序，以防止应用程序被入侵后连带密钥一起泄漏 Vault 架构图 # Vault 只暴漏了存储后端(Storage Backend) 和 API，其他部分都被保护起来了。Vault 并不信任后端存储，存放的都是密文。
安装 # 此处以 Mac 为例，其他平台参考官方文档 Vault 安装向导
❯ brew tap hashicorp/tap ❯ brew install hashicorp/tap/vault 启动 Vault(Dev 模式) # ❯ vault server -dev WARNING! dev mode is enabled! In this mode, Vault runs entirely in-memory and starts unsealed with a single unseal key.</description></item><item><title>Easysearch 跨集群复制实战</title><link>https://infinilabs.cn/blog/2023/easysearch-ccr/</link><pubDate>Sun, 20 Aug 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/easysearch-ccr/</guid><description>在之前的文章中，有通过网关实现容灾的案例。今天给大家介绍 Easysearch 的跨集群复制功能。该功能可在集群之间复制数据，应用场景包括但不限于以下举例：
灾备同步：将数据同步到灾备中心，灾备中心可对外提供查询服务。 读写分离：单一集群读写压力都较大时，为了避免读写互相干扰造成性能降级，可将读压力分流到另外的集群。 就近查询：在多地中心之间复制数据，应用只需连接本地 ES 集群读取数据，避免网络延时和干扰。 跨集群复制使用 active-passive 模型，由目标集群主动拉取数据变化到本地，因此对源集群影响很小。
先决条件 # 源集群和目标集群都必须安装 cross-cluster-replication 和 index-management 插件。安装插件参考 这里。 如果目标集群的 easysearch.yml 文件中覆盖了 node.roles，确保它也包括 remote_cluster_client 角色，默认已启用。 演示环境 # 源集群( leader 集群 ): 192.168.3.45:9200 目标集群( follower 集群 ): 192.168.3.39:9200 两个集群都已启用 security 功能。 设置集群间证书互信 # 将两个集群的证书合并到一个文件，将文件放到 config 目录下。
cat ca-A.crt ca-B.crt &amp;gt; trust-chain.pem 更新 easysearch.yml 文件，变化如下。
#security.ssl.transport.ca_file: ca.crt security.ssl.transport.ca_file: trust-chain.pem 设置跨群集连接 # 在目标集群建立源集群的连接信息。在 INFINI console 的 开发工具中，选中目标集群，执行以下命令。</description></item><item><title>使用 Logstash 同步 MySQL 到 Easysearch</title><link>https://infinilabs.cn/blog/2023/sync-mysql-to-es-using-logstash/</link><pubDate>Mon, 14 Aug 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/sync-mysql-to-es-using-logstash/</guid><description>从 MySQL 同步数据到 ES 有多种方案，这次我们使用 ELK 技术栈中的 Logstash 来将数据从 MySQL 同步到 Easysearch 。
方案前提 # MySQL 表记录必须有主键，比如 id 字段。通过该字段，可将 Easysearch 索引数据与 MySQL 表数据形成一对一映射关系，支持修改。 MySQL 表记录必须有时间字段，以支持增量同步。 如果上述条件具备，便可使用 logstash 定期同步新写入或修改后的数据到 Easysearch 中。
方案演示 # 版本信息 # MySQL: 5.7
Logstash: 7.10.2
Easysearch: 1.5.0
MySQL 设置 # 创建演示用的表。
CREATE DATABASE es_db; USE es_db; DROP TABLE IF EXISTS es_table; CREATE TABLE es_table ( id BIGINT(20) UNSIGNED NOT NULL, PRIMARY KEY (id), UNIQUE KEY unique_id (id), client_name VARCHAR(32) NOT NULL, modification_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, insertion_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); 说明</description></item><item><title>基于 Easysearch kNN 搭建即时图片搜索服务</title><link>https://infinilabs.cn/blog/2023/realtime-image-search-service/</link><pubDate>Sun, 13 Aug 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/realtime-image-search-service/</guid><description>环境准备 # 启动 Easysearch 服务:
# Make sure your vm.max_map_count meets the requirement sudo sysctl -w vm.max_map_count=262144 docker run -it --rm -p 9200:9200 \ -e &amp;#34;discovery.type=single-node&amp;#34; \ -e ES_JAVA_OPTS=&amp;#34;-Xms512m -Xmx512m&amp;#34; \ infinilabs/easysearch:1.3.0-24 \ -E &amp;#34;security.enabled=false&amp;#34; 安装 Python 依赖项:
pip install -r requirements.txt 启动服务器:
ES_SERVER=http://localhost:9200 python main.py 后端功能实现 # 我们实现的主要功能是接收用户上传的图片，然后将图片进行处理和向量化，利用 Easysearch 进行图像搜索，并将搜索结果渲染到模板页面上展示给用户。用户可以通过访问 /req 路由来上传图片，然后提交表单进行搜索。搜索结果将在模板页面 search.html 中展示。
本次服务，我们主要使用的是 Flask 和 Easysearch 这两个工具是 Flask 是一个流行的 Python Web 框架，它提供了简单而灵活的方式来构建 Web 应用程序。而 Easysearch 是一个分布式的搜索引擎，它具有强大的全文搜索和分析功能，并支持使用 kNN 检索 API 来进行向量查询。结合这两个工具，我们可以构建一个功能完善的图像搜索服务。</description></item><item><title>告警通知全面提升，一键接入多渠道 - 轻松管理，时刻掌控</title><link>https://infinilabs.cn/blog/2023/infini-console-alerting/</link><pubDate>Fri, 11 Aug 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/infini-console-alerting/</guid><description>叮~~ 叮~~，你们听到什么声音了吗？没错，那是我们全新升级的告警系统带来的惊喜和能量！我们像闪电侠一样快速优化了告警通知功能，它将帮助你避开所有的系统故障陷阱，像超级英雄一样守护系统安全！
序集 # INFINI Console 1.6.0 版本终于上线啦！我们深知及时、有效的告警通知对于系统的稳定运行至关重要。因此在这个版本中，我们花了很多心血来全面提升我们的告警模块，让告警变得更智能、更便捷。相信这次的改进会让大家在系统监控方面少操好多心，有更多时间和精力投入到产品创新中去。为此我们在新版本做了大量工作，全面提升了告警通知能力！这里要感谢我们的研发小伙伴付出的辛勤代码洗礼！
首先，我们新增了邮箱告警通知功能！您现在可以直接在告警渠道中设置要接收告警邮件的邮箱，一旦系统有任何异常，您就可以第一时间通过邮件得到通知。
其次，我们支持了多种主流的即时通讯渠道告警，比如飞书、钉钉、企业微信等。以前如果要接入这些第三方渠道，需要自己配置消息渠道及告警内容，现在我们帮您做了这件苦差事，直接在告警渠道里填写 Webhook 后激活这些渠道即可。
最后，考虑到每个公司的邮件服务配置都不太一样，我们加入了自定义邮件服务器的功能。您可以根据自己的 SMTP 服务设置相应的参数，我们的告警就会帮您通过您的企业邮件渠道发送出去。一切都是那样的自然和谐。
篇章 # Easysearch 与 Console 安装操作视频，可直接复制视频中的操作命令。
展开查看完整操作代码 # 使用 root 用户操作 whoami &amp;amp;&amp;amp; cat /etc/redhat-release &amp;amp;&amp;amp; uptime # 安装 JDK yum -y install java-11 # 创建 infini 用户 groupadd -g 602 infini useradd -u 602 -g infini -m -d /home/infini -c &amp;#39;infini&amp;#39; -s /bin/bash infini # 安装 Easysearch &amp;amp; Console curl -sSL http://get.</description></item><item><title>INFINI Labs 产品更新 | Easysearch 支持 SQL 查询、Console 告警功能支持邮件等多渠道</title><link>https://infinilabs.cn/blog/2023/release-20230810/</link><pubDate>Thu, 10 Aug 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230810/</guid><description>INFINI Labs 产品又更新啦~。本次更新概要如下：Easysearch 新增 SQL 插件和 JDBC 驱动，支持 SQL 查询，支持 SQL 常用函数等；Console 针对告警功能做了升级优化，新增了邮件渠道，支持自定义邮件服务器配置，以及支持飞书、钉钉、企业微信、Discord、Slack 等多渠道 Webhook 发送告警通知，优化平台概览 UI 界面、展示效果更简单友好，提高了用户体验。欢迎大家下载使用。
INFINI Easysearch v1.5.0 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Features # 增加 SQL 插件，支持使用 REST 接口和 JDBC 进行 SQL 查询 支持 SQL 常用函数、包括数学函数、三角函数、日期函数、字符串函数、聚合函数等 SQL 语句可以嵌入全文检索 增加 JDBC 驱动，可以通过用户密码或证书连接到集群 Bug fix # 修复 kNN 插件的配置项导致非 kNN 索引的 setting 不能正常解析的 Bug INFINI Console v1.</description></item><item><title>INFINI Labs 产品更新 | Easysearch 新增分词插件、Gateway 支持邮件发送等功能</title><link>https://infinilabs.cn/blog/2023/release-20230721/</link><pubDate>Fri, 21 Jul 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230721/</guid><description>INFINI Labs 产品又更新啦~，本次更新概要如下：Easysearch 新增了分词插件、优化了生命周期管理功能等；Gateway 新增 smtp 过滤器来支持邮件的发送，支持自动跳过因为异常关闭而损坏的磁盘队列文件等；Console 新增熔断器监控指标、新增矩形树图(Treemap)、优化了探针 Agent 指标采集和集群自动关联操作等。欢迎大家下载体验。
INFINI Easysearch v1.4.0 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Features # 索引生命周期管理增加 wait_for_snapshot 操作，在删除索引之前，等待执行指定的快照管理策略，这样可以确保已删除索引的快照可用 增加 analysis-hanlp 分词插件 增加 jieba 分词插件 Bug fix # 修复启用 index.source_reuse 时，对复杂多层 json 的 source 字段 解析不正确的 Bug Improvements # 更新索引生命周期管理 api 文档，增加策略应用和更新说明，增加 wait_for_snapshot 说明 执行 initialize.sh 命令时增加初始化确认提示，是否将 admin 密码记录日志 INFINI Gateway v1.</description></item><item><title>用极限网关实现 ES 容灾，简单！</title><link>https://infinilabs.cn/blog/2023/backup-system-with-gateway/</link><pubDate>Tue, 18 Jul 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/backup-system-with-gateway/</guid><description>身为 IT 人士，大伙身边的各种系统肯定不少吧。系统虽多，但最最最重要的那套、那几套，大伙肯定是捧在手心，关怀备至。如此重要的系统，万一发生故障了且短期无法恢复，该如何保障业务持续运行？ 有过这方面思考或经验的同学，肯定脱口而出&amp;ndash;切灾备啊。 是的，接下来我来介绍下我们的 ES 灾备方案。当然如果你有更好的，请使用各种可用的渠道联系我们。
总体设计 # 通过 极限网关 将应用对主集群的写操作，复制到灾备集群。应用发送的读请求则直接转发到主集群，并将响应结果转发给应用。应用对网关无感知，访问方式与访问 ES 集群一样。
方案优势 # 轻量级 极限网关使用 Golang 编写，安装包很小，只有 10MB 左右，没有任何外部环境依赖，部署安装都非常简单，只需要下载对应平台的二进制可执行文件，启动网关程序的二进制程序文件执行即可。
跨版本支持 极限网关针对不同的 Elasticsearch 版本做了兼容和针对性处理，能够让业务代码无缝的进行适配，后端 Elasticsearch 集群版本升级能够做到无缝过渡，降低版本升级和数据迁移的复杂度。
高可用 极限网关内置多种高可用解决方案，前端请求入口支持基于虚拟 IP 的双机热备，后端集群支持集群拓扑的自动感知，节点上下线能自动发现，自动处理后端故障，自动进行请求的重试和迁移。
灵活性 主备集群都是可读可写，切换迅速，只需切换网关到另一套配置即可。回切灵活，恢复使用原配置即可。
架构图 # 网关程序部署 # 下载 # 根据操作系统和平台选择下面相应的 安装包： 解压到指定目录：
mkdir gateway tar -zxf xxx.gz -C gateway 修改网关配置 # 在此 下载 网关配置，默认网关会加载配置文件 gateway.yml ，如果要指定其他配置文件使用 -config 选项指定。 网关配置文件内容较多，下面展示必要部分。</description></item><item><title>给 ES 插上向量检索的翅膀 | DataFunSummit 2023 峰会演讲内容速达</title><link>https://infinilabs.cn/blog/2023/datafunsummit-speech-es-vector/</link><pubDate>Wed, 12 Jul 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/datafunsummit-speech-es-vector/</guid><description>近日，由 DataFun 主办的 DataFunSummit 2023 数据基础架构峰会 圆满落下帷幕，本次峰会邀请了腾讯、百度、字节、极限科技、Zilliz 等众多企业技术专家为大家带来分布式存储以及向量数据库的架构原理、性能优化与实践解析分享。
在 向量数据库架构与实践论坛 中，极限科技搜索引擎研发工程师张磊受邀出席做了《给 ES 插上向量检索的翅膀》的主题演讲。据介绍，本次演讲主要介绍了 Elasticsearch（ES）与向量技术的融合，展示其在不同行业中的应用场景和优势，同时也对 ES 与向量的技术细节进行详细讨论，并通过具体案例演示如何利用向量提升搜索能力。
讲师介绍 # 张磊，极限科技 Easysearch 引擎研发工程师，2013 年开始接触 Elasticsearch，10 余年搜索相关经验，之前主要做一些围绕 Elasticsearch 在日志检索和公安大数据相关业务的开发，对 Elasticsearch 和 Lucene 源码比较熟悉，目前专注于公司内部搜索产品的开发。
《给 ES 插上向量检索的翅膀》PPT 内容 # 更多 PPT 内容参见 https://elasticsearch.cn/slides/322
关于 Easysearch # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。与 Elasticsearch 相比，Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。
官网文档：https://docs.infinilabs.com/easysearch/main/docs
下载地址：https://infinilabs.cn/download</description></item><item><title>向量数据库的崛起：从矢量搜索到深度学习 (二)</title><link>https://infinilabs.cn/blog/2023/what-is-vector-database-02/</link><pubDate>Mon, 10 Jul 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/what-is-vector-database-02/</guid><description>前言 # 在 上一节中，我们简要介绍了向量数据库的背景以及对非结构化数据进行向量化的方法，即 Embedding。那么我们如何将这些特征向量应用于搜索任务呢？在搜索任务中，最常见的情况是从数据库中查找与给定向量最相似的数据。因此，我们需要一种能够衡量向量之间相似程度的算法，这也是本节将要介绍的内容。
继续 上一节的例子，在如下词频向量中：
极限科技: [ 1 1 1 1 0 0 ] 科技公司: [ 0 0 1 1 1 1 ] 公司　: [ 0 0 0 0 1 1 ] 我们将寻找与“科技”最相似的单词。
科技　: [ 0 0 1 1 0 0 ] 欧几里德距离 # 欧几里德距离[1]（Euclidean distance）是在欧几里德空间中衡量两个点之间距离的一种度量方法。它是最常见和直观的距离度量方法之一，用于计算实数向量空间中两个点之间的直线距离。
对于给定两个向量 $x$ 和 $y$，欧几里德距离的计算公式如下：
$$ distance(x, y) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2} $$
我们可以使用如下代码：
import numpy as np def distance(x, y): return np.</description></item><item><title>极限科技受邀参加 2023 可信数据库发展大会并入选 “中国数据库产业图谱”</title><link>https://infinilabs.cn/blog/2023/news-20230705/</link><pubDate>Wed, 05 Jul 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230705/</guid><description>7 月 4-5 日，由中国信息通信研究院（以下简称“中国信通院”）、中国通信标准化协会主办，中国通信标准化协会大数据技术标准推进委员会承办，InfoQ 联合主办的 &amp;ldquo;2023 可信数据库发展大会&amp;rdquo; 主论坛在北京国际会议中心隆重召开。
中国通信标准化协会副理事长兼秘书长代晓慧以视频方式致辞，中国信息通信研究院副院长王志勤出席会议并致辞，清华大学、复旦大学、中移信息、华为云、腾讯云、科蓝软件、阿里云、极限科技、浪潮 KaiwuDB、蚂蚁集团等行业内专家代表出席会议并发表主题演讲。吸引了超 1000 位开发者及关注数据库发展的行业人员到现场，共同论道我国数据库高水平自立自强之路。
释放生态引力，共谋产业新增长 # 此届大会以“自主 · 创新 · 引领”为主题，共设 9 个论坛，除主论坛外，此次大会围绕数据库热点话题设置了金融、电信、互联网以及汽车四大行业应用分论坛，以及云原生与开源数据库、搜索与分析型数据库、数据库运维及生态工具和时空时序及图数据库四大技术研讨分论坛，从供给侧及应用侧等多角度深度呈现中国数据库产业发展格局，为数据库产业高质量发展指明方向。
大会重磅发布了数据库产业全景图《中国数据库产业图谱（2023 年）》，中国信通院 2023 上半年“可信数据库”评测证书等多项中国信通院及中国通信标准化协会大数据技术标准推进委员会（CCSA TC601）在数据库领域的最新研究和实践成果。
据了解，中国信通院在主论坛上发布了数据库产业全景图《中国数据库产业图谱（2023 年）》，旨在全面客观展现我国数据库产业中的关键领域、环节和代表企业。
图：极限科技荣誉入选中国信通院《中国数据库产业图谱（2023 年）》
作为搜索与分析型数据库的代表之一，极限科技荣誉入选《中国数据库产业图谱（2023 年）》，与此同时，极限科技的 INFINI Easysearch 搜索引擎软件 V1.0.0 通过搜索型数据库基础能力测试，获评“可信数据库”并受颁“搜索型数据库基础能力专项评测证书”。
图：极限科技受颁“搜索型数据库基础能力专项评测证书”
除此之外，极限科技正式入选成为 DBL 搜索型数据库推进计划首批企业中的副组长单位。
图：极限科技荣誉入选成为 DBL 搜索型数据库推进计划首批企业中的副组长单位
让搜索更简单，助推可信数据库生态建设 # 在搜索与分析型数据库分论坛上，极限科技创始人兼 CEO 曾勇受邀做了《从 ES 到 Easysearch：让搜索更简单》的主题演讲。据介绍，实时大数据搜索分析，尤其是结构化和非结构化数据结合的场景和需求非常大，针对海量数据，搜索技术成为核心，目前 Elasticsearch 在此领域非常流行。
中国信通院发布的《数据库发展研究报告（2023 年）》数据显示，2022 年中国数据库市场规模约 403.6 亿元，占全球 7.2%。有数据统计，中国目前已有超十万开发者，包括阿里巴巴、字节跳动、蚂蚁金服等在内的上万家知名互联网公司及大型企事业单位在生产环境大规模运行 Elasticsearch。但在使用过程中，中国开发者及企业对实时大数据搜索分析的差异化需求，Elasticsearch 仍有改进空间。
图：极限科技创始人兼 CEO 曾勇受邀在&amp;quot;2023 可信数据库发展大会&amp;quot;做主题演讲
极限科技创始人兼 CEO 曾勇介绍道，目前 Elasticsearch 在开源版本安全上问题频发，企业级能力有待提升；授权、国产适配与法律合规方面也存在问题；其本地化中文的支持能力弱，搜索体验有待提高；同时该软件使用成本、维护成本高，软件过重，资源占用率高，在计算资源上存在一定的浪费；更重要的是，该软件的生产没有保障，无专业的售后与技术保障能力，缺乏专业厂商。</description></item><item><title>喜报 | 极限科技 Easysearch 获得由信通院颁布的首批可信搜索型数据库产品证书</title><link>https://infinilabs.cn/blog/2023/news-20230704/</link><pubDate>Tue, 04 Jul 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230704/</guid><description>7 月 4 日，由中国通信标准化协会和中国信息通信研究院主办，大数据技术标准推进委员会承办，InfoQ 联合主办的 2023 可信数据库发展大会 在京隆重召开，中国信通院云计算与大数据研究所大数据与区块链部主任姜春宇在主论坛现场颁发评测通过证书，极限科技相关代表受邀出席领取。
极限科技研发的 INFINI Easysearch 是一个分布式的近实时搜索与分析引擎， 同时也是一款具备自主可控的分布式近实时搜索型数据库产品，具备高性能、高可用、弹性伸缩、高安全性等特性，具备支持丰富的个性化搜索及聚合分析能力，可部署在物理机、虚拟机、容器、私有云和公有云，能承载 PB 级别的海量业务数据，为金融核心系统、运营商、制造业和政企业务系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力，可满足不同业务场景的各项复杂需求。
除了 Easysearch，极限科技还提供用于构建企业搜索基础设施的完整解决方案，通过云原生的方式来让企业高效治理大规模搜索集群，将分散的各个业务搜索计算资源合并归拢，通过资源统一调度管控，提升整体资源利用率和系统弹性，降低系统复杂度和 IT 运营成本，来持续满足业务的灵活多变需求，结合统一的安全、监控、告警、运维和管理等能力，达到统一管理、统一治理，降本增效，实现企业的搜索基础设施的平台化运营。
国内搜索型数据库最近几年发展迅速，关键技术逐渐突破，应用场景和数据规模也逐年上升，已经成为企业必不可少的核心基础设施，产业生态也日益繁荣。极限科技作为国内搜索型数据库产品厂商第一梯队的杰出代表，同时也是行业标准的起草单位之一，此次获得首批测评通过，不仅代表着对 INFINI Easysearch 搜索型数据库软件 Easysearch 的权威性肯定，更代表着极限科技在“搜索数据库”产品的研究与创新上，取得了新的里程碑。
作为“可信数据库”的一员，极限科技将持续专注于打造国产搜索型数据库产品，致力于为用户提供更加优质、稳定、高效、安全的数据搜索服务和分析体验。</description></item><item><title>INFINI Labs 产品更新 | Easysearch 新增 kNN 搜索功能、Console 支持 LDAP 认证登录等</title><link>https://infinilabs.cn/blog/2023/release-20230630/</link><pubDate>Fri, 30 Jun 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230630/</guid><description>INFINI Labs 产品又更新啦~，包括 Easysearch v1.3.0、Gateway v1.16.0、Console v1.4.0、Agent v0.5.1。本次产品更新了许多实用新特性，其中 Easysearch 增加了 kNN 搜索模块，通过相似度判断来根据查询向量查找 K 个邻近的向量，为推荐场景和图片等相似搜索场景提供了更多的支持。Gateway 新增了安全过滤器，支持通过 Console 来进行统一的身份管理。Console 集成了 LDAP 认证登录，同时增强了数据看板可视化能力，支持图表组件按值过滤和数据下钻，告警和监控图表支持 Bucket Label 自定义模版显示等。欢迎大家下载体验。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
INFINI Easysearch v1.3.0 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Features # 增加 kNN 检索插件： 新增 knn_nearest_neighbors query API Mapping 新增 knn_dense_float_vector 和 knn_sparse_bool_vector 数据类型 支持近似 kNN 搜索和精确 kNN 搜索 关于 kNN 使用说明参见： 文档。</description></item><item><title>极限科技旗下软件产品 Easysearch 通过统信 UOS 认证</title><link>https://infinilabs.cn/blog/2023/news-20230616/</link><pubDate>Fri, 16 Jun 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230616/</guid><description>近日，极限数据 (北京) 科技有限公司（以下简称：极限科技）旗下的软件 INFINI Easysearch 搜索引擎软件 V1.0 通过统信 UOS 服务器操作系统 V20 认证。
此次兼容适配基于统信 UOS 服务器操作系统 V20，联合国产 CPU：海光 5000、海光 7000、兆芯 KH-30000、兆芯 KH20000、兆芯 ZX-C+ 等系列处理器，经过共同严格测试表明 INFINI Easysearch 搜索引擎软件 V1.0 整体运行稳定，满足功能及兼容性测试要求，并获得通用软硬件适配认证中心联合认证证书。
统信软件是以“打造中国操作系统创新生态”为使命的中国基础软件公司。基于国产芯片架构的操作系统产品已经和龙芯、飞腾、申威、鲲鹏、兆芯、海光等芯片厂商开展了广泛和深入的合作，与国内各主流整机厂商及软件厂商展开了全方位的兼容性适配工作。
极限科技研发的 INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，同时也是一款具备自主可控的分布式近实时企业级搜索引擎产品，具备高性能、高可用、弹性伸缩、高安全性等特性，具备支持丰富的个性化搜索及聚合分析能力，可部署在物理机、虚拟机、容器、私有云和公有云，能承载 PB 级别的海量业务数据，为金融核心系统、运营商、制造业和政企业务系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力，可满足不同业务场景的各项复杂需求。
此次通过统信 UOS 的兼容适配联合认证，标志着极限科技在支持国产化方面又迈出关键一步。此外，Easysearch 也实现了对麒麟、欧拉等国产操作系统的支持。未来，极限科技将积极参与国产创新技术生态的建设，坚持自主可控安全可靠，深化对国产化软硬件技术栈的支持能力，为用户提供更加优质、稳定、高效、安全的产品与服务。</description></item><item><title>向量数据库的崛起：从矢量搜索到深度学习 (一)</title><link>https://infinilabs.cn/blog/2023/what-is-vector-database-01/</link><pubDate>Sat, 10 Jun 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/what-is-vector-database-01/</guid><description>导读 # 据 IDC 预测，2018 年到 2025 年之间，全球产生的数据量将会从 33 ZB 增长到 175 ZB， 复合增长率达到 27%，其中超过 80% 的数据都会是处理难度较大的非结构化数据。尽管传统的结构化数据仅占总数据量的不到 20%，但现代数据处理技术已经拥有成熟的基础软件栈来处理这些数据，然而，面对超过 80% 的海量非结构化数据，现有的架构却不能很好地管理和应用。 管理非结构化数据是一项复杂而困难的任务，这主要体现在以下几个方面：
非结构化数据的容量比结构化数据更大； 产生的速度比结构化数据更快； 数据来源更具有多样性； 用户对这些数据在数据、内容、信息和知识层面有着多层次的需求。 为了解决这些问题，除了引入革新的底层数据架构，还需要将计算机视觉、NLP 等技术融入其中，并借助深度学习等人工智能技术实现数据治理，进而实现知识复用与智能搜索。幸运的是，我们现在同时经历“非结构化数据”与“人工智能”两场变革，各类人工智能技术为我们提供了理解非结构化数据的途径，也就是将文本、图像、音频等非结构化数据 Embedding 为向量表示，并存储在向量数据库中，以便进行快速的相似度搜索和数据分析。[1]
Embedding 技术 # 什么是 Embedding？ # An embedding is a mapping from discrete objects, such as words, to vectors of real numbers. &amp;mdash; Tensorflow 社区
Embedding 是用一个低维稠密向量来表示一个对象，使得这个向量能够表达相应对象的某些特征，同时向量之间的距离能反应对象之间的相似性。 &amp;mdash; 王喆《深度学习推荐系统》
将一个实例从复杂的空间投射到相对简单的空间，以便对原始实例进行理解，或者在相对简单的空间中进行后续操作。 &amp;mdash; chrisyi《Network embedding 概述》
为了储存非结构化数据，我们需要对其进行编码为向量表示，但原始的向量通常高度稀疏，这对计算机的计算和处理不利，Embeding 的主要作用是就将高维的稀疏向量转化为稠密向量以方便对模型进一步处理。 具体而言，假设我们将如下字典通过 One-hot 编码：</description></item><item><title>INFINI Labs 产品更新 | Easysearch 新增跨集群复制 (CCR)、支持快照生命周期管理 (SLM) 功能等</title><link>https://infinilabs.cn/blog/2023/release-20230609/</link><pubDate>Fri, 09 Jun 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230609/</guid><description>INFINI Labs 产品又更新啦~，包括 Easysearch v1.2.0、Gateway v1.15.0、Console v1.3.0、Agent v0.5.0。本次各产品更新了很多亮点功能，如 Easysearch 新增跨集群复制 (CCR)、支持快照生命周期管理 (SLM) 功能等；Gateway 修复浮动 IP 错误抢占等问题，进一步提升 Gateway 稳定性；Console 新增了免费授权申请功能、新增了 Agent 管理功能并支持一键安装，新增了增量数据迁移和比对功能，增强了数据看板可视化能力等。欢迎大家下载体验。
Console 在线体验： http://demo.infini.cloud (用户名/密码：readonly/ReadOnly-9000)。
INFINI Easysearch v1.2.0 # INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下：
Features # 正式发布快照生命周期管理 (SLM) API, 支持定时备份和删除快照，以及保留快照的个数 增加跨集群复制 (Cross-cluster replication) 功能： 支持手动或自动复制索引 支持暂停和恢复复制索引 支持取消指定索引的跨集群复制 Bug Fix # security 模块修复缺少某些角色验证属性的问题 Improvements # 兼容 ES6.</description></item><item><title>使用 INFINI Console 实现 Elasticsearch 的增量数据迁移</title><link>https://infinilabs.cn/blog/2023/data-migration/</link><pubDate>Fri, 09 Jun 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/data-migration/</guid><description>功能介绍 # 在 INFINI Console 1.3.0 版本里，数据迁移功能增加了对增量迁移的支持。这篇文章将会介绍增量迁移的具体使用方法和实现原理。
场景介绍 # 以常见的日志场景为例，假设 A 集群有一个用来记录线上 HTTP 请求记录的索引 request-logs，数据结构如下:
{ &amp;quot;request_body&amp;quot;: {...}, &amp;quot;request_header&amp;quot;: {...}, &amp;quot;method&amp;quot;: &amp;quot;POST&amp;quot;, &amp;quot;request_time&amp;quot;: &amp;quot;2023-06-09 12:30:09+800&amp;quot; // 客户端记录请求的时间 &amp;quot;@timestamp&amp;quot;: &amp;quot;2023-06-09 12:30:11+800&amp;quot; // 请求写入ES的时间 } 我们希望完整导入这个索引的数据到另外一个集群 B 的 request-logs。要想确保导入的数据完整，我们首先需要考虑数据写入的延迟问题：
A 集群的数据写入可能会有延迟。日志往往是从不同的节点收集异步上传的，考虑到网络环境波动等情况，最终日志写入 Elasticserach 的时间会有差异。 写入 Elasticsearch 的数据并不会立刻对查询请求可见，Elasticsearch 会异步刷新写入的数据。 也就是说，我们假设每一条请求日志从采集到写入 ES 到最终可以被查询的延迟为d，每次进行增量迁移的时候，我们可以完整迁移的数据范围就是[当前时间 - 上次迁移的时间 - d, 当前时间 - d)。只要数据写入的延迟不超过d，我们就可以从集群 A 查询到完整的数据集写入集群 B。
集群 A 的数据有更新操作？ # 在上述的日志场景里，我们通常不会对写入的日志文档进行后续的更新操作，每一条文档写入后都是不可变的，我们只需要筛选@timestamp字段就可以找到需要迁移的数据了，而且每条数据只需要迁移一次就可以确保目标集群的数据一致。
如果源数据有更新，那我们应该如何进行增量迁移呢？通常情况下，每次更新操作我们都会记录文档更新的时间到update_time字段，这样我们就可以使用update_time字段来进行增量数据的迁移。
假设在第一次迁移的时候，索引 A 存有以下数据，我们在进行第一次迁移操作后，数据可以完整写入目标索引：</description></item><item><title>ES 数据太敏感不让看，怎么办？</title><link>https://infinilabs.cn/blog/2023/data-desensitization/</link><pubDate>Thu, 08 Jun 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/data-desensitization/</guid><description>在使用 ES 的过程中，如果 ES 集群中存放的是敏感数据，是不能够随便供人查看的。什么？在排查故障？那也不行，合规高于一切。 不知道大家有没有遇到过上面描述的情景，或者如果是你遇到了，你会怎么办呢？ 我们常常讲，解决问题要抓住问题的本质。人类的本质是复读机，上述问题的本质是&amp;quot;敏感&amp;quot;。 既然问题的本质是数据敏感，那就把敏感数据变成普通数据。这样既符合了合规要求，也促进大家工作。
话不多说，我们 demo。 在下面的 demo 过程中，我们主要用到 easysearch，不为别的，因为它自带脱敏功能。
准备敏感数据 # 下面的数据中，字段 description 和 country 是敏感的。受限用户查看时，敏感数据显示脱敏后的内容。
POST movies/_doc/1 { &amp;quot;year&amp;quot;: 2023, &amp;quot;title&amp;quot;: &amp;quot;This is a movie&amp;quot;, &amp;quot;description&amp;quot;:&amp;quot;我是敏感数据&amp;quot; } POST movies/_doc/2 { &amp;quot;year&amp;quot;: 2023, &amp;quot;title&amp;quot;: &amp;quot;What r u looking at&amp;quot;, &amp;quot;description&amp;quot;:&amp;quot;我是敏感数据&amp;quot;, &amp;quot;country&amp;quot;:&amp;quot;我是敏感数据&amp;quot; } 建立 hash 脱敏角色并赋给用户 # 默认情况下，easysearch 安全模块使用 BLAKE2b 算法，但你可以使用 JVM 提供的任何哈希算法。此列表通常包括 MD5、SHA-1、SHA-384 和 SHA-512。 此次测试，我们就用默认的算法，建立一个 masked_movie 角色。该角色只能查看 movies 索引，且 description 和 country 字段会被脱敏查看，脱敏方式是默认的 BLAKE2b 算法。</description></item><item><title>INFINI Easysearch 完成龙芯架构兼容性认证</title><link>https://infinilabs.cn/blog/2023/news-20230606/</link><pubDate>Tue, 06 Jun 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230606/</guid><description>近日，极限科技旗下软件产品 INFINI Easysearch 搜索引擎软件 V1.0 在龙芯中科的龙芯 3C5000L 平台上完成兼容性测试，功能与稳定性良好，并获得龙架构兼容互认证书。
龙芯是中国自主可控计算机处理器的代表品牌之一。龙芯处理器是由中国科学院计算技术研究所自主研发的一款高性能、低功耗、安全可靠的处理器。龙芯 3C5000L 是龙芯中科专门面向服务器领域的通用处理器。基于龙芯 3A5000 处理器，片上集成共 16 个高性能 LA464 处理器核，采用全新的龙芯自主指令系统（LoongArch®），在提高集成度的同时保持系统和软件与龙芯 3A5000 完全兼容。
极限科技研发的 INFINI Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。 同时也是一款具备自主可控的分布式近实时企业级搜索引擎产品，具备高性能、高可用、弹性伸缩、高安全性等特性，具备支持丰富的个性化搜索及聚合分析能力，可部署在物理机、虚拟机、容器、私有云和公有云，能承载 PB 级别的海量业务数据，为金融核心系统、运营商、制造业和政企业务系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力，可满足不同业务场景的各项复杂需求。
此次通过龙芯架构（LoongArch）的兼容性测试，有效验证了 Easysearch 对于国产化 CPU 的互操作性与可靠性。此外，Easysearch 也实现了对麒麟、统信、欧拉等国产操作系统的支持。未来，极限科技将继续加强与各大厂商的合作，深化对国产化软硬件技术栈的支持能力，为用户提供更加优质、稳定、高效、安全的搜索服务。</description></item><item><title>Easysearch 跨版本兼容性测试，还原 Elasticsearch 各版本快照数据</title><link>https://infinilabs.cn/blog/2023/easysearch-snapshot-restore/</link><pubDate>Mon, 05 Jun 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/easysearch-snapshot-restore/</guid><description>本文主要测试验证 Elasticsearch 各版本快照在 Easysearch 中进行数据恢复。
准备测试数据 # 索引 # 别名 # 模版 # 生命周期策略 # 创建快照 # PUT /_snapshot/my_backup { &amp;quot;type&amp;quot;: &amp;quot;fs&amp;quot;, &amp;quot;settings&amp;quot;: { &amp;quot;location&amp;quot;: &amp;quot;/infini/test/es_backup&amp;quot; } } PUT /_snapshot/my_backup/snapshot_1 { &amp;quot;indices&amp;quot;: &amp;quot;*&amp;quot;, &amp;quot;ignore_unavailable&amp;quot;: false, &amp;quot;include_global_state&amp;quot;: false } GET /_snapshot/my_backup/snapshot_1 ignore_unavailable：如果 indices 列表中的索引不存在，则是否忽略该索引而不是使快照失败。默认值为 false 。 include_global_state：是否在快照中包含集群状态（包括索引模版、生命周期配置、持久化配置等）。默认值为 true ，建议设为 false。 恢复快照 # POST /_snapshot/my_backup/snapshot_1/_restore { &amp;quot;indices&amp;quot;: &amp;quot;*&amp;quot;, &amp;quot;ignore_unavailable&amp;quot;: false, &amp;quot;include_global_state&amp;quot;: false, &amp;quot;include_aliases&amp;quot;: true, &amp;quot;ignore_index_settings&amp;quot;: [ &amp;quot;index.</description></item><item><title>让Easysearch运行在Kylin V10 (Lance)-aarch64上</title><link>https://infinilabs.cn/blog/2023/easysearch-runing-with-arm/</link><pubDate>Wed, 31 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/easysearch-runing-with-arm/</guid><description>简介 # 本文主要介绍在国产操作系统 Kylin V10 (Lance)-aarch64 上安装单机版 Easysearch/Console/Agent/Gateway/Loadgen
系统配置 # 在安装之前，需要先进行系统参数调整并创建操作用户，以下命令均需要使用 root 用户操作。
#配置nofile和memlock tee /etc/security/limits.d/21-infini.conf &amp;lt;&amp;lt;-&amp;#39;EOF&amp;#39; * soft nofile 1048576 * hard nofile 1048576 * soft memlock unlimited * hard memlock unlimited root soft nofile 1048576 root hard nofile 1048576 root soft memlock unlimited root hard memlock unlimited EOF #关闭THP echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/enabled echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/defrag grep -i HugePages_Total /proc/meminfo grep -wq transparent_hugepage /etc/rc.local || cat &amp;lt;&amp;lt;-&amp;#39;EOF&amp;#39; &amp;gt;&amp;gt; /etc/rc.</description></item><item><title>INFINI Labs 产品更新 | Console 新增数据比对、新增数据看板表格组件及支持下钻功能等</title><link>https://infinilabs.cn/blog/2023/release-20230526/</link><pubDate>Fri, 26 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230526/</guid><description>INFINI Labs 产品更新啦~，本次产品版本更新包括 Gateway v1.14.0、Console v1.2.0、Easysearch v1.1.1 等，其中 Console 在上一版基础上做了很多优化改进以及新增了一些特性，如新增数据比对校验功能、数据看板模块新增了表格组件、图表组件支持下钻功能等。欢迎下载体验。
INFINI Gateway v1.14.0 # 极限网关本次更新如下：
Features # 支持自定义服务名称 metrics 增加实例 user_in_ms 和 sys_in_ms 采集 elasticsearch 增加 dial_timeout 选项 Bug Fix # 修复网关开启实时日志推送后命令行日志无法输出的问题 logging 修复 min_elapsed_time_in_ms 选项不生效的问题 修复一个消费闲置队列造成 CPU 占用高的问题 更多更新参见【 Gateway 版本历史 】。
INFINI Console v1.2.0 # Console 本次更新如下：
数据比对 # 数据比对目前支持跨集群索引全量数据校验，常用于索引数据迁移之后，校验两端的数据是否一致，保障数据迁移的正确性。通过 UI 界面创建数据校验任务和管理。
进入校验任务详情，能够可视化展示分区子任务的进度，不同的颜色方块表示进度状态，如绿色表示校验成功、红色表示校验失败，如失败了可以查看 log 日志进行错误原因定位。
具体操作参见： 教程。
数据看板 # Console 数据看板模块新增了表格组件，进一步扩展 Dashboard 看板图表多样化，增强数据可视化能力。如下查看视频演示：</description></item><item><title>ps vs top：CPU占用率统计的两种不同方式</title><link>https://infinilabs.cn/blog/2023/cpu-utilization/</link><pubDate>Tue, 23 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/cpu-utilization/</guid><description>如何计算 CPU 占用率？ # 简单来说，进程的 CPU 占用率指的是 CPU 有多少时间花费在了运行进程上。在 Linux 系统里，进程运行的时间是以jiffies[1]统计的，通过计算jiffies * HZ，就可以得到进程消耗的 CPU 时间，再除以 CPU 的总时间，就可以得到进程的 CPU 占用率：jiffies * HZ / total_time。
ps 和 top 的不同之处 # ps和top是最常用的两种查看 CPU 占用的方式，都可以用来快速找到当前 CPU 占用率高的进程。但实际上这两个工具的统计方式是完全不同的。
我们用下面这个简单的 Go 程序来测试这两个工具的差别：
package main import ( &amp;quot;bytes&amp;quot; &amp;quot;fmt&amp;quot; &amp;quot;strconv&amp;quot; &amp;quot;sync&amp;quot; &amp;quot;time&amp;quot; ) var testData = []byte(`testdata`) func testBuffer(idx int) { m := map[string]*bytes.Buffer{} for i := 0; i &amp;lt; 100; i += 1 { buf, ok := m[strconv.</description></item><item><title>INFINI Labs 产品更新 | 重磅推出 Easysearch v1.1</title><link>https://infinilabs.cn/blog/2023/release-20230515/</link><pubDate>Mon, 15 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230515/</guid><description>INFINI Labs 产品又更新啦，包括 Easysearch v1.1.0、Gateway v1.13.0、Console v1.1.0、Agent v0.4.0，其中 Easysearch 经过团队的数月打磨，现正式对外推出。Easysearch 是一个分布式的近实时搜索与分析引擎，核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个自主可控的轻量级的 Elasticsearch 可替代版本，并继续完善和支持更多的企业级功能。与 Elasticsearch 相比，Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。欢迎大家下载体验。
INFINI Easysearch v1.1.0 # INFINI Easysearch 本次更新最重要的功能是引入了 ZSTD 压缩算法，对索引进行全方位的压缩，尤其针对日志数据压缩效果更加明显，针对 1.1G 的 Nginx 日志进行测试，采用 ZSTD 策略后，膨胀率只有 0.94，甚至比原始数据还要小，而且还能进一步压缩，和 index.source_reuse 结合使用后，膨胀率只有 0.7，索引大小只有 Elasticsearch 原生 best_compression 的 59%，是 Elasticsearch 6.x 的 49%。下面是一张索引大小对比图：
更多介绍查看 详情。
其他更新功能如下：
Breaking changes # Lucene 版本升级到 8.11.2 Breaking changes # 增加 ZSTD codec， 引入 ZSTD 压缩算法，对存储字段，doc_values，词典进行压缩。 增加 index.</description></item><item><title>使用 Easysearch，日志存储少一半</title><link>https://infinilabs.cn/blog/2023/easysearch-storage-compression/</link><pubDate>Sun, 14 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/easysearch-storage-compression/</guid><description>在海量日志存储场景中，索引膨胀率是一个关键指标，直接影响存储成本和查询性能。它表示原始数据与索引数据在磁盘上所占空间的比率。较高的索引膨胀率不仅增加了存储成本，而且可能会影响查询速度，尤其是在 I/O 密集型的查询中。因此，我们需要密切关注和优化索引膨胀率。接下来，我们将比较 Elasticsearch 和 Easysearch 在处理相同数据时的索引膨胀率。
测试结果 # 一图胜千言，下图是 Easysearch v1.1 和 Elasticsearch v6.4.3 的索引大小测试对比，Y 轴单位是 MB。
使用 Easysearch v1.1 的压缩功能，比 Elasticsearch v6.4.3 的索引大小降低了 50%。
测试说明 # 以下是对 Elasticsearch v6.4.3 版本，测试数据 500 万条大小 1.054G(1080M)的 nginx 日志，使用 es 默认的 mapping，分别用 best_compression 和 default 的压缩策略进行写入。 Elasticsearch v6.4.3
索引 大小(MB) 膨胀率 条数(万) nginx_default_1g 1812.61 1.61 500 nginx_best_1g 1551.36 1.42 500 然后我们对比下，使用极限科技的 Easysearch 进行索引膨胀率的压测.</description></item><item><title>ES 数据没了？谁动了我的数据？</title><link>https://infinilabs.cn/blog/2023/manage-es-del-ops/</link><pubDate>Fri, 12 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/manage-es-del-ops/</guid><description>背景 # 我们在使用 Elasticsearch 的时候，可能会遇到数据“丢”了的情况。有可能是数据没成功写入 ES 集群，也可能是数据被误删了。
针对数据被误删，有没有好的解决办法呢？
其实我们可以把“删除数据”这个操作管理起来。当 ES 集群接收到删除数据命令的时候，先不执行该命令，而是生成一条删除数据的记录，经过管理人员批准后，该命令才会执行。这样不仅可以管理数据的删除，还可以进行删除操作的追踪：什么人，什么时间，发送了什么样的删除指令，从哪个 IP 发送的，以什么身份登录的等等。
要实现这个解决办法，我们可借助 INFINI Gateway 和 Console 的帮助。
方案架构 # 方案效果 # INFINI Gateway 作为 ES 集群的代理，接收所有请求 INFINI Gateway 对删除数据操作进行拦截，在 Console UI 界面生成记录 管理人员 在 Console UI 界面审批操作记录，审批通过操作被执行 方案演示 # 测试数据准备 # 测试索引 test1，一共有 3 条数据。message 内容分别是&amp;quot;line 1&amp;quot;，&amp;ldquo;line 2&amp;quot;和&amp;quot;line 3&amp;rdquo;。
启动 INFINI Gateway 及 Console # 网关配置新增内容 增加对 DELETE 操作的捕获，不直接执行，写入队列中。后续由队列生成特定的记录。
router: - name: my_router default_flow: default_flow tracing_flow: logging_flow rules: - method: - &amp;quot;DELETE&amp;quot; pattern: - &amp;quot;/{any_index}&amp;quot; - &amp;quot;/{any_index}/{any_type}&amp;quot; - &amp;quot;/{any_index}/{any_type}/{any_docid}&amp;quot; flow: - audit_flow - method: - &amp;quot;*&amp;quot; pattern: - &amp;quot;/{any_index}/_delete_by_query&amp;quot; - &amp;quot;/_delete_by_query&amp;quot; flow: - audit_flow flow: - name: audit_flow filter: - logging: queue_name: del_queue pipeline: - name: del_queue_ingest auto_start: true keep_running: true processor: - json_indexing: input_queue: &amp;quot;del_queue&amp;quot; idle_timeout_in_seconds: 1 elasticsearch: &amp;quot;logging-server&amp;quot; index_name: &amp;quot;del_requests&amp;quot; worker_size: 1 bulk_size_in_kb: 1 执行删除操作 # ES 支持多种删除操作，简单总结归纳如下：</description></item><item><title>喜讯！极限科技荣获 2023 年第一批“北京大数据企业”认定！</title><link>https://infinilabs.cn/blog/2023/news-20230510/</link><pubDate>Wed, 10 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230510/</guid><description>近日，极限数据（北京）科技有限公司顺利通过北京大数据协会 2023 年第一批大数据企业认定，并正式获得北京大数据协会颁发的《大数据企业证书》。
北京大数据协会（BBDA，Beijing Big Data Association）是在国家统计局、北京市统计局领导下，由百余家高校、科研机构、企事业单位共同发起的国内第一家在民政部门登记注册的大数据社会团体。协会的宗旨：普及数据科学，实现数据价值。
此次顺利通过北京大数据协会大数据企业认定，是对极限科技在大数据领域的技术能力、核心自主知识产权、研发技术水平、团队成长性和人才结构等方面的综合评估和认可。
作为全球领先的近实时搜索数据库技术提供商，极限科技始终致力于搜索核心技术的研发与创新，基于国内企业级搜索引擎行业生态需求，在产品研发创新上，着力提升产品易用性、实时性、降低 IT 成本等，为推动国内搜索行业技术水平及相关技术社区的发展，建设数据强国提供强有力的基础技术支撑。
目前，极限科技已经服务了众多国内外知名企业，并赢得了客户的信任和好评。我们将继续致力于为客户提供更好的服务和解决方案。</description></item><item><title>助力 Elasticsearch 国产化，极限科技受邀参加 2023 移动云大会</title><link>https://infinilabs.cn/blog/2023/news-20230509/</link><pubDate>Tue, 09 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230509/</guid><description>近日，2023 移动云大会“数据库&amp;amp;云原生创新”论坛 在苏州隆重召开。现场精英荟萃、专家云集，共同探讨数据库与云原生技术发展及应用落地方案，为助力推动云原生数据库产业发展建言献策。极限科技创始人兼 CEO 曾勇受邀出席论坛。
会上，极限科技创始人兼 CEO 曾勇针对《Elasticsearch 国产化在移动云的演进之路》主题进行演讲，演讲围绕了什么是 Elasticsearch 以及 Elasticsearch 在移动云上的国产化演进过程。
Elasticsearch 在移动云的演进 # 随着数字化转型的不断深化，非结构化数据日益成为各类组织数据的增长主力，但其在管理和应用方面仍面临模态多样、管理复杂、检索挖掘难度大等挑战。为此，极限科技与移动云共同研发出企业级搜索引擎软件 Easysearch。
“Easysearch” 是极限科技在 Elasticsearch 软件原版本基础上，立足中国企业需求，助力移动云打造更符合其需求，独具 8 大特色功能的自有开源平替版本系统。&amp;ndash; 极限科技创始人兼 CEO 曾勇在会上介绍道
移动云版本 “Easysearch” 精简 Kernel ，只保留开源核心能力，回归轻量化；增强内核后，可更稳定可靠地支持万亿级数据规模；为进一步增强安全能力，系统支持字段内容脱敏的同时对字段级别采取权限控制；可降低灾难恢复时间，系统具备完整的备份与容灾能力，可实时切换；为更好地服务业务场景，此版本更关注搜索场景的优化；增强型中文分词，提供本地化的词库与拼音支持；增强数据压缩能力后，最高可降低 40%存储空间；信创兼容的系统，支持适配国产操作系统和 CPU 芯片。
目前 Elasticsearch 为移动云提供的后端架构，已由基于 Docker 容器的“移动云 ES v1.0”升级为基于 K8s 架构的“移动云 ES v2.0”版本。其优势可以体现在：
新版本更具自主可控性，应对新需求更具灵活性； 基于 K8s 架构的系统，能支持更大规模的集群服务； 在支持全链路 IPv6 和本地磁盘（IO 隔离）的基础上，实现了更优性能的升级。 Elasticsearch 在中国已有近十万+开发者，上万家企业已经在生产环境大规模运行 Elasticsearch，服务客户包括知名互联网公司及大型企事业单位，覆盖全国范围内生活消费、金融投资、娱乐学习、软件应用与安全等领域知名企业。&amp;ndash; 极限科技创始人兼 CEO 曾勇在会上介绍道
极限科技创始成员多来自 Elasticsearch 中国团队，深耕搜索及 Elasticsearch 十多年，且运营有国内最大的开源搜索技术社区，极限科技团队具备雄厚的技术实力和丰富的相关行业经验技术积累。</description></item><item><title>国内首家 | 极限科技率先完成信通院搜索型数据库行业标准测试</title><link>https://infinilabs.cn/blog/2023/the-first-to-complete-the-evaluation-of-search-database-products/</link><pubDate>Sat, 06 May 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/the-first-to-complete-the-evaluation-of-search-database-products/</guid><description> 随着数字化转型的深入，非结构化数据越来越多地出现在各种类型的数据中，成为了最主要的数据元素，其中蕴藏着巨大的价值。根据 IDC 的预测，到 2025 年，非结构化的数据将占到 80%，而高德纳公司的预测，到 2024 年，这一数字将会是现在的三倍。当前，非结构化数据存在表征多样、管理复杂、价值挖掘困难等问题，而基于自动分词、倒排索引、关联度计算、矢量检索等技术的检索数据库，是实现非结构化数据高效处理的基本工具，自 90 年代产生至今，一直在发展和演变，已成为数据库研究的一个重要分支。
顺利完成首个搜索型数据库产品能力测试 # 《搜索型数据库技术要求》是中国信通院云计算与大数据研究所依托中国通信标准化协会大数据技术标准推进委员会（CCSA TC601）和中国信通院数据库应用创新实验室（CAICT DBL），联合阿里云、拓尔思、极限科技、星环科技、科大讯飞、百度、联通软研院等多家企业专家参与编制，融合国内行业专家丰富的实践经验与智慧，对搜索型数据库基础能力进行综合评判的行业权威标准。
2023 年 4 月 18 日，在中国信通院组织的第一批“搜索型数据库”产品能力评测中，极限数据 (北京) 科技有限公司（以下简称：极限科技）的 INFINI Easysearch 搜索型数据库软件【Easysearch】顺利完成了首个搜索型数据库产品能力测试。该测评依据《搜索型数据库技术要求》进行，该标准融合了国内行业专家丰富的实践经验与智慧，是对搜索型数据库基础能力的综合评判，覆盖数据库基本能力、数据库管理能力、数据库安全能力、数据库兼容能力、数据库扩展能力、数据库高可用能力，共计 32 个测试项目，包括 12 个必选项和 20 个可选项。
搜索型数据库在各行业的重要应用 # 1.金融行业:搜索型数据库可以帮助金融机构快速检索和分析海量的客户交易数据，预测市场趋势、评估客户风险、优化交易策略等。
2.通信行业:搜索型数据库可以帮助运营商管理和分析海量的网络数据，例如网络流量、网络性能、用户活跃度等，从而提高网络效率和用户体验。
3.制造业:搜索型数据库可以帮助制造企业高效管理和分析海量的生产数据，例如生产效率产品质量、供应链信息等，从而提高生产效率和产品质量。
4.零售行业:搜索型数据库可以帮助零售商快速检索和分析海量的销售数据，例如顾客购买记录、商品销售趋势、促销活动效果等，从而更好地制定营销策略、优化商品库存管理、提高销售业绩等。
5.医疗行业:搜索型数据库可以帮助医疗机构快速检索和分析海量的医疗数据，例如患者病历、医学论文、药品说明书等，从而更好地研究疾病、制定治疗方案、优化医疗资源等。
6.教育行业:搜索型数据库可以帮助教育机构快速检索和分析海量的教学数据，例如学生成绩、课程评价、教师绩效等，从而更好地优化教学策略、提高教学质量等。
INFINI Easysearch # 极限科技研发的 INFINI Easysearch，是一款具备自主可控的分布式近实时搜索型数据库产品，具备高性能、高可用、弹性伸缩、高安全性等特性，具备支持丰富的个性化搜索及聚合分析能力，可部署在物理机、虚拟机、容器、私有云和公有云，能承载 PB 级别的海量业务数据，为金融核心系统、运营商、制造业和政企业务系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力，可满足不同业务场景的各项复杂需求。
除了 Easysearch，极限科技还提供用于构建企业搜索基础设施的完整解决方案，通过云原生的方式来让企业高效治理大规模搜索集群，将分散的各个业务搜索计算资源合并归拢，通过资源统一调度管控，提升整体资源利用率和系统弹性，降低系统复杂度和 IT 运营成本，来持续满足业务的灵活多变需求，结合统一的安全、监控、告警、运维和管理等能力，达到统一管理、统一治理，降本增效，实现企业的搜索基础设施的平台化运营。
国内搜索型数据库最近几年发展迅速，关键技术逐渐突破，应用场景和数据规模也逐年上升，已经成为企业必不可少的核心基础设施，产业生态也日益繁荣。极限科技作为国内搜索型数据库产品厂商第一梯队的杰出代表，同时也是行业标准的起草单位之一，此次测试的成功通过，不仅代表着对 INFINI Easysearch 搜索型数据库软件 Easysearch 的权威性肯定，更代表着极限科技在“搜索数据库”产品的研究与创新上，取得了新的里程碑。
相关链接：
国内首家 | 极限科技完成搜索型数据库产品评测</description></item><item><title>喜讯！极限科技荣获一项国家发明专利授权：《数据可视化分析方法》</title><link>https://infinilabs.cn/blog/2023/news-20230429/</link><pubDate>Sat, 29 Apr 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230429/</guid><description>近日，由极限数据（北京）科技有限公司自主研发的《数据可视化分析方法、装置、电子设备及存储介质》研究成果成功获得国家发明专利授权（专利号：ZL 2023 1 0188025.8）。
该技术是一种基于大数据的自动可视化分析方法，该方法基于数据的元数据和其各自的特征，通过后端算法自动计算出多维度的统计数据，并自动评估各个指标的重要度和是否存在分析价值，并进行重要度打分和排序，并挑选出最重要的指标，并自动生成可视化图表 Dashboard。该技术能够将海量数据转化为直观、易于理解的图形，帮助用户更好地理解和分析数据。
该技术获得国家发明专利授权，标志着极限科技在大数据领域的技术实力和创新能力得到了认可。极限科技将继续加强技术创新和研发投入，为用户提供更加优质的产品和服务。</description></item><item><title>极限科技正式成为北京软件协会会员单位</title><link>https://infinilabs.cn/blog/2023/news-20230427/</link><pubDate>Thu, 27 Apr 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/news-20230427/</guid><description>近日，极限数据（北京）科技有限公司正式加入北京软件和信息服务协会，成为第十届理事会会员单位。
北京软件和信息服务业协会成立于 1986 年 10 月 21 日，是国内最早成立的软件行业协会之一，是经北京市民政局批准注册的社会组织。协会秉承“提供价值服务 促进产业发展”的宗旨，践行“服务企业 沟通政府 回馈社会”的职能，为北京软件和信息服务业企业提供全方位、高质量的服务，目前拥有会员单位 3000 余家。
此次入选北京软件和信息服务协会会员单位，是对公司技术实力和市场影响力的高度认可，也是对公司未来发展的重要支持和帮助。我们将充分发挥协会的平台和资源优势，积极参与协会的各项活动和项目，共同推进行业繁荣发展和创新进步。我们也将继续秉承以产品质量推动国产技术兴起的理念，坚持自主研发，走科技自立之路，为国产品牌的崛起不断努力，更为国家信息技术高质量发展贡献自己的力量。</description></item><item><title>INFINI 产品更新｜Console v1.0 版本正式发布</title><link>https://infinilabs.cn/blog/2023/release-20230422/</link><pubDate>Sat, 22 Apr 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230422/</guid><description>本次 INFINI Labs 产品更新主要包括 Gateway v1.12.1、Console v1.0.0，其中 Console v1.0.0 是一个重要里程碑版本，该版本做了很多 UI 交互优化；集成了 Github SSO 单点登录功能；新增了数据迁移功能，支持跨搜索引擎、跨版本的数据迁移；新增了数据看板，支持自定义可视化报表；以及修复已知 Bug 等。值得一提的是，Console 非常轻量级，除了使用 Elasticsearch 当作存储外无任何依赖，安装包只有 16MB，架构简洁，除了使用 Elasticsearch 当作数据存储外无任何外部依赖，包含监控、告警、安全、可视化分析等日常管理功能，欢迎下载使用。在线体验 DEMO： https://play.infinilabs.com:64443，用户名密码 readonly/ReadOnly-9000。
INFINI Gateway v1.12.1 # 极限网关本次更新如下：
Bug fix # Elasticsearch 修复偶现连接断开的问题。 Elasticsearch 修复连接超时未返回错误信息的问题。 更多 Gateway 更新可参考【 Gateway 版本历史】。
INFINI Console v1.0.0 # Console 本次主要更新如下：
1、集成 Github 单点登录，方便快速登录，减少用户名和密码登录经常忘记带来的烦恼。详情查看 教程
2、新增了工作台界面，作为 Console 登录后的入口页面，可以快速预览整个系统的集群资源概要信息、集群动态、常用功能快捷入口等。
3、新增了数据迁移功能，支持 Elasticsearch、Opensearch、Easysearch 等搜索引擎的所有版本之间相互迁移。需要搭配 最新版本极限网关（INFINI Gateway） 使用，详情查看 教程
4、新增了数据看板功能，支持多标签页，支持折线图、柱状图、饼图等图表，支持用户自定义可视化数据报表，详情查看 教程</description></item><item><title>Arrow Flight SQL介绍</title><link>https://infinilabs.cn/blog/2023/what_is_flight_sql/</link><pubDate>Thu, 20 Apr 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/what_is_flight_sql/</guid><description>本文诣在简单介绍 Flight SQL 的诞生背景、缘由，并不涉及其中的具体实现等技术细节。
列存的时代 # 大数据时代，以数据分析为主的场景下，人们不再关心整个实体，而仅仅关注其中的某个属性，这种情况下，如果数据在磁盘上按行存储，我们需要将所有行都从磁盘上读取出来，但仅仅用其中某列的一小部分数据，造成 I/O 浪费。如果数据是按列存放在磁盘上的，那我们仅需要读取所需列在磁盘上占用的一小块数据，大大节省了磁盘 I/O。
此外，由于列存是将相同列存放到一起，其具有相同的数据类型，相较于行存将不同类型的数据存放到一起，列存可以达到更好的压缩效果。
列存时代下仍然是行存的基础设施 # 现在是列存的时代，许多数据库在积极地拥抱列存来满足数据分析场景下的需求，但我们的基础设施却仍是以行存为主的。比如，数据库 client 与 server 通讯的协议。
JDBC 和 ODBC 是在行存时代下常见的基于行存的通讯协议，在之前 client 和 server 都是基于行存的情况下，这是没有问题的：
但在如今 client 和 server 都积极拥抱列存的情况下，就没有那么好了。为了使用 JDBC/ODBC，数据从 server 传到 client 时必须先转换为行存格式，以便被 JDBC/ODBC 传输，当数据传到 client 后，client 又必须将行存数据转化为列存数据，才可以进行处理。这其中行存与列存的转换，是序列化与反序列化的过程，其开销并不小。
我们完全可以避免这种不必要的转换，如果我们的传输协议也是基于列存的。
使用列存格式进行数据传输 # Apache Arrow 作为现如今广为应用的内存列存格式，为什么不做一个基于 Arrow 的传输协议呢，Apache Arrow 社区也是这么想的，所以 Apache Flight 应运而生。
那什么是 Flight SQL # 我们已经知道了什么是 Flight，那为什么又有了 Flight SQL? 因为:
Flight client 和 server 通讯发送的仅仅是一串字节 Flight 支持任何表格数据(tabular data)，而非专门针对数据库 所以我们可以发现 Flight 其实是一种比较通用的协议，对于数据库的操作而言，它并不能被称为一种标准，Flight SQL 就是在 Flight 基础之上，对 SQL 提供专有支持的 SQL 数据库通讯协议。</description></item><item><title>INFINI Console 全新升级，支持纳管更多搜索引擎</title><link>https://infinilabs.cn/blog/2023/console_support_opensearch_easysearch/</link><pubDate>Tue, 18 Apr 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/console_support_opensearch_easysearch/</guid><description>Elasticsearch 是一款非常流行的大数据搜索与分析引擎，企业可以基于它构建自己的大规模搜索或者日志中心，也可以结合自己的业务数据，满足各种各样场景的开发需求，功能强大受到广大开发者的喜欢。
随着业务数据不断接入到 Elasticsearch，目前大部分企业内部都不止部署一套 Elasticsearch 集群，索引数量变多，集群变多，管理和维护成本也会随之增加，传统的管理工具往往借助于 Kibana。而 Kibana 作为一个普通的分析工具是不错的，但是对于企业多集群的场景则有些力不从心，并且 Elasticsearch 和 Kibana 的版本是强绑定关系，一套 Elasticsearch 集群就需要部署一套 Kibana，随着集群的增多，运维人员或者开发人员往往需要穿梭在多套集群中间就没有那么方便了。并且企业内部还有可能存在多个版本的 Elasticsearch 并存的情况。
为了解决目前企业日益增多的搜索基础设施的管理难题，我们开发了 INFINI Console 这款工具：
INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管， 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。 INFINI Console 还可以对集群内的索引及数据进行操作管理，可以配置灵活的告警规则，可以指定统一的安全策略，可以查看各个维度的日志和审计信息，真正实现企业级的搜索服务平台化建设和运营。
经过一年多的研发，INFINI Console 已经完成了基础的多集群管理能力，各项功能趋于稳定，具备多集群集中纳管的能力：
介绍视频 # 关于的 INFINI Console 的功能介绍视频如下：
.aspect-ratio { position: relative; width: 100%; height: 0; padding-bottom: 75%; } .aspect-ratio iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; } 引擎支持 # 除了实现了对 Elasticsearch 各个版本的兼容处理，Console 还另外新增了的两个搜索引擎的纳管支持，分别是：</description></item><item><title>INFINI Labs 公司宣传片</title><link>https://infinilabs.cn/blog/2023/infini-labs-intro-video/</link><pubDate>Sat, 08 Apr 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/infini-labs-intro-video/</guid><description>公司宣传片 # .aspect-ratio { position: relative; width: 100%; height: 0; padding-bottom: 75%; } .aspect-ratio iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; } 极限科技，全称极限数据（北京）科技有限公司。
我们是一家专注于实时搜索与实时数据分析的软件公司。
我们致力于打造极致易用的数据探索与分析体验，正在打造下一代实时搜索引擎。
我们也正在 招聘，欢迎感兴趣的小伙伴加入我们，和我们一起打造世界级的数据产品！</description></item><item><title>【ES 大会分享】Elasticsearch 多集群管理最佳实践</title><link>https://infinilabs.cn/blog/2023/elasticsearch-multi-cluster-management-best-practices/</link><pubDate>Sat, 08 Apr 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/elasticsearch-multi-cluster-management-best-practices/</guid><description>分享介绍 # 演讲：Elasticsearch 多集群管理最佳实践
摘要： 1、集群管理面临的挑战 2、集群管理常用的工具 3、客户实际运维案例和经验分享 3.1、如何诊断集群问题 3.2、如何进行集群监控 3.3、如何进行灾备和恢复 4、根据实际项目经验得出一些最佳实践建议
视频回放 # .aspect-ratio { position: relative; width: 100%; height: 0; padding-bottom: 75%; } .aspect-ratio iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; }</description></item><item><title>【ES 大会分享】Elasticsearch 无缝数据迁移实践</title><link>https://infinilabs.cn/blog/2023/seamless-migration-best-practice/</link><pubDate>Sat, 08 Apr 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/seamless-migration-best-practice/</guid><description>分享介绍 # 演讲：Elasticsearch 无缝数据迁移实践
摘要：&amp;ldquo;话说产品经理和程序员最近眼神有点怪，业务迭代突然变快，Mapping 天天改，这下把运维折磨的不成人型，为了升级 Elasticsearch 常常熬夜到天明。除了数据重建、版本升级，总经理天天念叨什么上云、下云，跨云，反正头大。&amp;rdquo; 本次分享主要围绕上面运维同学的提到的头疼问题，给大家分享一下 Elasticsearch 如何进行数据迁移的那点事吧，希望大家早点下班，不用熬夜。
视频回放 # .aspect-ratio { position: relative; width: 100%; height: 0; padding-bottom: 75%; } .aspect-ratio iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; }</description></item><item><title>通过极限网关来加速索引写入速度</title><link>https://infinilabs.cn/blog/2023/accelerate-write-speeed-with-gateway/</link><pubDate>Wed, 15 Mar 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/accelerate-write-speeed-with-gateway/</guid><description>操作手册 # 测试环境 # 主集群： http://10.0.1.2:9200 , 用户名: elastic 密码：*** ,9 节点 , 硬件规格：12C64GB (31GB JVM) 备集群： http://10.0.1.15:9200 , 用户名: elastic 密码：*** ,9 节点 , 硬件规格：12C64GB (31GB JVM) 网关服务器 1(公网 IP:120.92.43.31，内网 IP:192.168.0.24) 硬件规格：40C 256GB 3.7T NVME SSD 压测服务器 1(内网 IP: 10.0.0.117) 硬件规格：24C 48GB 压测服务器 2(内网 IP: 10.0.0.69) 硬件规格：24C 48GB 测试说明 # 本次测试主要验证网关索引加速的可操作性，以及评估达到不同性能所需要的硬件规格，用于实际生产环境的部署配置参考。
场景描述 # 网关通过将请求按照目标节点来重新组合，实现请求快慢分离，从而提高整体集群的写入吞吐。
数据描述 # 以 Loadgen 自动生成的 Nginx 数据为例来介绍，分别就直接写 Elasticsearch 和走网关来写 Elasticsearch，对比他们的速度差异，执行步骤依次说明。数据样例：</description></item><item><title>INFINI 产品更新｜Loadrun 首发亮相</title><link>https://infinilabs.cn/blog/2023/release-20230224/</link><pubDate>Fri, 24 Feb 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/release-20230224/</guid><description>INFINI Labs 为大家又带来一波产品更新，包括 Gateway v1.10.0、Console v0.8.0、Loadgen v1.5.0、Loadrun v0.1.0，其中 Loadrun 是本次产品更新中首发亮相，它是一个用来批量运行 Loadgen 测试用例的工具。欢迎大家下载体验。
INFINI Gateway v1.10.0 # 极限网关本次更新如下：
Features # 配置文件中支持环境变量 添加 ratio filter 选项操作，允许立即丢弃请求 添加 context_parser filter 添加 context_switch filter 添加 _sys.* 到请求上下文 更多 Gateway 更新可参考【 Gateway 版本历史】。
INFINI Console v0.8.0 # 本次极限 Console 版本更新主要新增了凭据管理功能，凭据敏感信息使用加密存储。凭据管理可以帮助我们将身份验证信息集中管理，需要用的地方直接引用，提高了身份验证信息的存储安全性。
需要注意的是，如果您是初次安装部署，凭据敏感信息加密密钥在 INFINI Console 安装初始化是自动生成或用户自定义设置。该密钥需要用户妥善保存，如果密钥丢失，当升级 INFINI Console 并且重新初始化系统后，先前保存的凭据信息将无法解密。
在【系统管理】-【凭据管理】列表中可以查询已创建的凭据信息，支持增删查改等基本操作。
更多详情可参考文档（ https://docs.infinilabs.com/console/main/zh/reference/system/credential）。
Console 其他功能优化如下：
Improvements # KV 内存占用优化 Bug fix # 修复了网关实例列表 CPU 数值显示问题 修复了系统服务健康监控错误提示 更多 Console 更新可参考【 Console 版本历史】。</description></item><item><title>关于 Elasticsearch 不同分片设置的压测报告</title><link>https://infinilabs.cn/blog/2023/pressure-with-diff-shards-setting/</link><pubDate>Wed, 15 Feb 2023 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/pressure-with-diff-shards-setting/</guid><description>摘要 # 为了验证当前集群经常出现索引超时以及请求拒绝的问题，现模拟线上集群环境及索引设置，通过压测工具随机生成测试数据，针对当前的 850 个分片的索引，以及减半之后的索引，以及更小分片索引的写入进行压测，使用不同的并发、不同的批次大小来观察索引的吞吐情况，并记录写入队列的堆积情况，用来分析分片数、批次数对写入的影响，从而确定后续的优化方案。
压测场景 # Elasticsearch 版本 v7.7.1, 共有 57 个节点，其中 3 个独立 Master，3 个协调节点，31GB JVM。
压测流程 # 单索引 850 分片 # 展开查看索引定义 ... PUT idx-xxxx-xxxxxx { &amp;quot;aliases&amp;quot; : { &amp;quot;alias-xxxx-xxxxxx&amp;quot; : { } }, &amp;quot;mappings&amp;quot; : { &amp;quot;dynamic&amp;quot; : &amp;quot;strict&amp;quot;, &amp;quot;_routing&amp;quot; : { &amp;quot;required&amp;quot; : true }, &amp;quot;_source&amp;quot; : { &amp;quot;excludes&amp;quot; : [ &amp;quot;isExtract*&amp;quot;, &amp;quot;batchNo&amp;quot; ] }, &amp;quot;properties&amp;quot; : { &amp;quot;addxxxx&amp;quot; : { &amp;quot;type&amp;quot; : &amp;quot;text&amp;quot;, &amp;quot;term_vector&amp;quot; : &amp;quot;with_positions_offsets&amp;quot; }, &amp;quot;clxxxx&amp;quot; : { &amp;quot;type&amp;quot; : &amp;quot;byte&amp;quot; }, &amp;quot;contxxxx&amp;quot; : { &amp;quot;type&amp;quot; : &amp;quot;text&amp;quot;, &amp;quot;boost&amp;quot; : 4.</description></item><item><title>使用 JavaScript 脚本来进行复杂的查询改写</title><link>https://infinilabs.cn/blog/2023/path_rewrite_by_javascript/</link><pubDate>Tue, 19 Apr 2022 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/path_rewrite_by_javascript/</guid><description>有这么一个需求：
网关里怎样对跨集群搜索进行支持的呢？我想实现: 输入的搜索请求是 lp:9200/index1/_search 这个索引在 3 个集群上，需要跨集群检索，也就是网关能否改成 lp:9200/cluster01:index1,cluster02,index1,cluster03:index1/_search 呢？ 索引有一百多个，名称不一定是 app, 还可能多个索引一起的。
极限网关自带的过滤器 content_regex_replace 虽然可以实现字符正则替换，但是这个需求是带参数的变量替换，稍微复杂一点，没有办法直接用这个正则替换实现，有什么其他办法实现么？
使用脚本过滤器 # 当然有的，上面的这个需求，理论上我们只需要将其中的索引 index1 匹配之后，替换为 cluster01:index1,cluster02,index1,cluster03:index1 就行了。
答案就是使用自定义脚本来做，再复杂的业务逻辑都不是问题，都能通过自定义脚本来实现，一行脚本不行，那就两行。
使用极限网关提供的 JavaScript 过滤器可以很灵活的实现这个功能，具体继续看。
定义脚本 # 首先创建一个脚本文件，放在网关数据目录的 scripts 子目录下面，如下：
➜ gateway ✗ tree data data └── gateway └── nodes └── c9bpg0ai4h931o4ngs3g ├── kvdb ├── queue ├── scripts │ └── index_path_rewrite.js └── stats 这个脚本的内容如下：
function process(context) { var originalPath = context.Get(&amp;quot;_ctx.request.path&amp;quot;); var matches = originalPath.match(/\/?(.*?)\/_search/) var indexNames = []; if(matches &amp;amp;&amp;amp; matches.</description></item><item><title>为 Elasticsearch 无缝添加代理和基础安全</title><link>https://infinilabs.cn/blog/2023/proxy_elasticsearch/</link><pubDate>Thu, 31 Mar 2022 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/proxy_elasticsearch/</guid><description>如果你的 Elasticsearch 版本比较多或者比较旧，或者没有设置 TLS 和身份信息，那么任何人都有可能直接访问 Elasticsearch，而使用极限网关可以快速的进行修复。
使用 Elasticsearch 过滤器来转发请求 # 首先定义一个 Elasticsearch 的资源，如下：
elasticsearch: - name: prod enabled: true endpoint: http://192.168.3.201:9200 然后可以使用如下的过滤器来转发请求到上面定义的 Elasticsearch 资源，名称为 prod：
- elasticsearch: elasticsearch: prod 有关该过滤器的更多详情，请参考文档： elasticsearch filter
添加一个简单的身份验证 # 我们进行添加一个基础的身份验证，来限制目标集群的访问
- basic_auth: valid_users: medcl: passwd 开启 TLS # 如果设置了身份，但是没有设置 TLS 也是不行的，因为 HTTP 是明文传输协议，可以非常容易泄露密码，配置如下：
- name: my_es_entry enabled: true router: my_router max_concurrency: 10000 network: binding: 0.0.0.0:8000 tls: enabled: true 通过地址 https://localhost:8000 就可以访问到 prod 的 Elasticsearch 集群。</description></item><item><title>为 Kibana 添加代理和基础安全</title><link>https://infinilabs.cn/blog/2023/proxy_kibana/</link><pubDate>Mon, 21 Feb 2022 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/proxy_kibana/</guid><description>如果你的 Kibana 版本比较多或者比较旧，或者没有设置 TLS 和身份信息，那么任何人都有可能直接访问 Kibana，而使用极限网关可以快速的进行修复。
使用 HTTP 过滤器来转发请求 # - http: schema: &amp;quot;http&amp;quot; #https or http host: &amp;quot;192.168.3.188:5602&amp;quot; 添加身份验证 # - basic_auth: valid_users: medcl: passwd 在路由里面可以替换静态资源 # - method: - GET pattern: - &amp;quot;/plugins/kibanaReact/assets/illustration_integrations_lightmode.svg&amp;quot; flow: - replace_logo_flow 开启 TLS # - name: my_es_entry enabled: true router: my_router max_concurrency: 10000 network: binding: 0.0.0.0:8000 tls: enabled: true 完整配置如下 # entry: - name: my_es_entry enabled: true router: my_router max_concurrency: 10000 network: binding: 0.</description></item><item><title>查询请求流量日志分析</title><link>https://infinilabs.cn/blog/2023/request-logging/</link><pubDate>Mon, 27 Dec 2021 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/request-logging/</guid><description>极限网关能够跟踪记录经过网关的所有请求，可用来分析发送给 Elasticsearch 的请求情况，用于分析请求性能和了解业务运行情况。
设置网关路由 # 如果需要开启极限网关的查询日志分析，需要在路由上面配置 tracing_flow 参数，设置一个流程来记录请求日志。
router: - name: default tracing_flow: request_logging default_flow: cache_first 上面的配置定义了一个名为 default 的路由，默认的请求流程为 cache_first，用于日志记录的流程为 request_logging。
定义日志流程 # 日志处理流程配置 request_logging 的定义如下：
flow: - name: request_logging filter: - request_path_filter: must_not: # any match will be filtered prefix: - /favicon.ico - request_header_filter: exclude: - app: kibana # in order to filter kibana's access log, config `elasticsearch.customHeaders: { &amp;quot;app&amp;quot;: &amp;quot;kibana&amp;quot; }` to your kibana's config `/config/kibana.yml` - logging: queue_name: request_logging 上面的流程里面使用了若干个过滤器：</description></item><item><title>Apache Log4j 漏洞处置</title><link>https://infinilabs.cn/blog/2023/log4j2_filtering/</link><pubDate>Sat, 11 Dec 2021 08:00:00 +0800</pubDate><guid>https://infinilabs.cn/blog/2023/log4j2_filtering/</guid><description>【CVE 地址】
https://github.com/advisories/GHSA-jfh8-c2jp-5v3q
【漏洞描述】
Apache Log4j 是一款非常流行的开源的用于 Java 运行环境的日志记录工具包，大量的 Java 框架包括 Elasticsearch 的最新版本都使用了该组件，故影响范围非常之大。
近日, 随着 Apache Log4j 的远程代码执行最新漏洞细节被公开，攻击者可通过构造恶意请求利用该漏洞实现在目标服务器上执行任意代码。可导致服务器被黑客控制，从而进行页面篡改、数据窃取、挖矿、勒索等行为。建议使用该组件的用户第一时间启动应急响应进行修复。
简单总结一下就是，在使用 Log4j 打印输出的日志中，如果发现日志内容中包含关键词 ${，那么这个里面包含的内容会当做变量来进行替换和执行，导致攻击者可以通过恶意构造日志内容来让 Java 进程来执行任意命令，达到攻击的效果。
【漏洞等级】：非常紧急
此次漏洞是用于 Log4j2 提供的 lookup 功能造成的，该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中，并未对输入进行严格的判断，从而造成漏洞的发生。
【影响范围】：Java 类产品：Apache Log4j 2.x &amp;lt; 2.15.0-rc2
【攻击检测】
可以通过检查日志中是否存在 jndi:ldap://、jndi:rmi 等字符来发现可能的攻击行为。
处理办法 # 如果 Elasticsearch 不能修改配置、或者替换 Log4j 的 jar 包和重启集群的，可以使用极限网关来进行拦截或者参数替换甚至是直接阻断请求。 通过在网关层对发往 Elasticsearch 的请求统一进行参数检测，将包含的敏感关键词 ${ 进行替换或者直接拒绝， 可以防止带攻击的请求到达 Elasticsearch 服务端而被 Log4j 打印相关日志的时候执行恶意攻击命令，从而避免被攻击。
参考配置 # 下载最新的 1.5.0-SNAPSHOT 版本 http://release.elasticsearch.cn/gateway/snapshot/
使用极限网关的 context_filter 过滤器，对请求上下文 _ctx.</description></item><item><title>2023 年中国数据库年度行业分析报告</title><link>https://infinilabs.cn/whitepaper/2023-china-db-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/whitepaper/2023-china-db-report/</guid><description>本报告由墨天轮数据社区联合众多单位共同编制发布，参与单位如下（排名不分先后）：北京大学、清华大学、达梦数据库、华为技术有限公司、极限科技（INFINI Labs）、深算院 YashanDB、云和恩墨、浪潮 KaiwuDB、百度云、飞轮科技等。
前言 # 本年度报告旨在全面梳理 2023 年中国数据库行业的年度发展情况，从数据库流行度、市场动态、生态建设、资本投资，以及国产数据库在金融行业核心系统的替代进程等多个维度进行深入分析。同时，报告展现了数据库的技术演进，包括但不限于云原生数据库的兴起、分布式数据库的广泛应用、智能化数据库技术的发展趋势等。
2023 年中国数据库行业在技术创新、市场认可和国际竞争中取得了积极进展。预计中国数据库市场将继续保持强劲的增长势头，本土厂商将进一步巩固和扩大其在全球数据库产业中的地位。特别是在金融、云服务和大数据等关键领域，中国数据库厂商有望发挥更大的影响力，推动整个行业向更高效、更安全、更智能的方向发展。
通过本报告，我们期望为业界提供一份客观、全面的行业发展参考，为数据库技术爱好者、企业决策者和专业人士提供宝贵的信息资源。我们相信，在政策支持、市场需求和技术进步的共同推动下，中国数据库行业将继续保持强劲的发展势头，在全球数据库领域占据更加重要的位置。未来，我们期待国产数据库能够继续深化技术创新，推动行业向更高层次的发展，为我国乃至全球的数字经济贡献更大的力量。
内容大纲 # 第一章：中国数据库发展现状 # 1、中国数据库流行度
2、中国数据库产品分析
3、数据库市场规模
4、金融核心系统替换进程
5、电信行业系统迁移改造
6、上市融资
7、开源生态
8、数据行业分析报告
9、数据库行业大事记
10、数据库国产化进程及标准化政策
11、数据库大会展现产业未来图景
12、数据库产业图谱
13、数据库社区年度发展概况
14、数据库高校学术力量蓬勃发展
15、墨天轮 2023 年度数据库获奖名单
第二章：数据库关键技术及发展趋势 # 1、云原生
2、HTAP
3、共享集群
4、超融合数据库
5、KV 数据库
6、多模态数据库
7、搜索型数据库
8、图数据库
9、文档数据库
10、时序数据库
11、向量数据库
12、流式数据库
13、空间数据库
14、数据仓库
15、数据湖
16、数据库兼容性
17、数据库内核创新
18、数据原生时代的数据库
19、从数据库到数据计算系统
20、自然语言交互
21、自动驾驶数据库
第三章：数据库新兴硬件及生态产品 # 1、处理器
2、存储
3、一体机
4、智能运维
5、云管平台
6、安全管控平台</description></item><item><title>2024 TDBC - 搜索型数据库白皮书</title><link>https://infinilabs.cn/whitepaper/2024-tdbc-search-db-whitepaper/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/whitepaper/2024-tdbc-search-db-whitepaper/</guid><description>本报告的撰写得到了数据库领域多家企业与专家的支持和帮助，主要参与编写单位如下（排名不分先后）：
大数据技术标准推进委员会、极限数据（北京）科技有限公司、拓尔思信息技术股份有限公司、中移（苏州）软件技术有限公司、星环信息科技（上海）股份有限公司、北京人大金仓信息技术股份有限公司、达梦数据技术（江苏）有限公司、腾讯云计算（北京）有限责任公司、中移（杭州）信息技术有限公司。
本报告来源于：CCSA TC601 大数据技术标准推进委员会。
前言 # 随着数据智能时代的到来，非结构化数据日益成为各类组织数据的增长主力，蕴含巨大价值，如何高效存储并利用非结构化数据，成为业内关注的焦点。以自动分词、倒排索引、相关度计算、向量检索引擎等技术为核心构建的搜索型数据库，作为高效处理非结构化数据的基础软件，逐渐成为数据智能时代的基石。
搜索型数据库结合全文检索引擎和 NoSQL 数据库的特点，相较于传统的关系型数据库，在处理大规模数据、实现快速检索和智能分析方面展现出显著的优势。近年来，搜索型数据库进一步集成了深度学习、向量搜索和 AI 大模型等尖端技术，使其不仅能够处理基础的文本搜索，还能胜任地理位置信息、图片、音视频等多模态数据的复杂检索任务。然而，搜索型数据库在性能优化、数据一致性保障以及安全性维护等方面仍面临挑战。
本白皮书全面介绍了搜索型数据库的基本概念、发展轨迹和技术架构，同时深入探讨了其在电子商务、金融、医疗健康等关键应用场景中的运用。结合当前搜索型数据库的发展现状和面临的主要问题，本白皮书提出了关于数据库的选择、应用实施的策略，并展望了搜索型数据库未来的发展方向和演进趋势，旨在为行业内外的相关利益方提供宝贵的参考和指导。
内容大纲 # 一、搜索型数据库概述 # （一）搜索型数据库概念
（二）搜索型数据库发展历程
（三）搜索型数据库的挑战
二、搜索型数据库技术详解 # （一）搜索型数据库核心技术
（二）搜索型数据库关键特性
三、搜索型数据库应用场景 # （一）业务场景
（二）行业应用
四、搜索型数据库能力模型 # （一）基础能力模型
（二）能力模型的符合性验证情况
五、搜索型数据库应用与实施建议 # （一）数据建模和索引设计
（二）性能调优与监控
（三）安全性考量
（四）应用案例
六、搜索型数据库演进趋势 # （一）多模态数据的融合处理和分析
（二）人工智能与搜索型数据库的结合
（三）云原生架构的演进
（四）其它技术对搜索型数据库的影响
七、总结和展望 #</description></item><item><title>AI 搜索与企业知识库管理解决方案</title><link>https://infinilabs.cn/solution/ai-knowledge-base/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/solution/ai-knowledge-base/</guid><description/></item><item><title>Easysearch v1.0 搜索型数据库基础能力检验报告</title><link>https://infinilabs.cn/whitepaper/easysearch-search-db-testing-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/whitepaper/easysearch-search-db-testing-report/</guid><description> 2023 年 4 月 18 日，在中国信通院组织的第一批“搜索型数据库”产品能力评测中，极限数据 (北京) 科技有限公司（以下简称：极限科技）的 Easysearch 搜索型数据库软件顺利完成了首个搜索型数据库产品能力测试。
该测评依据《搜索型数据库技术要求》进行，该标准融合了国内行业专家丰富的实践经验与智慧，是对搜索型数据库基础能力的综合评判，覆盖数据库基本能力、数据库管理能力、数据库安全能力、数据库兼容能力、数据库扩展能力、数据库高可用能力，共计 32 个测试项目，包括 12 个必选项和 20 个可选项。
内容大纲 # 第一部分：数据库基本功能 # 非结构化数据检索 全文检索（可选） 向量检索（可选） 地理信息查询（可选） 组合索引查询（可选） 多语种支持（可选） 聚合分析（可选） 索引定义与管理 数据导入 数据导出（可选） 数据压缩（可选） 数据一致性 相关度排序 基于字段值的排序 组合排序（可选） 检索语法 自定义插件（可选） 数据类型丰富度 数据类型丰富度（可选） 第二部分：数据库管理能力 # 数据库监控 数据库告警（可选） 数据备份（可选） 数据恢复（可选） 日志与审计 第三部分：数据库安全能力 # 身份认证 访问控制 第四部分：数据库兼容能力 # CPU 兼容性（可选） 操作系统兼容性（可选） 第五部分：数据库扩展能力 # 集群扩容（可选） 集群缩容（可选） 第六部分：数据库高可用能力 # 数据高可用（可选） 服务高可用（可选）</description></item><item><title>Easysearch 授权协议</title><link>https://infinilabs.cn/agreement/easysearch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/agreement/easysearch/</guid><description>Easysearch 授权协议 # 更新日期：2023 年 6 月 8 日
生效日期：2023 年 6 月 8 日
本授权协议（以下简称“协议”）是由您（以下简称“用户”）与极限数据（北京）科技有限公司（以下简称“公司”）之间就公司的软件产品 Easysearch（以下简称“软件”）的使用而订立的法律协议。在同意本协议之前，请仔细阅读并确保您充分理解本协议的所有条款。通过安装、复制或以其他方式使用本软件，您即表示您接受本协议的所有条款和条件。如果您不同意本协议的任何条款，请不要使用本软件。
1.授权范围 # 1.1 软件的许可：公司授权用户使用本软件，用于个人或内部商业用途，以非排他性、不可转让的方式。
1.2 复制与分发：用户可以为了备份或在自己的设备上安装使用，无需支付额外费用。用户不得复制、分发或提供给第三方出售本软件的副本，或将本软件用于商业目的。
1.3 版本更新：公司可能会不时提供软件的更新版本，用户可以选择是否进行更新。更新版本将受到本协议的约束。
2.知识产权 # 2.1 软件所有权：本软件是公司的财产，受中国和国际知识产权法律和条约的保护。公司保留本软件的所有权利。
2.2 用户行为：用户不得以任何形式侵犯公司的知识产权，包括但不限于复制、修改、翻译、逆向工程、反编译、分解或创作与本软件相似的衍生作品。
2.3 反馈意见：用户可以向公司提供与软件相关的反馈意见，但公司对这些意见不承担任何义务，并且可以自行决定是否采纳这些意见或将其用于软件的改进。
3.免责声明 # 3.1 软件的使用风险：用户理解并同意自行承担使用本软件的风险。本软件按“现状”提供，不提供任何明示或暗示的担保，包括但不限于对软件的适用性、无错误或无中断的保证。
3.2 软件的限制：用户理解并同意，本软件可能会存在缺陷或错误，公司不对软件的性能、功能或可靠性作任何承诺。
4.终止 # 4.1 用户终止权：用户可以随时终止本协议，停止使用本软件并删除所有与之相关的软件副本。
4.2 公司终止权：公司有权在任何时间终止本协议，禁止用户继续使用本软件，并要求用户删除所有与之相关的软件副本。
4.3 后果：在本协议终止后，用户应立即停止使用软件，并删除所有与之相关的软件副本。本协议终止不影响双方在终止前已产生的权利和义务，包括但不限于用户应对使用软件期间产生的任何费用和责任承担。
5.品牌展示 # 5.1 授权同意：用户同意，作为本协议的一部分，公司有权使用用户公司的品牌形象、商标、名称和相关信息（以下简称“品牌形象”），作为软件使用的案例展示。
5.2 使用范围：公司可以在公司的官方网站、社交媒体、市场推广材料和其他相关渠道上展示用户公司的品牌形象，以展示软件的应用案例。展示的方式包括但不限于文字描述、商标展示、用户公司名称的提及等。
5.3 免责声明：公司将尽力确保在展示用户公司的品牌形象时的准确性和完整性，但不对展示内容的准确性、及时性或适用性作任何明示或暗示的担保。公司不承担因展示用户公司的品牌形象而可能引发的任何纠纷或责任。
5.4 终止权：用户可以随时以书面形式通知公司终止公司使用用户公司的品牌形象作为案例展示。在收到终止通知后，公司将不再使用用户公司的品牌形象作为案例展示。
请注意，品牌展示条款旨在让公司能够展示用户公司的品牌形象，以展示软件的应用案例。如果用户不同意公司使用其品牌形象作为案例展示，请与公司联系以进一步协商并确定相关事宜。
6.其他条款 # 6.1 协议内容与修订：本协议内容包括本协议正文及所有我们已经发布或将来可能发布的隐私政策、各项规则、通知。前述内容均为本协议不可分割的组成部分，与本协议具有同等法律效力。为给你提供更好的服务或因国家法律法规、政策调整、技术条件、产品功能等变化需要，我们会适时对本协议进行修订，修订内容构成本协议的组成部分。本协议更新后，我们会以适当的方式提醒你更新的内容，以便你及时了解本协议的最新版本，你也可以在网站首页或软件设置页面查阅最新版本的协议条款。如你对修订后的协议内容存有异议，你有权立即停止使用本服务。如你在修订协议生效日后继续使用本服务，即表示你已同意接受修订后的本协议内容。
6.2 适用法律与管辖：本协议的成立、生效、履行、解释及争议解决均应适用中华人民共和国大陆地区法律。如果本协议的任何约定被判决或裁定无效，则这些条款应在不违反法律的前提下，按照尽可能接近本协议原条款目的的原则进行重新解释和适用，且不影响本协议中其他条款的效力。</description></item><item><title>Easysearch：助力中国一汽降本增效</title><link>https://infinilabs.cn/case/indexs/using-easysearch-to-help-automotive-companies-reduce-costs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/using-easysearch-to-help-automotive-companies-reduce-costs/</guid><description>客户介绍 # 中国一汽（中国第一汽车集团有限公司，简称“一汽集团”）是中国历史最悠久、规模最大的汽车制造企业之一，成立于 1953 年，总部位于吉林省长春市。作为中国汽车工业的摇篮，一汽集团是中央直属的国有特大型汽车企业，位列世界 500 强，业务涵盖整车研发、生产、销售、出行服务、金融等多个领域。
客户痛点/挑战 # 一汽集团需要针对当前 Elasticsearch(简称：ES) 集群进行优化，背景如下：ES 主要用于支撑包括集团内部核心营销系统、管理支持系统、财务类、IT 基础设施类、研发、自动驾驶等多个重要应用，合计超 50 余套集群，累计数据超 1.5PB 。部分集群写入数据时经常掉节点，写入性能也不稳定，当天的数据写不完，影响了相关业务系统正常运行并给技术团队带来了困扰，因此迫切需要新的解决方案。
解决方案 # 针对其中一个 ES 集群优化做具体案例分析，该集群原本使用的是 ES 7.3.2 免费版，数据已经 130TB 了，14 个节点。经过分析业务场景后总结需求要点：
主要是写，很少查； 审计需求，数据需要长期保存。 这个需求比较具有代表性，而极限科技推出的自主可控的 ES 平替产品 INFINI Easysearch 针对不同读写场景进行过极致优化，同时具备强大的数据压缩功能以及支持审计日志。结合 Easysearch 的解决方案如下：
使用 Easysearch 替代 ES，Easysearch 只需少量节点存储近两天的数据。 索引设置开启 ZSTD 压缩功能，节省磁盘空间。 每天索引数据写完后，第二天执行快照备份存放到 S3 存储。 备份成功后，删除索引释放磁盘空间。 需要搜索数据时，直接从快照搜索。 将近期的数据，存放到本地磁盘，保障写入速度。写入完毕的索引，在执行快照备份后，可删除索引，释放本地磁盘空间。
总结与收益 # 本次 ES 集群优化，将 ES 集群迁移到 Easysearch 集群后，存储空间降低到了 60TB，节省了 50% 磁盘资源。节点降低到了 8 个节点，节省了 40% 主机资源。另外，用上对象存储后，冷热数据分离，主机磁盘空间压力骤减，同时提升了整个 Easysearch 集群的稳定性和性能，为企业实现了降本增效。</description></item><item><title>Elasticsearch VS Easysearch 性能测试报告</title><link>https://infinilabs.cn/whitepaper/es710-vs-easysearch-performance-test-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/whitepaper/es710-vs-easysearch-performance-test-report/</guid><description>概要 # 软件版本：
Easysearch v1.19.0 Elasticsearch v7.10.2 本报告通过对不同场景的压测结果进行对比分析，得出以下结论：
Easysearch 相比 Elasticsearch 的索引性能显著提升 Easysearch 集群的吞吐性能提升了 40% - 70%，且随着分片数量的增加，性能提升效果更为显著。 Easysearch 相比 Elasticsearch 的磁盘压缩效率大幅提高 Easysearch 集群的磁盘压缩效率提升了 2.5 - 3 倍，并且随着数据量的增加，压缩效果愈发明显。 此测试结果表明，Easysearch 在日志处理场景中具有更高的性能与存储效率优势，尤其适用于大规模分片与海量数据的使用场景。
内容大纲 # 一、压测环境 # 虚拟机配置 Easysearch 配置 Elasticsearch 配置 监控集群配置 压测 loadgen 配置 压测索引 Mapping 压测⽅法 压测数据样本 二、压测索引 1 主分⽚ 0 副本 # Elastic 吞吐 Elastic 线程及队列 资源消耗 Easysearch 吞吐 Easysearch 线程及队列 资源消耗 对⽐ 三、压测索引 1 主分⽚ 1 副本 # Elastic 吞吐 Elastic 线程及队列 资源消耗 Easysearch 吞吐 Easysearch 线程及队列 资源消耗 对⽐ 四、压测索引 7 主分⽚ # Elastic 吞吐 Elastic 线程及队列 资源消耗 Easysearch 吞吐 Easysearch 线程及队列 资源消耗 对⽐ 五、总结 #</description></item><item><title>Elasticsearch 企业级平替综合解决方案</title><link>https://infinilabs.cn/solution/es-replacement/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/solution/es-replacement/</guid><description/></item><item><title>INFINI Console：助力 Elasticsearch 集群平滑升级，保障业务零中断</title><link>https://infinilabs.cn/case/indexs/facilitating-smooth-elasticsearch-cluster-upgrades-with-infini-console/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/facilitating-smooth-elasticsearch-cluster-upgrades-with-infini-console/</guid><description>客户介绍 # 中国人民保险集团股份有限公司（PICC，简称“中国人保”）是中国历史最悠久、规模最大的综合性保险金融集团之一，成立于 1949 年，与新中国同龄。作为国有骨干金融企业，中国人保位列《财富》世界 500 强，2023 年排名第 110 位，业务涵盖保险、投资、科技三大板块，旗下拥有人保财险、人保寿险、人保健康等核心子公司。
客户背景 # 中国人保集团拥有多套 Elasticsearch 6.x 版本的集群，节点数量超过 50 个，数据总量达 40TB。随着业务的发展和安全要求，客户需要对现有集群进行版本升级，以提升系统性能和功能支持。
客户痛点与挑战 # Elasticsearch 集群升级存在一个关键问题：升级过程不支持回滚操作。一旦升级过程中出现故障，只能依赖备份数据进行恢复，并重新执行升级操作。这对客户来说意味着巨大的风险和成本。因此，客户提出了严格的要求：
升级操作必须一次成功，不能出现任何故障。 升级过程对业务的影响必须降到最低，确保业务连续性。 解决方案 # 为了满足客户的高要求，我们采用了新建集群+数据迁移的升级方案。具体步骤如下：
搭建新版本集群：首先部署新版本的 Elasticsearch 集群。 数据迁移与校验：将数据从旧集群迁移至新集群，并进行严格的数据校验。 业务切流：在确保数据完整性和一致性后，逐步将业务流量切换到新集群。 在整个过程中，INFINI Console 成为关键工具，帮助客户高效完成数据迁移和校验工作。以下是 INFINI Console 的核心优势：
可视化操作：通过 UI 界面轻松完成数据迁移任务，降低操作复杂度。 配置同步：支持迁移源索引的 setting 和 mapping 信息，确保新集群配置与旧集群一致。 灵活调度：支持指定时间运行迁移任务，充分利用夜间变更窗口，减少对业务的影响。 高效并行：支持同时运行多个迁移任务，大幅提升迁移效率。 数据校验：提供索引数据的哈希校验功能，确保迁移数据的完整性和一致性。 客户收益 # 通过 INFINI Console 的支持，客户成功完成了 Elasticsearch 集群的平滑升级，实现了以下收益：
零故障升级：整个升级过程未出现任何故障，完全满足客户对高稳定性的要求。 业务零影响：通过分批次迁移和夜间操作，确保业务系统在升级期间正常运行。 高效迁移：借助 INFINI Console 的并行迁移和校验功能，大幅缩短了升级时间。 总结 # 本次升级案例充分展示了 INFINI Console 在 Elasticsearch 集群升级中的强大能力。无论是数据迁移、配置同步，还是数据校验，INFINI Console 都提供了高效、可靠的解决方案，助力客户实现业务系统的无缝升级。</description></item><item><title>INFINI Easysearch 国产替代方案 v1.0</title><link>https://infinilabs.cn/whitepaper/easysearch-alternative-solution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/whitepaper/easysearch-alternative-solution/</guid><description>摘要 # 极限科技推出的 Easysearch 是一款国产化、AI 原生、高性能的搜索型数据库，旨在替代 Elasticsearch 在企业搜索与分析场景中的应用。其具备 自主可控、向量检索、存储压缩、企业级安全与运维能力，并已在一汽、PICC、移动云等大型企业中成功落地，实现了性能提升、成本降低、平滑迁移的显著效果。配套的 INFINI Cloud 与 Coco AI 进一步构建了从基础设施到智能应用的完整搜索生态，为企业提供安全、高效、智能的全栈搜索解决方案。
内容大纲 # 1. 市场痛点与替代动机 # ES 开源协议变更、安全隐患、成本高、中文支持弱、维护复杂等问题。 急需一款 国产化、自主可控、高性能、低成本 的搜索型数据库替代方案。 2. 核心产品：Easysearch（企业级搜索引擎） # 自主可控：兼容 ES 语法，支持信创生态。 AI 原生能力：内置向量检索，支持语义搜索、RAG、多模态数据融合。 性能优化：存储压缩 3 倍提升、写入查询性能大幅优化、支持冷热数据分离。 企业级功能：安全审计、限流限速、容灾备份、跨集群搜索等。 易于迁移与维护：平滑迁移工具、统一管控平台、本土化技术支持。 3. 配套解决方案 # INFINI Cloud：云原生搜索平台，支持多引擎统一纳管、容器化编排。 Coco AI：企业 AI 搜索与智能助手，支持私有部署、跨平台数据源接入、RAG 与大模型集成。 4. 客户案例与成效 # 中国移动、一汽集团、PICC、Apollo 等各行业头部企业已落地使用。 实现 性能提升数十倍、存储成本降低 50%以上、无缝迁移、业务高可用 等显著收益。 5.</description></item><item><title>INFINI Easysearch 搜索引擎软件产品技术白皮书</title><link>https://infinilabs.cn/whitepaper/easysearch-whitepaper/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/whitepaper/easysearch-whitepaper/</guid><description>摘要 # 长期以来，我国信息技术基础软件长期受制于人，数据库作为信创核心环节，搜索引擎数据库领域的国产替代需求日益迫切。全球搜索引擎数据库市场由 Elasticsearch 主导，中国产品占比较低。随着政策支持与行业关注度提升，国产搜索型数据库迎来重大发展机遇。
搜索型数据库在金融、通信、制造、零售、医疗、教育等行业的海量数据检索与分析场景中发挥着不可或缺的作用。
INFINI Easysearch 是一款自主可控的分布式近实时搜索型数据库软件，定位为轻量级的 Elasticsearch 国产替代方案。其具备高性能、高可用、弹性伸缩、高安全性及丰富搜索分析能力，支持 PB 级数据规模，兼容主流及国产软硬件生态，并通过了信通院首批“搜索型数据库”产品能力评测。
内容大纲 # 一、背景概述 # 1、研发背景
搜索型数据库国产替代现状 搜索型数据库在各行业的重要应用 2、产品定位
二、产品方案功能介绍 # 1、设计理念
2、系统拓扑图
3、系统构架描述
4、系统功能介绍
5、产品方案规格
三、产品方案应用介绍 # 1、应用模式
2、应用流程
3、应用环境
四、产品方案特性介绍 # 1、技术特性
2、应用特性
3、系统特性
五、产品方案技术介绍 # 1、相关技术
2、技术指标
六、产品方案测评数据 # 七、实施运维方式说明 # 八、售后服务方式说明 #</description></item><item><title>一站式企业搜索基础设施平台建设方案</title><link>https://infinilabs.cn/solution/infini-cloud-platform/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/solution/infini-cloud-platform/</guid><description/></item><item><title>企业 AI 可信内部搜索解决方案</title><link>https://infinilabs.cn/solution/ai-trusted-search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/solution/ai-trusted-search/</guid><description/></item><item><title>作业帮跨云集群的就近本地访问</title><link>https://infinilabs.cn/case/indexs/how-to-build-cross-cloud-cluster-with-local-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/how-to-build-cross-cloud-cluster-with-local-access/</guid><description>客户介绍 # 作业帮是中国领先的在线教育平台，成立于 2014 年。作业帮将人工智能、大数据等技术与教育教学深度融合，打造覆盖教、学、考、评、管、研等全场景智慧教育解决方案，满足用户对高效、便捷学习体验的需求。
业务需求 # 作业帮为了确保某个业务 Elasticsearch 集群的高可用，在百度云和华为云上面采取了双云部署，即将单个 Elasticsearch 集群跨云进行部署，并且要求业务请求优先访问本地云。
Elasticsearch 单集群双云实现 # Elasticsearch 集群采用 Master 与 Data 节点分离的架构。 目前主力云放 2 个 Master，另外一个云放一个 Master。 主要考虑就是基础设施故障中，专线故障问题是大多数，某个云厂商整体挂的情况基本没有。 所以设置了主力云，当专线故障时，主力云的 Elasticsearch 是可以读写的，业务把流量切到主力云就行了。
具体配置方式如下。
首先，在 Master 节点上设置：
cluster.routing.allocation.awareness.attributes: zone_id cluster.routing.allocation.awareness.force.zone_id.values: zone_baidu,zone_huawei 然后分别在百度云上数据节点上设置：
node.attr.zone_id: zone_baidu 和华为云上数据节点上设置：
node.attr.zone_id: zone_huawei 创建索引采用 1 副本，可以保证百度云与华为云上都有一份相同的数据。
业务访问方式如下图： 百度云业务 -&amp;gt; 百度 lb -&amp;gt; INFINI Gateway (百度) -&amp;gt; Elasticsearch （百度云 data 节点） 华为云业务 -&amp;gt; 华为 lb -&amp;gt; INFINI Gateway (华为) -&amp;gt; Elasticsearch （华为云 data 节点） 极限网关配置 # Elasticsearch 支持一个 Preference 参数来设置请求的优先访问，通过在两个云内部的极限网关分别设置各自请求默认的 Preference 参数，让各个云内部的请求优先发往本云内的数据节点，即可实现请求的就近访问。</description></item><item><title>友情链接及 Banner 素材资源</title><link>https://infinilabs.cn/download/media-assets/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/download/media-assets/</guid><description>.markdown table {display:table} .markdown table th, .markdown table td {vertical-align: middle} table tbody tr td:first-child,table tbody tr th:first-child {width:80px;} table:not(caption)** {background-color:#fff !important;} .img-infinilabs-icon img {height: 50px;width:auto} .img-infinilabs-slogan img {height: 80px;width:auto} .img-infinilabs img {height: 50px;width:auto} .img-easysearsh-logo img {height: 50px;width:auto} .img-easysearsh-banner-1 img {height: 60px;width:auto} .img-easysearsh-banner-2 img {height: auto;width:auto} .img-easysearsh-banner-3 img {height: 100px;width:auto} .img-easysearsh-banner-4 img {height: 100px;width:auto} .img-easysearsh-banner-5 img {height: 200px;width:auto} @media (max-width: 760px) { table tr td img {width:80% !important;height:auto !important} .</description></item><item><title>存储降本50%+写入性能倍增：东莞证券 Easysearch 国产化替代实践</title><link>https://infinilabs.cn/case/indexs/200x-indexing-speedup-copy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/200x-indexing-speedup-copy/</guid><description>客户介绍 # 东莞证券股份有限公司是东莞市属国有控股重点企业，也是全国首批承销保荐机构之一。自成立 30 多年来，东莞证券以经纪、资管、投行、自营四大业务为核心，积极发展私募基金、另类投资等业务，已成为全国性综合类证券公司。
客户背景 # 东莞证券作为国内综合性证券公司，业务覆盖经纪、投行、资管等多板块，日常运营中产生大量应用接口调用日志、交易行情日志、业务操作日志等非结构化与结构化数据。为保障日志可追溯、业务可分析，客户原采用 Graylog 作为日志收集工具，将采集到的数据写入 Elasticsearch（ES）7.10.2 版本，依托 ES 的搜索与分析能力搭建 Dashboard 可视化系统，支撑业务人员实时监控接口状态、复盘交易趋势。
业务痛点 # 随着证券市场行情波动加剧（如牛市行情下交易笔数、接口调用量激增），原有 ES 7.10.2 架构逐渐无法应对高并发数据场景，核心痛点集中在三点：
高并发写入性能瓶颈，数据实时性难以保障：在行情火爆、交易量激增时段，系统产生的日志数据量呈指数级增长。原有 Elasticsearch 架构写入吞吐能力不足，导致日志数据无法及时入库，Dashboard 数据分析延迟高达 10 分钟以上，运维人员只能查看“10 分钟前的数据”，严重影响故障实时发现和业务异常预警能力。
存储成本居高不下，资源扩展受限：Elasticsearch 7.10.2 数据压缩率较低，随着日志数据持续累积，存储资源消耗快速增长。同时，为保证查询性能需要维持大量分片和副本，进一步推高硬件投入成本。在数据量持续增长背景下，集群扩容周期长、运维复杂度高，难以满足业务快速发展需求；
国产化替代与自主可控要求：面对国家信创战略要求及国际技术形势变化，金融行业核心系统亟需实现国产化替代。Elasticsearch 开源版本存在安全功能缺失、数据保护能力不足等问题，且原厂服务支持受限，难以满足金融机构对数据安全、合规审计及自主可控的严格要求。
解决方案 # 经过全面技术评估和严格测试，东莞证券选择 极限科技 Easysearch 作为 Elasticsearch 的国产化替代方案，构建新一代高性能日志搜索分析平台。
1. 核心架构升级：无缝迁移，零代码改造 # Easysearch 高度兼容 Elasticsearch 原生 API 编程接口和 Query DSL 语法，完整支持原有 SDK 和索引存储格式。东莞证券原有基于 Graylog 的数据采集管道、分析查询逻辑及可视化 Dashboard 无需任何代码改造即可平滑迁移，实现业务零中断切换。</description></item><item><title>授权协议</title><link>https://infinilabs.cn/agreement/console/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/agreement/console/</guid><description>授权协议 # 更新日期：2023 年 6 月 8 日
生效日期：2023 年 6 月 8 日
本授权协议（以下简称“协议”）是由您（以下简称“用户”）与极限数据（北京）科技有限公司（以下简称“公司”）之间就公司的软件产品（以下简称“软件”）的使用而订立的法律协议。在同意本协议之前，请仔细阅读并确保您充分理解本协议的所有条款。通过安装、复制或以其他方式使用本软件，您即表示您接受本协议的所有条款和条件。如果您不同意本协议的任何条款，请不要使用本软件。
1.授权范围 # 1.1 软件的许可：公司授权用户使用本软件，用于个人或内部商业用途，以非排他性、不可转让的方式。
1.2 复制与分发：用户可以为了备份或在自己的设备上安装使用，无需支付额外费用。用户不得复制、分发或提供给第三方出售本软件的副本，或将本软件用于商业目的。
1.3 版本更新：公司可能会不时提供软件的更新版本，用户可以选择是否进行更新。更新版本将受到本协议的约束。
2.知识产权 # 2.1 软件所有权：本软件是公司的财产，受中国和国际知识产权法律和条约的保护。公司保留本软件的所有权利。
2.2 用户行为：用户不得以任何形式侵犯公司的知识产权，包括但不限于复制、修改、翻译、逆向工程、反编译、分解或创作与本软件相似的衍生作品。
2.3 反馈意见：用户可以向公司提供与软件相关的反馈意见，但公司对这些意见不承担任何义务，并且可以自行决定是否采纳这些意见或将其用于软件的改进。
3.免责声明 # 3.1 软件的使用风险：用户理解并同意自行承担使用本软件的风险。本软件按“现状”提供，不提供任何明示或暗示的担保，包括但不限于对软件的适用性、无错误或无中断的保证。
3.2 软件的限制：用户理解并同意，本软件可能会存在缺陷或错误，公司不对软件的性能、功能或可靠性作任何承诺。
4.终止 # 4.1 用户终止权：用户可以随时终止本协议，停止使用本软件并删除所有与之相关的软件副本。
4.2 公司终止权：公司有权在任何时间终止本协议，禁止用户继续使用本软件，并要求用户删除所有与之相关的软件副本。
4.3 后果：在本协议终止后，用户应立即停止使用软件，并删除所有与之相关的软件副本。本协议终止不影响双方在终止前已产生的权利和义务，包括但不限于用户应对使用软件期间产生的任何费用和责任承担。
5.品牌展示 # 5.1 授权同意：用户同意，作为本协议的一部分，公司有权使用用户公司的品牌形象、商标、名称和相关信息（以下简称“品牌形象”），作为软件使用的案例展示。
5.2 使用范围：公司可以在公司的官方网站、社交媒体、市场推广材料和其他相关渠道上展示用户公司的品牌形象，以展示软件的应用案例。展示的方式包括但不限于文字描述、商标展示、用户公司名称的提及等。
5.3 免责声明：公司将尽力确保在展示用户公司的品牌形象时的准确性和完整性，但不对展示内容的准确性、及时性或适用性作任何明示或暗示的担保。公司不承担因展示用户公司的品牌形象而可能引发的任何纠纷或责任。
5.4 终止权：用户可以随时以书面形式通知公司终止公司使用用户公司的品牌形象作为案例展示。在收到终止通知后，公司将不再使用用户公司的品牌形象作为案例展示。
请注意，品牌展示条款旨在让公司能够展示用户公司的品牌形象，以展示软件的应用案例。如果用户不同意公司使用其品牌形象作为案例展示，请与公司联系以进一步协商并确定相关事宜。
6.其他条款 # 6.1 协议内容与修订：本协议内容包括本协议正文及所有我们已经发布或将来可能发布的隐私政策、各项规则、通知。前述内容均为本协议不可分割的组成部分，与本协议具有同等法律效力。为给你提供更好的服务或因国家法律法规、政策调整、技术条件、产品功能等变化需要，我们会适时对本协议进行修订，修订内容构成本协议的组成部分。本协议更新后，我们会以适当的方式提醒你更新的内容，以便你及时了解本协议的最新版本，你也可以在网站首页或软件设置页面查阅最新版本的协议条款。如你对修订后的协议内容存有异议，你有权立即停止使用本服务。如你在修订协议生效日后继续使用本服务，即表示你已同意接受修订后的本协议内容。
6.2 适用法律与管辖：本协议的成立、生效、履行、解释及争议解决均应适用中华人民共和国大陆地区法律。如果本协议的任何约定被判决或裁定无效，则这些条款应在不违反法律的前提下，按照尽可能接近本协议原条款目的的原则进行重新解释和适用，且不影响本协议中其他条款的效力。
6.3 本协议的签订地为中华人民共和国北京市海淀区，因本协议所引发的争议双方应尽量友好协商解决，协商不成的，你同意将争议提交至本协议签订地有管辖权的人民法院解决。</description></item><item><title>极限网关助力好未来 Elasticsearch 容器化升级</title><link>https://infinilabs.cn/case/indexs/using-gateway-help-tal-es-k8s-upgrade/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/using-gateway-help-tal-es-k8s-upgrade/</guid><description>客户介绍 # 好未来（NYSE：TAL）是一家以内容能力与科技能力为基础，以科教、科创、科普为战略方向，助力人的终身成长，并持续探索创新的科技公司。 好未来的前身学而思成立于 2003 年，2010 年在美国纽交所正式挂牌交易。好未来以“爱与科技助力终身成长”为使命，致力成为持续创新的组织。
客户痛点/挑战 # 好未来的日志 Elasticsearch（简称：ES）拥有数十套服务集群，几百台物理机，维护成本高昂且耗费大量人力资源。物理架构的固定配置导致资源利用率低，尤其在潮汐性流量情况下，无法动态调配资源，造成高峰期资源紧张，低峰期资源闲置。
为解决成本压力和资源利用率问题，好未来决定对 Elasticsearch 进行容器化改造，利用 K8S 实现资源的动态扩缩，优化 CPU 和内存的利用率，从而降低成本和运维复杂度。
改造过程中，容器 ES 版本和物理机 ES 版本不一致导致 API 兼容性问题，原有传统的 tribenode 网关 API 访问没有流量控制，可观测性差，而且稳定性一般，版本兼容性差等，API 服务是进行架构升级重点难点。
解决方案 # 在改造过程中，好未来选择了极限网关（ INFINI Gateway）替代传统的 tribenode，以解决 API 服务的兼容性和性能等问题。
极限网关的优势
学习成本低：架构简洁，语法简单，易于上手。 性能强悍：针对 Elasticsearch 优化，显著提升写入和查询速度。 安全性高：支持多种认证方式，简化安全设置。 跨版本支持：兼容不同版本的 Elasticsearch，降低升级复杂度。 灵活可扩展：支持请求干预和智能路由，内置丰富过滤器。 客户收益 # 显著降低成本 支撑数百 ES 节点，1PB+ 数据存储，每日新增数据 100T 流量。 通过 K8S 容器化改造，资源利用率大幅提升，运维成本降低超过 60%。 提升资源利用率。 增强系统稳定性和安全性 极限网关提供高性能、高可靠性的 API 服务，解决了版本兼容性和稳定性问题。 极限网关提供的安全策略有效防止未经授权的访问，保障数据安全。 优化管理效率 极限网关 Dashboard 工具提供直观的可观测性，提升了系统管理和维护的效率。 极限网关的灵活扩展性和过滤功能，满足了复杂业务场景的需求。 支持业务扩展 容器化经验为业务 Elasticsearch 集群上容器化铺平了道路，吸引更多业务接入。 借助极限网关，支持平滑升级 ES 版本，扩展混合云架构，提升灾备能力。 综上所述，极限网关为好未来提供了一个高性能、高可靠性的 Elasticsearch 网关服务，显著提升了运维效率和业务稳定性，为未来业务的扩展和优化奠定了坚实基础。</description></item><item><title>极限网关助力移动云盘大幅降低搜索查询和写入延迟</title><link>https://infinilabs.cn/case/indexs/use-gateway-helps-caiyun-reduce-es-search-query-and-write-latency/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/use-gateway-helps-caiyun-reduce-es-search-query-and-write-latency/</guid><description>客户介绍 # 中国移动云盘（原“和彩云网盘”）为用户提供微信文件、手机图片、通讯录等数字资产的存储备份、在线管理、群组共享等服务；支持任一终端上传，所有终端 (APP、小程序、iPad 、PC、TV、网页端等) 同步可见，月活跃用户规模位居行业第二，致力于成为 5G 时代用户个人与家庭的数字资产管理中心。
客户痛点/挑战 # 随着移动云盘业务的快速增长，移动云盘平台的搜索数据库资产已达 70+ PB，日志日增 4TB，数据的搜索和写入都出现性能瓶颈，不同模块的日志分析和业务监控告警难度呈指数级上升。性能短板主要体现为：
高并发批量操作引发长尾效应，响应速度劣化 大集群协调节点负载失衡，响应速度不稳定 大集群批量操作局部失败，业务重试耗时久 解决方案 # 为满足业务监控的准确性、搜索的高并发和低延时需求，保障 1 亿+ 活跃用户的百亿资产的秒级搜索。采用了极限网关（ INFINI Gateway）作为代理，实现多集群的汇集，给用户提供一个统一的外观模式，透明化内部数据的细节。
通过协同 Elasticsearch（简称：ES）多集群，采用网关时间轮路由、分流错位、批重排写入等技术手段，提升带宽复用、降低延迟。在存储层形成冷热分层，提升节点工作效率与存储利用率，并通过时间窗口、慢查询剪枝、外置处理引擎等方式优化查询性能。
客户收益 # 1、搜索性能提升 # 通过设置慢查询召回时间，智能路由，链路监控，对长尾效应进行管理，实现性能优化。实现集群查询 QPS 达 10000+，响应速度提升 50%。
2、搜索和写入延迟降低 # 业务线条产生百亿级别的数据，涵 DeleteByQuery、Bulk 等多种写入类型，通过批写入重排技术，高性能硬盘实现了写入延迟平均降低 45%，查询实时性提升 80%左右。
3、降本增效 # 结合时间轮路由、分流写入、冷热分离、日志场景查询优化等技术手段，接入总量过 PB 的 100+ 业务线条的监控告警、业务日志，实现业务链路数据关联查询。运维、监控、告警投入从 10 人降低至 6 人每年，成本节约 30% 左右。
4、荣获 2023 大数据“星河”数据库标杆案例 # 基于移动云数据库，借助极限网关，通过优化 ES 批量写入及分拆重组技术，实现数量级下数据高性能存取，为云盘日志搜索分析和监控告警等奠定海量存储及高性能查询基础，产出 PB 级数据高性能存取标准解决方案，并荣获由中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会（CCSA TC601）共同组织的 2023 大数据“星河（Galaxy）”案例 数据库标杆案例。</description></item><item><title>极限网关实现 Elasticsearch 异地容灾</title><link>https://infinilabs.cn/case/indexs/elasticsearch-remote-disaster-recovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/elasticsearch-remote-disaster-recovery/</guid><description>客户介绍 # 该客户为国内知名的科创服务大数据平台，为用户和企业提供知识产权、资源搜索、匹配、管理等服务，致力打造国际一流的科创服务大数据基础设施。
客户痛点/挑战 # 随着业务规模的增长，业务侧对使用的 Elasticsearch（简称：ES）集群的数据可靠性、集群稳定性等方面的要求越来越高。需要建设一个双机房的高可用业务架构，实现 Elasticsearch 异地容灾，当一端机房出现不可用的情况下，另一端的机房可以随时接管业务。
解决方案 # 传统的容灾方案存在各种弊端，这里针对该客户的实际需求实现了一套基于极限网关（ INFINI Gateway）的多集群异地容灾方案，可以完美的解决传统容灾方案在实际运行中的各种问题，并结合该客户的实际需求，对双机房资源的利用，网络带宽是限制等方面进行了更加全面的考虑。总体架构设计如下图所示：
如上图，Gateway 组件将承载业务的查询和写入，并且在日常的业务运行过程中，通过 Gateway 还可以将一半的查询流量转发给机房 B 的 Elasticsearch 集群，从而充分利用所有在线的计算资源，降低 A 机房的负载，提升整体的查询体验。
该客户目前的数据采用的是每天晚上完全重建的方式，使用 CDP 平台的离线任务，将最新业务数据按照新的结构在 Elasticsearch 创建一份新的索引，待索引重建完成之后通过别名进行切换，从而完成新旧索引的替换。 通过这 CDP Platform 和 Elasticsearch 集群之间增加一层网关，可以让重建的写入请求无缝复制一份到机房 B 的对象存储，对于异地跨专线的数据复制，这个方案有如下优点：
基于文档操作进行复制，而不是生成的最终索引文件，机房 AB 没有版本和架构的依赖； 复制的内容更小，更利于压缩，压缩比 ~16:1，对专线带宽的消耗更低，长距离传输时间更短； 复制速度更快，将消息批量压缩之后上传到对象存储，机房 B 本地解压再批量进行消费。 两个机房分别独立部署业务系统、Elasticsearch 网关和 Elasticsearch 集群，业务系统正常情况下通过本机房的网关来访问 Elasticsearch，备机房的网关和业务系统正常情况下没有流量，当故障发生之后，可以随时启用备机房的应用和集群，主备机房的数据变更分别记录并管理，当主集群恢复之后，会立即将队列里面的数据进行同步，并最终保持一致。
客户收益 # 极限网关功能简单，性能强悍，使用简单，通过使用极限网关，客户自建 Elasticsearch 集群可以安全无缝的复制到异地备份集群，在复制的过程中，两套集群通过网关进行了解耦，两套集群的版本也可以不一样，在迁移的过程中还能实现 Elasticsearch 版本的无缝升级。</description></item><item><title>某保险集团业务的索引速度百倍提升之旅</title><link>https://infinilabs.cn/case/indexs/200x-indexing-speedup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/200x-indexing-speedup/</guid><description>业务挑战 # 某大型保险集团的保单查询业务，通过将数据库的常用字段放到 Elasticsearch 里面，用来提升查询性能，集群部署在 14 台物理机上面，每个物理机上面部署了 4 个 Elasticsearch 实例， 整个集群约有 90 多亿条数据，索引主分片存储接近 5 TB，每天的增量更新数据大概在 6 亿条左右，由于业务上的特殊性，全国的所有的业务数据都存放在一个索引里面， 造成了单个索引达到了 210 个分片，批量重建的任务采用 Spark 任务来并行执行，平均的写入速度在 2000~3000 条/s 左右，一次增量重建时间可能需要 2~3 天， 业务数据的更新延迟较大，长时间的重建也会影响正常时间段的业务访问。该技术团队也尝试过直接对 Elasticsearch 层面和 Spark 写入端多轮的测试和调优，发现对整体的写入速度没有太大的提升。
解决方案 # 通过分析，集群性能应该没有问题，不过由于单个批次写入请求到达 Elasticsearch 之后需要重新再次按照主分片所在节点进行封装转发，而某保的业务索引分片个数太多，每个数据节点最终拿到的请求文档数太小， 客户端一次批次写入要拆分成几百次的小批次请求，并且由于短板原理，最慢的节点处理速度会拖慢整个批次写入的速度，从而造成集群总体吞吐的低下。
通过评估极限网关，发现极限网关具备提前拆分请求和合并请求的能力，通过提前拆分合并请求到以节点为单位的本地队列，然后通过队列消费程序写入到目标 Elasticsearch 集群，将随机的批次请求转换为顺序的精准投放，如下图：
极限网关在收到 Spark 请求之后先落地到本地磁盘确保数据不丢失，同时极限网关能够本地计算每个文档与目标数据节点的对应关系，新的数据写入架构如下图所示：
通过采用极限网关来接收 Spark 的写入请求，整个集群的写入吞吐显著提升，Spark 写数据只花了不到 15 分钟即任务运行结束，网关从收到请求到写完 Elasticsearch 也只花了 20 分钟，服务器的 CPU 资源也充分利用起来了， 各个节点的 CPU 利用率均达到 100%。
用户收益 # 索引速度提升 20000% 通过采用极限网关来作为中间加速层，该集团保单业务的索引重建速度由原来的 2-3 天都重建不完缩减到 20 分钟左右，每日增量 6 亿条数据的全部重建终于也可以快速完成， 索引写入 QPS 峰值也达到了 30 万+，大大缩短了索引重建周期，降低了数据延迟，增强了线上数据的一致性，确保了查询业务的正常使用。</description></item><item><title>某医药电子商务平台 ES 集群无缝跨云迁移</title><link>https://infinilabs.cn/case/indexs/es-cross-cloud-migration-in-pharmaceutical-e-commerce-industry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/es-cross-cloud-migration-in-pharmaceutical-e-commerce-industry/</guid><description>客户介绍 # 该客户是中国医药电子商务领域的佼佼者，其核心使命是为广大医药企业以及医疗机构提供全方位、高效便捷的在线服务。通过其精心打造的全程网上药品交易服务平台，该客户不仅提供了信息服务和技术支持，还实现了信息流、物流、资金流的高度协同，从而打造了一个高效运转的互联网药品批发交易市场。
客户痛点/挑战 # 客户在腾讯云上部署了若干个 Elasticsearch（简称：ES）集群，基于公司业务和技术发展路线等多方面因素考量，需要将腾讯云的 ES 集群平滑迁移到移动云，迁移过程要保证业务的最小停机时间。调研了市面上常用的 ES 迁移工具和方案，很难满足平滑跨云迁移的需求。
解决方案 # 根据客户的需求，结合我们在 ES 这块的丰富经验，采用了基于极限网关（ INFINI Gateway）的集群双写方案。
总体流程如下：
客户业务代码，切流量，双写。（新增的变更都会记录在网关本地，但是暂停消费到移动云） 暂停网关移动云这边的增量数据消费。 迁移现有存量数据，快照，快照上传到 S3； 下载 S3 的文件到移动云。 恢复快照到移动云。 开启网关移动云这边的增量消费。 等待增量追平（接近追平）。 按照时间条件（如：时间 A，当前时间往前 30 分钟），验证文档数据量，Hash 校验等等。 停业务的写入，网关，腾讯云的写入（10 分钟）。 等待剩余的增量追完。 对时间 A 之后的数据，增量进行校验。 切换所有流量到移动云，业务端直接访问移动云 ES。 客户收益 # 借助极限网关，在不修改业务代码的情况下做到平滑迁移到移动云。同时通过集群双写，保障了迁移过程中业务数据写入正常，并且没有数据丢失，成功地解决了客户的需求。</description></item><item><title>某货运平台从自建 ES 集群平滑迁移至阿里云</title><link>https://infinilabs.cn/case/indexs/smoothly-migrated-the-self-built-es-cluster-to-aliyun/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/smoothly-migrated-the-self-built-es-cluster-to-aliyun/</guid><description>客户介绍 # 该客户作为国内领先的数字货运平台，深度融合云计算、大数据、移动互联网和人工智能技术，为公路运输物流行业提供高效便捷的管车配货工具。它全面覆盖车找货、货找车的信息及交易服务，推动交通运输降本增效，实现数字经济对实体经济的深度赋能，助力行业数字化转型。
客户痛点/挑战 # 客户有几十个自建 Elasticsearch（简称：ES）集群，用于支撑内部用户、货源、交易、营销、日志等相关核心业务系统的数据存储、查询和数据分析。由于自建 ES 集群版本较多（V5.x ~ V7.x），整体稳定性差，严重影响业务，运维成本较高，希望从开源自建平滑迁移到阿里云，同时需要满足以下要求：
不停服迁移，迁移过程中需要保障业务正常写入； 不做代码改动； 2 个月内逐步迁移完毕。 解决方案 # 根据客户的需求痛点，结合我们在 ES 这块的丰富经验，采用了基于极限网关（ INFINI Gateway）的集群双写方案。
通过将应用端流量走网关的方式，请求同步转发给自建 ES，网关记录所有的写入请求，并确保顺序在阿里云 ES 上重放请求，两侧集群的各种故障都妥善进行了处理，从而实现透明的集群双写，实现安全无缝的数据迁移。
客户收益 # 基于极限网关，在不修改业务代码的情况下做到自建 ES 集群平滑迁移上云，省心省力。同时通过集群双写，保障了迁移过程中业务数据写入正常，稳定可靠。从自建集群迁移上云后，借助云平台的弹性资源和托管服务，有效的降低了客户自建时的硬件成本和维护成本，达到了降本增效。</description></item><item><title>欢迎加入合作伙伴</title><link>https://infinilabs.cn/partner/apply/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/partner/apply/</guid><description/></item><item><title>海量数据实时搜索解决方案</title><link>https://infinilabs.cn/solution/realtime-search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/solution/realtime-search/</guid><description/></item><item><title>移动云携手极限科技，实现 Elasticsearch 国产化替代与云原生升级</title><link>https://infinilabs.cn/case/indexs/ecloud-localization-elasticsearch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/case/indexs/ecloud-localization-elasticsearch/</guid><description>客户介绍 # 移动云隶属于中国移动通信集团公司，是建立在中国移动“大云”的基础上，自主技术研发而成的公有云平台，通过服务器虚拟化、对象存储、网络安全能力自动化、资源动态调度等技术，将计算、存储、网络、安全、大数据、开放云市场等作为服务提供，客户根据其应用的需要可以按需使用、按使用付费。
需求背景 # 移动云作为国内领先的云计算服务提供商，一直致力于提升其在搜索领域的服务能力。随着业务的快速发展，移动云面临海量非结构化数据的检索和分析需求，需要一个高性能、高可用、自主可控的搜索解决方案。尤其是在国际形势变化和信创战略背景下，移动云急需一个国产化的替代方案。
客户痛点 # 性能瓶颈：随着数据量的快速增长，Elasticsearch 在处理大规模数据时性能不足，尤其是在高并发查询和实时数据处理场景下，响应速度缓慢，影响用户体验。 自主可控性：为了降低对国外开源软件的依赖，提升系统的自主可控性，移动云需要一个能够深度定制和优化的国产化替代方案，以更好地适应国内企业的业务需求和安全要求。 运维复杂性：Elasticsearch 的运维成本较高，需要专业的技术团队进行管理，移动云希望降低运维难度和成本。 解决方案 # 移动云与极限科技合作，在 Easysearch 的基础上推出了基于云原生架构的移动云版 Elasticsearch，作为 Elasticsearch 的国产化替代方案。该方案的核心优势如下：
云原生架构：采用 Kubernetes（K8s）作为核心架构，结合 Docker 技术，实现容器化部署、自动扩缩容和灵活管理。Kubernetes 提供了强大的集群管理能力，包括服务发现、负载均衡、故障自愈等功能，能够有效提升系统的稳定性和可扩展性。 功能增强：在兼容原生 Elasticsearch 的基础上，增加了多项企业级功能，如字段内容脱敏、字段级权限控制、向量检索、可搜索快照等。同时，支持 SQL 查询语法，方便开发人员快速上手。 性能优化：通过优化数据压缩算法，移动云版 Elasticsearch 能够节省 40% 以上的磁盘空间，同时保持高性能。此外，重构的分布式架构能够支持更大规模的数据处理，满足移动云的业务需求。 安全与合规：提供了完善的安全功能，支持 LDAP、AD 等企业级认证方式，确保数据的安全性和合规性。 无缝对接：支持冷热架构和索引生命周期管理，能够无缝对接移动云现有的日志、监控平台。 客户收益 # 性能提升：移动云版 Elasticsearch 的高性能和灵活的云原生架构，显著提升了移动云的数据检索和分析能力，查询响应时间大幅缩短。 安全保障：通过增强的安全功能，移动云能够更好地保护企业核心数据的安全性和合规性。 自主可控：国产化替代方案使移动云在搜索领域实现了自主可控，减少了对国外开源软件的依赖。 运维优化：云原生架构降低了运维难度和成本，移动云的技术团队能够更高效地管理搜索服务。 灵活拓展：支持多种部署方式和灵活的资源调度，能够快速适应移动云的业务拓展需求。 通过与极限科技的合作，移动云成功实现了 Elasticsearch 的国产化替代和云原生升级，不仅提升了搜索服务的性能和安全性，还增强了自主可控能力，为企业的数字化转型提供了坚实的技术支持。</description></item><item><title>联系我们</title><link>https://infinilabs.cn/company/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/company/contact/</guid><description/></item><item><title>面向具身智能的数据基础设施解决方案</title><link>https://infinilabs.cn/solution/embodied-intelligence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/solution/embodied-intelligence/</guid><description/></item><item><title>面向自动驾驶的数据基础设施解决方案</title><link>https://infinilabs.cn/solution/autonomous-driving/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://infinilabs.cn/solution/autonomous-driving/</guid><description/></item></channel></rss>