Easysearch、Elasticsearch 还是 Opensearch,是个问题

【搜索客社区日报】第1969期 (2025-01-10)

社区日报Fred2000 发表了文章 • 0 个评论 • 2525 次浏览 • 2025-01-10 12:19 • 来自相关话题

1、Elasticsearch 近似实时(非实时)搜索的原因分析
https://blog.csdn.net/qq_28727 ... 76941

2、Elasticsearch 性能优化指南:线程池优化详细介绍
https://mp.weixin.qq.com/s/Gjnk01cIUxKKm95aXfEKSg

3、如何使用 Logstash 8 连接 Easysearch
https://mp.weixin.qq.com/s/cA9znJ3sNl1Prq3irLThxA

4、【老杨玩搜索】13. Easysearch 页面-pagination | 从零开始实现页面搜索功能
https://www.bilibili.com/video/BV1G2S4YcE9b/

编辑:Fred
更多资讯:http://news.searchkit.cn

是否可以在forcemerge时指定只清理一个段里的deleted文档,不合并2个段

ElasticsearchFred2000 回复了问题 • 2 人关注 • 1 个回复 • 2591 次浏览 • 2025-01-14 10:14 • 来自相关话题

【搜索客社区日报】第1968期 (2025-01-09)

社区日报Se7en 发表了文章 • 0 个评论 • 2422 次浏览 • 2025-01-09 20:07 • 来自相关话题

1.DeepSeek V3 详细解读:模型&Infra 建设
https://mp.weixin.qq.com/s/DKdXcguKcCS5gcwIRLH-Cg
2.一文带你入门 MCP(模型上下文协议)
https://mp.weixin.qq.com/s/rcOi7e8F5qGVVF2noCk46Q
3.2024年度数据库回顾
https://mp.weixin.qq.com/s/jgYDHdCqWDRDfoFkfs7W8Q
4.看完英伟达发布会,玩游戏的和搞AI的都疯了
https://mp.weixin.qq.com/s/wAfeqAgN6eSPDKybW0-u_Q

编辑:Se7en
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第1967期 (2025-01-08)

社区日报kin122 发表了文章 • 0 个评论 • 2700 次浏览 • 2025-01-08 10:19 • 来自相关话题

1.外行如何速成专家?Embedding之BM25、splade稀疏向量解读
https://mp.weixin.qq.com/s/hRTqMsX_eonRAqWVMwAU-w
2.RAG开发中,如何用Milvus 2.5 BM25算法实现混合搜索
https://mp.weixin.qq.com/s/Dsr4PkxcjoIfaPaWNrqJ7w
3.为RAG pipeline选择最佳的embedding模型
https://mp.weixin.qq.com/s/4h9duWccjOvCys8o2jq1GQ
4.日志审计系统到底是什么东东
https://mp.weixin.qq.com/s/Va8SZaaVMkBRh-RzSUPUlw


编辑:kin122 
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第1966期 (2024-01-07)

社区日报God_lockin 发表了文章 • 0 个评论 • 2514 次浏览 • 2025-01-07 14:25 • 来自相关话题


1. 有没想过用ES搞个天气预报牌啊?(需要梯子)
https://medium.com/%40rahul.fi ... c2698
1. 够浪日志专家是你吗?(需要梯子)
https://godfreyowidi.medium.co ... e9b54
1. 地理信息可视化你会不会(需要梯子)
https://medium.com/%40truongho ... 677eb
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
 

【搜索客社区日报】第1965期 (2025-01-06)

社区日报Muses 发表了文章 • 0 个评论 • 2764 次浏览 • 2025-01-06 09:15 • 来自相关话题

1、极限网关案例分享(1):使用极限网关代替 Nginx 访问 ECE
https://infinilabs.cn/blog/202 ... ng-1/

2、Elasticsearch实战教程:如何使用集群索引数据来进行统计多个数据?
https://blog.csdn.net/qq_57761 ... 92484

3、Elasticsearch中的三种分页策略深度解析:原理、使用及对比
https://blog.csdn.net/qq_26664 ... 98228

4、探索 INFINI Console:提升 Elasticsearch 管理效率的新利器
https://mp.weixin.qq.com/s/bMAwMlRXJjuYSf9fV4MnsQ

5、2025 年,AI Agent 将如何变革?
https://mp.weixin.qq.com/s/c5eVtFdO4A2mr9Eqluk4VQ

编辑:Muse
更多资讯:http://news.searchkit.cn

招聘 Elasticsearch 开发工程师 - Base 北京 - 极限科技(INFINI Labs)

求职招聘INFINI Labs 小助手 发表了文章 • 0 个评论 • 3330 次浏览 • 2025-01-03 18:37 • 来自相关话题

![](https://infinilabs.cn/img/blog ... ng.png)

「新岁启程,与君同行」极限科技诚招 Elasticsearch 开发工程师!

欢迎搜索技术热爱者加入我们,共同打造高效、智能的搜索解决方案!

如果你还不了解 极限科技(INFINI Labs) 是谁,在做什么,需要什么样的小伙伴,那么请看下文:

我们是谁


![](https://infinilabs.cn/img/blog ... bs.png)

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://infinilabs.cn

我们在做什么


极限科技(INFINI Labs)正在致力于以下几个核心方向:

1、开发近实时搜索引擎 INFINI Easysearch
INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。详情参见:https://infinilabs.cn

2、打造下一代实时搜索引擎 INFINI Pizza
INFINI Pizza 是一个分布式混合搜索数据库系统。我们的使命是充分利用现代硬件和人工智能的潜力,为企业提供量身定制的实时智能搜索体验。我们致力于满足具有挑战性的环境中高并发和高吞吐量的需求,同时提供无缝高效的搜索功能。详情参见:https://pizza.rs

3、打造 Coco AI — 搜索、连接、协作
Coco AI 是一个人工智能驱动的统一的搜索平台,将您的所有企业应用程序和数据(如 Google Workspace、Dropbox、Confluent Wiki、GitHub 等)整合到一个强大而简洁的搜索界面中。本项目包含适用于桌面和移动端的 COCO 应用,用户可以通过该应用在不同平台上搜索并与企业数据互动。详情参见:https://coco.rs

4、积极参与全球开源生态建设
通过开源 Coco AI、Console、Gateway、Agent、Loadgen 等搜索领域产品和社区贡献,推动全球开源技术的发展,提升中国在全球开源领域的影响力。INFINI Labs Github 主页:https://github.com/infinilabs

5、提供专业服务
为客户提供包括搜索技术支持、迁移服务、定制解决方案和培训在内的全方位服务。

6、提供国产化搜索解决方案
针对中国市场的特殊需求,提供符合国产化标准的搜索产品和解决方案,帮助客户解决使用 Elasticsearch 时遇到的挑战。

极限科技(INFINI Labs)通过这些努力,旨在成为全球领先的实时搜索和数据分析解决方案提供商。

在招岗位介绍


岗位名称


Elasticsearch 开发工程师

岗位职责


  1. 维护和开发基于 Elasticsearch 的搜索业务代码,优化搜索功能,提升用户体验;
  2. 深入研究 Elasticsearch 和 Lucene 内核,定制优化底层功能以满足业务需求;
  3. 优化索引策略、查询性能和存储效率,提升系统扩展性与稳定性;
  4. 负责搜索集群的配置、监控和维护,确保高可用性与安全性;
  5. 编写技术文档,与团队协作解决复杂问题,支持业务需求落地。

    岗位要求


  6. 计算机相关专业,本科及以上学历,3 年以上 Elasticsearch 开发经验;
  7. 熟悉 Elasticsearch 和 Lucene 核心模块,掌握 Java 后端语言;
  8. 深入研究过 ES 或者 Lucene 代码,能基于 ES 开发插件;
  9. 深入理解全文检索原理、索引优化与查询性能调优;
  10. 有分布式系统开发经验,能够诊断并解决性能瓶颈;
  11. 有 Elasticsearch 二次开发或插件开发经验;
  12. 善于分析和解决问题,具备良好的沟通与协作能力;
  13. 北京全职,接受出差或客户现场驻场开发。

    加分项


  14. 有自己的博客、Github、顶级开源项目贡献者优先;
  15. 有 Lucene 或者 Elasticsearch 源码 Commit 贡献优先;
  16. 有 Elastic Certified Engineer 认证优先;
  17. 有较强的学习能力,愿意致力于新技术的研究。

    简历投递


  18. 邮件:hello@infini.ltd(邮件标题请备注姓名+求职岗位)
  19. 微信:INFINI-Labs (加微请备注求职岗位)

    ![](https://infinilabs.cn/img/comp ... at.jpg)

    我们期待有才华、有激情的你加入我们,一起探索数据搜索的未来,共同创造无限可能!

【搜索客社区日报】第1964期 (2025-01-03)

社区日报Fred2000 发表了文章 • 0 个评论 • 2371 次浏览 • 2025-01-03 14:34 • 来自相关话题

1、如何使用 Kibana OSS 7.10.2 连接 Easysearch
https://infinilabs.cn/blog/202 ... arch/

2、告别 Kibana:Elasticsearch 桌面客户端的新变革
https://mp.weixin.qq.com/s/xFUGhZ7RiIA5QqQHkoT7GQ

3、Elasticsearch 中副本和分片如何优化?
https://mp.weixin.qq.com/s/29i5dAWyYRfqaWxtt4x1Qg

4、优化混合搜索:在 OpenSearch 中提升搜索相关性的策略与实践
https://opensearch.org/blog/hy ... tion/

编辑:Fred
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第1963期 (2024-12-31)

社区日报God_lockin 发表了文章 • 0 个评论 • 3530 次浏览 • 2025-01-01 10:09 • 来自相关话题


1. 在SpringBoot里用注解生成ES index(需要梯子)
https://serdaralkancode.medium ... 807a8
2. ES 里的数据摄取管道(需要梯子)
https://medium.com/%40imadsadd ... c97ae
3. Docker 里的ES和kibana的安全设置(需要梯子)
https://umasrinivask.medium.co ... cb3fd
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
 

从 Elastic 迁移到 Easysearch 指引

Easysearchyangmf2040 发表了文章 • 0 个评论 • 2900 次浏览 • 2024-12-30 16:44 • 来自相关话题

从 Elasticsearch 迁移到 [Easysearch](https://infinilabs.cn/products/easysearch/) 需要考虑多个方面,这取决于当前使用的 Elasticsearch 版本、能容忍的停机时间、应用需求等。在此背景下,我们梳理了一下通用的升级指引,方便大家进行迁移工作。

迁移路径


| Elasticsearch 版本 | 快照兼容 | 推荐升级方法 |
| ---------------------- | ------------ | ------------------------ |
| 5.x | ❌ | 使用 INFINI Console 迁移 |
| 6.x | ✅ | 快照恢复迁移 |
| 7.0.0 - 7.10.2 | ✅ | 快照恢复迁移 |
| >7.11.0 | ❌ | 使用 INFINI Console 迁移 |

之前有同事做过相关测试,详情请移步[这里](https://infinilabs.cn/blog/202 ... store/)。

快照恢复迁移


  1. 部署新的 Easysearch 集群,如果有使用插件(如 IK),也一并安装。
  2. 将备份仓库注册到 Easysearch 集群。
  3. 在 Easysearch 中设置需要使用的用户名和密码信息。
  4. 原 Elasticsearch 集群进行快照备份。
  5. 在 Easysearch 集群中进行备份还原。
  6. 另部署一套应用连接 Easysearch 集群,进行数据、功能验证。
  7. 停止应用写入新的数据到 Elasticsearch。
  8. 原 Elasticsearch 集群进行快照备份。
  9. 在 Easysearch 集群中进行备份还原。
  10. 再次使用应用验证数据、功能正常。
  11. 切换,老应用下线使用新应用或者老应用修改地址连接 Easysearch 集群。

    INFINI Console 迁移


  12. 部署新的 Easysearch 集群及其插件(如 IK)。
  13. 部署 INFINI Console、Gateway 程序。
  14. 将 Elasticsearch 和 Easysearch 注册到 INFINI Console 中。
  15. 在 Easysearch 中设置需要使用的用户名和密码信息。
  16. 建立数据迁移任务,对业务索引进行迁移,建议启用压缩功能。
  17. 另部署一套应用连接 Easysearch 集群,进行数据、功能验证。
  18. 停止应用写入新的数据到 Elasticsearch。
  19. 再次建立数据迁移任务,设置条件,只迁移增量数据。
  20. 再次使用应用验证数据、功能正常。
  21. 切换,老应用下线使用新应用或者老应用修改地址连接 Easysearch 集群。

    客户端调整


    如果要继续使用 Java High Level REST Client,建议将版本调整到 7.10.2 。当然更建议的是使用 Easysearch 的[客户端](https://infinilabs.cn/blog/202 ... ent-1/),更轻更快,构建查询,跟搭积木一样简单。

    开源事业


    [极限科技(INFINI Labs)](https://infinilabs.cn) 一直致力于为开发者和企业提供优质的开源工具,提升整个技术生态的活力。除了维护国内最流行的分词器 analysis-ik 和 analysis-pinyin ,也在不断推动更多高质量开源产品的诞生。

    在极限科技成立三周年之际,公司宣布以下产品和工具已全面开源:

Easysearch 可搜索快照功能,看这篇就够了

Easysearchyangmf2040 发表了文章 • 0 个评论 • 2741 次浏览 • 2024-12-30 16:38 • 来自相关话题

可搜索快照功能改变了我们对备份数据的查询方式。以往要查询备份数据时,要先找到备份数据所在的快照,然后在一个合适的环境中恢复快照,最后再发起请求查询数据。这个处理路径很长,而且很消耗时间。可搜索快照功能将大大简化该处理路径,节约时间。

角色设置


相信你对节点角色的概念已经有所熟悉。要启用可搜索快照功能,[Easysearch](https://infinilabs.cn/products/easysearch/) 集群中必须至少有一个节点拥有 search 角色。参考设置如下。

plain<br /> node.roles: ["search"]<br /> node.search.cache.size: 500mb<br />

  • node.roles: 指定节点角色,只有 search 角色的节点才能去搜索快照中的数据。
  • node.search.cache.size: 执行快照搜索时,数据缓存大小。

    混合角色设置,参考如下。

    plain<br /> node.roles: ["master","data","search","ingest"]<br /> node.search.cache.size: 500mb<br />

    创建快照


    可搜索快照功能使用普通快照作为基础,创建快照命令不变。比如我创建且备份个 infini 索引。

    ```plain

    创建 infini 索引

    POST infini/_doc
    {
    "test":"Searchable snapshots"
    }

    创建快照备份 infini 索引

    PUT _snapshot/my-fs-repository/1
    {
    "indices": "infini",
    "include_global_state": false
    }
    ```

    ![](https://infinilabs.cn/img/blog ... /1.png)

    创建快照索引


    可搜索快照功能的核心是搜索快照中的索引,这一步是通过快照索引实现的。为了和集群中的普通索引区别开来,我们将实际存储在快照中的索引称为快照索引。通过使用 Easysearch 的 _restore API 并指定 remote_snapshot 存储类型来创建快照索引。

    创建快照索引时,注意名称不能与当前索引名称重复。通常我们备份完索引后,可删除索引释放节点磁盘空间,创建快照索引时默认使用原来的名称。

    ```plain

    删除 infini 索引释放磁盘空间

    DELETE infini

    创建快照索引,使用原索引名称

    POST /_snapshot/my-fs-repository/1/_restore
    {
    "indices": "infini",
    "include_global_state": false,
    "include_aliases": false,
    "storage_type": "remote_snapshot"
    }
    <br /> <br /> 创建快照索引的命令和还原快照的命令非常相似,关键在于 storage_type 参数指定 remote_snapshot 存储类型。<br /> <br /> 如果要将快照中的全部索引都创建快照索引,可省略 indices 参数。<br /> <br /> ![](<a href="https://infinilabs.cn/img/blog/2024/searchable-snapshot-read-this-article/2.pn" rel="nofollow" target="_blank">https://infinilabs.cn/img/blog ... /2.pn</a>g)<br /> <br /> 如果想在创建快照索引时指定不同的名字,参考下面的命令。<br /> <br /> plain
    POST /_snapshot/my-fs-repository/1/_restore
    {
    "indices": "infini",
    "include_global_state": false,
    "include_aliases": false,
    "storage_type": "remote_snapshot",
    "rename_pattern": "(infini)",
    "rename_replacement": "snapshot-$1"
    }
    ```

  • rename_pattern: 使用此选项指定索引匹配的正则表达式。使用捕获组重用索引名称的部分。
  • rename_replacement: 使用 $0 包括整个匹配索引名称,使用 $1 包括第一个捕获组的内容,等等。

    上述命令创建出来的快照索引名称是 snapshot-infini 。

    ![](https://infinilabs.cn/img/blog ... /3.png)

    经过上面一系列的操作,我已经拥有了两个快照索引。

    搜索快照索引


    我们通过搜索快照索引达到搜索快照数据的目的,令人开心的是搜索快照索引和搜索普通索引的语法完全一样。😀

    ![](https://infinilabs.cn/img/blog ... /4.png)

    常见问题


    如何区分普通索引和快照索引呢?

    我们可以通过索引的 settings 信息区分,快照索引的 settings 信息中有 store.type: remote_snapshot 信息,普通索引没有此信息。

    ![](https://infinilabs.cn/img/blog ... /5.png)

    快照索引能写入数据吗?

    快照索引无法写入,数据仍然保持在快照格式中存储在存储库中,因此可搜索快照索引本质上是只读的。 任何尝试写入可搜索快照索引的操作都会导致错误。

    ![](https://infinilabs.cn/img/blog ... /6.png)

    快照索引不想要了怎么办?

    直接删除,需要时再执行创建快照索引流程。此外快照在创建快照索引后,无法直接删除快照,要先删除快照索引。
    ![](https://infinilabs.cn/img/blog ... /7.png)

    如果您对上述内容有任何疑问,欢迎与我讨论。

    ![](https://infinilabs.cn/img/blog ... gf.png)

【搜索客社区日报】第1962期 (2024-12-30)

社区日报Muses 发表了文章 • 0 个评论 • 2720 次浏览 • 2024-12-30 13:34 • 来自相关话题

1、Easysearch 可搜索快照功能,看这篇就够了
https://infinilabs.cn/blog/202 ... icle/

2、Spring Boot 集成 Easysearch 完整指南
https://infinilabs.cn/blog/202 ... tion/

3、DeepSeek-V3 是怎么训练的|深度拆解
https://mp.weixin.qq.com/s/2M_f2ow3rfarr-vLeKbVCA

4、一文讲透 AI Agent 与 AI Workflow 的区别和深度解析:从自动化到智能化的演进
https://mp.weixin.qq.com/s/GCifbH9wGdPysu1z-n3KDA

5、从ES的JVM配置起步思考JVM常见参数优化
https://blog.csdn.net/xiaofeng ... 39510

编辑:Muse
更多资讯:http://news.searchkit.cn

Spring Boot 集成 Easysearch 完整指南

EasysearchINFINI Labs 小助手 发表了文章 • 0 个评论 • 2924 次浏览 • 2024-12-29 15:41 • 来自相关话题



[Easysearch](https://infinilabs.cn/products/easysearch/) 的很多用户都有这样的需要,之前是用的 ES,现在要迁移到 Easysearch,但是业务方使用的是 Spring Boot 集成的客户端,问是否能平滑迁移。

Easysearch 是完全兼容 Spring Boot 的,完全不用修改,本指南将探讨如何将 Spring Boot 和 ES 的 high-level 客户端 与 Easysearch 进行集成,涵盖从基础设置到实现 CRUD 操作和测试的所有内容。

## 服务器设置

首先,需要修改 Easysearch 节点的 easysearch.yml 文件,打开并配置这 2 个配置项:

```yml
elasticsearch.api_compatibility: true

#根据客户端版本配置版本号,我这里配置成 7.17.18
elasticsearch.api_compatibility_version: "7.17.18"
```

## 项目设置

然后,让我们设置 Maven 依赖。以下是 `pom.xml` 中的基本配置:

```xml

11
4.4.18
7.17.18




org.springframework.boot
spring-boot-starter-web



org.springframework.data
spring-data-elasticsearch
${spring-data-elasticsearch.version}


org.elasticsearch
elasticsearch
${elasticsearch.version}


org.elasticsearch.client
elasticsearch-rest-high-level-client
${elasticsearch.version}


org.projectlombok
lombok
true


```

## 客户端连接配置

完全和连接 Elasticsearch 的方式一样,不用修改:

配置 src/main/resources/application.yml 文件

```yaml
spring:
elasticsearch:
rest:
uris: https://localhost:9202
username: admin
password: xxxxxxxxxxx
ssl:
verification-mode: none
```

连接配置类

```java
@Configuration
public class ElasticsearchConfig extends AbstractElasticsearchConfiguration {
@Value("${spring.elasticsearch.rest.uris}")
private String elasticsearchUrl;

@Value("${spring.elasticsearch.rest.username}")
private String username;

@Value("${spring.elasticsearch.rest.password}")
private String password;

@Override
@Bean
public RestHighLevelClient elasticsearchClient() {
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(username, password));

SSLContext sslContext = SSLContexts.custom()
.loadTrustMaterial(null, (x509Certificates, s) -> true)
.build();

RestClientBuilder builder = RestClient.builder(HttpHost.create(elasticsearchUrl))
.setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder
.setDefaultCredentialsProvider(credentialsProvider)
.setSSLContext(sslContext)
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE));

return new RestHighLevelClient(builder);
}
}
```

## 领域模型

使用 Spring 的 Elasticsearch 注解定义领域模型:

```java
@Data
@Document(indexName = "products")
public class Product {
@Id
private String id;

@Field(type = FieldType.Text, name = "name")
private String name;

@Field(type = FieldType.Double, name = "price")
private Double price;
}
```

## 仓库层

创建继承 ElasticsearchRepository 的仓库接口:

```java
@Repository
@EnableElasticsearchRepositories
public interface ProductRepository extends ElasticsearchRepository {
}
```

## 服务层

实现服务层来处理业务逻辑:

```java
@Service
public class ProductService {
private final ProductRepository productRepository;

@Autowired
public ProductService(ProductRepository productRepository) {
this.productRepository = productRepository;
}

public Product saveProduct(Product product) {
return productRepository.save(product);
}

public Product findProductById(String id) {
return productRepository.findById(id).orElse(null);
}
}
```

## 测试

编写集成测试类:

```java
@SpringBootTest
public class ProductServiceIntegrationTest {
@Autowired
private ElasticsearchOperations elasticsearchOperations;

@Autowired
private ProductService productService;

private static final String INDEX_NAME = "products";

@BeforeEach
public void setUp() {
IndexOperations indexOperations = elasticsearchOperations.indexOps(IndexCoordinates.of(INDEX_NAME));
if (indexOperations.exists()) {
indexOperations.delete();
}

// 定义 mapping
Document mapping = Document.create()
.append("properties", Document.create()
.append("name", Document.create()
.append("type", "text")
.append("analyzer", "standard"))
.append("price", Document.create()
.append("type", "double")));

// 创建索引并应用 mapping
indexOperations.create(Collections.EMPTY_MAP, mapping);
}

@Test
public void testSaveAndFindProduct() {
List products = Arrays.asList(
new Product("Test Product 1", 99.99),
new Product("Test Product 2", 199.99),
new Product("Test Product 3", 299.99)
);

List queries = products.stream()
.map(product -> new IndexQueryBuilder()
.withObject(product)
.withIndex(INDEX_NAME)
.build())
.collect(Collectors.toList());

List indexedInfos = elasticsearchOperations.bulkIndex(
queries,
IndexCoordinates.of(INDEX_NAME)
);

// 验证结果
List ids = indexedInfos.stream()
.map(IndexedObjectInformation::getId)
.collect(Collectors.toList());

assertFalse(ids.isEmpty());
assertEquals(products.size(), ids.size());
}
}
```

## 结论

本指南展示了 Easysearch 与 Elasticsearch 的高度兼容性:

1. 配置方式相同,仅需启用 Easysearch 的 API 兼容模式。
2. 可直接使用现有 Elasticsearch 客户端。
3. Maven 依赖无需更改。
4. API、注解和仓库接口完全兼容。
5. 现有测试代码可直接应用。

这种兼容性使得从 Elasticsearch 迁移到 Easysearch 成为一个简单、低风险的过程。Spring Boot 项目可以几乎无缝地切换到 Easysearch,同时获得其性能和资源利用方面的优势。

## 关于 Easysearch

![](https://infinilabs.cn/img/blog ... er.png)

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。

官网文档:<https://infinilabs.cn/docs/latest/easysearch>

> 作者:张磊,极限科技(INFINI Labs)搜索引擎研发负责人,对 Elasticsearch 和 Lucene 源码比较熟悉,目前主要负责公司的 Easysearch 产品的研发以及客户服务工作。
> 原文:https://infinilabs.cn/blog/202 ... tion/

INFINI Labs 产品更新 | Console/Gateway/Agent 等产品开源发布首个版本

资讯动态INFINI Labs 小助手 发表了文章 • 1 个评论 • 3131 次浏览 • 2024-12-27 16:11 • 来自相关话题



![release](https://infinilabs.cn/img/blog/release/banner.png)

INFINI Labs 产品又更新啦~,包括 Easysearch v1.9.0、Gateway、Console、Agent、Loadgen v1.27.0。本次各产品更新了很多亮点功能,如 Easysearch 新增 rollup 功能,优化了多版本兼容配置;Console/Gateway/Agent/Loadgen 及 Framework 开源后,发布首个重大更新版本,支持过期元数据删除,指标图表懒加载,指标采集协程优化等等,欢迎大家下载体验。

## INFINI Easysearch v1.9.0

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。详情见:https://infinilabs.cn

Easysearch 本次更新如下:

### Improvements

- 发布 rollup 功能
- 支持自动对 rollup 索引进行滚动,无需外部触发
- 支持 avg sum max min value_count percentiles 指标类型的聚合
- 支持 terms 聚合
- 支持对指标聚合进行 Pipeline 聚合
- 支持聚合前先对数据进行过滤
- 进行聚合查询时支持直接搜索原始索引,不用更改搜索代码

- 增加适配 logstash 8.x 的请求 header
- _cat/templates 增加 lifecycle 和 rollover 列的展示

### Bug fix

- 修复 rest-api template 测试错误

## INFINI Console v1.27.0

INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。开源地址:https://github.com/infinilabs/console

Console 在线体验: http://demo.infini.cloud (用户名/密码:readonly/readonly)。

Console 本次更新如下:

### Improvements

- 代码开源,统一采用 Github 仓库进行开发
- 指标采集优化,由原来的单一协程采集调整为每个注册的集群有单独的协程进行采集
- 指标监控页面图表展示采用懒加载、单个图表独立加载,增强用户体验
- 通用时间控件增加超时时间设置
- 集群选择控件增加注册、刷新功能
- 提供指标采集状态
- 表格控件排版优化

### Bug fix

- 修复集群元数据更新不及时问题
- 修复帮助文档等链接不正确问题
- 修复节点、索引数据因随机 id 出现重复记录问题
- 修复 Runtime、Agent 实例编辑页面出错问题
- 修复集群、节点、索引、分片元数据无 Loading 问题
- 修复索引健康状态指标采集失败问题
- 修复个别菜单列未国际化问题

## INFINI Gateway v1.27.0

INFINI Gateway 是一个面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。开源地址:https://github.com/infinilabs/gateway

Gateway 本次更新如下:

### Improvements

- 调整队列消费者 slice 默认配置为 1

### Bug fix

- 修复缓存数据丢失导致队列无法消费问题
- 同步更新 Framework 修复的一些已知问题

## INFINI Agent v1.27.0

INFINI Agent 是 INFINI Console 的一个可选探针组件,负责采集和上传集群指标和日志等信息,并可通过 Console 管理。Agent 支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。开源地址:https://github.com/infinilabs/agent

探针 Agent 本次更新如下:

### Improvements

- 与 INFINI Console 统一版本号
- 同步更新 Framework 修复的已知问题
- 支持 K8S 环境指标采集

## INFINI Loadgen v1.27.0

INFINI Loadgen 是一款轻量、无依赖的 Eaysearch/Elasticsearch/OpenSearch 性能压测工具,支持参数模板化配置,支持压测端均衡流量控制,可以模拟高并发请求。开源地址:https://github.com/infinilabs/loadgen

Loadgen 本次更新如下:

### Improvements

- 保持与 Console 相同版本
- 同步更新 Framework 修复的已知问题

### Bug fix

- 修复 API 接口测试逻辑异常问题

## INFINI Framework

INFINI Framework 是 INFINI Labs 各产品依赖的核心公共代码库。开源地址:https://github.com/infinilabs/framework

### Improvements

- [发布 1.0.0 Release 版本](https://docs.infinilabs.com/framework/main/)

## 期待反馈

欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(<https://github.com/infinilabs>) 中的对应项目中提交 Feature Request 或提交 Bug。

**下载地址:** <https://infinilabs.cn/download>

**邮件**:**hello@infini.ltd**

**电话**:**(+86) 400-139-9200**

**Discord**:<https://discord.gg/4tKTMkkvVX>

也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

![](https://infinilabs.com/img/blo ... ew.jpg)

## 关于极限科技(INFINI Labs)

![INFINI Labs](https://infinilabs.cn/img/blog ... bs.png)

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:<https://infinilabs.cn>

【搜索客社区日报】 第1961期 (2024-12-27)

社区日报Fred2000 发表了文章 • 0 个评论 • 2900 次浏览 • 2024-12-27 12:16 • 来自相关话题

1、深入探究:在 OpenSearch 向量引擎中启用可插入存储
https://opensearch.org/blog/en ... ordb/

2、给 Postgres 写一个向量插件 - 向量类型
https://infinilabs.cn/blog/202 ... type/

3、带有 Elasticsearch 和 Langchain 的 Agentic RAG
https://mp.weixin.qq.com/s/kPcO5CTNAerClQ1yGAgfzA

4、GitLab 停止为中国区用户提供 GitLab.com 账号服务
https://news.cnblogs.com/n/782782/

5、活动回顾 - 第5期 搜索客 Meetup 线上直播活动圆满结束,附 PPT 下载和视频回放
https://elasticsearch.cn/article/15335

编辑:Fred
更多资讯:http://news.searchkit.cn