用了Elasticsearch,一口气上5T

搜索客社区日报 第1972期 (2025-01-15)

1.MCP Server 开发实战:无缝对接 LLM 和 Elasticsearch
https://mp.weixin.qq.com/s/38HiPOOKVKz3C76d_SGkmw
2.怎么去评估可搜索快照的性能
https://blog.csdn.net/UbuntuTo ... 31200
3.Elasticsearch:Lucene 2024 年回顾
https://blog.csdn.net/UbuntuTo ... 92339


编辑:kin122 
更多资讯:http://news.searchkit.cn
继续阅读 »
1.MCP Server 开发实战:无缝对接 LLM 和 Elasticsearch
https://mp.weixin.qq.com/s/38HiPOOKVKz3C76d_SGkmw
2.怎么去评估可搜索快照的性能
https://blog.csdn.net/UbuntuTo ... 31200
3.Elasticsearch:Lucene 2024 年回顾
https://blog.csdn.net/UbuntuTo ... 92339


编辑:kin122 
更多资讯:http://news.searchkit.cn 收起阅读 »

【直播预告】第6期 搜索客 Meetup | Easysearch 请求限速漫谈 2025-01-17 19:00

本次活动由 搜索客社区、极限科技(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 与搜索领域的最新动态,以及数据实时搜索分析、向量检索、技术实践与案例分析、日志分析、安全等领域的深度探讨。

我们热切期待您的精彩分享!

往期回顾

关于 搜索客(SearchKit)社区

搜索客社区由 Elasticsearch 中文社区进行全新的品牌升级,以新的 Slogan:“搜索人自己的社区” 为宣言。汇集搜索领域最新动态、精选干货文章、精华讨论、文档资料、翻译与版本发布等,为广大搜索领域从业者提供更为丰富便捷的学习和交流平台。

社区官网:https://searchkit.cn

继续阅读 »

本次活动由 搜索客社区、极限科技(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 与搜索领域的最新动态,以及数据实时搜索分析、向量检索、技术实践与案例分析、日志分析、安全等领域的深度探讨。

我们热切期待您的精彩分享!

往期回顾

关于 搜索客(SearchKit)社区

搜索客社区由 Elasticsearch 中文社区进行全新的品牌升级,以新的 Slogan:“搜索人自己的社区” 为宣言。汇集搜索领域最新动态、精选干货文章、精华讨论、文档资料、翻译与版本发布等,为广大搜索领域从业者提供更为丰富便捷的学习和交流平台。

社区官网:https://searchkit.cn

收起阅读 »

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

1. 我在慕尼黑Elastic大会之所见(需要梯子)
https://medium.com/life-at-apo ... 6dcd1
2. 咋把PG的数据撸进ES啊(需要梯子)
https://medium.com/%40techphil ... f124a
3. 我们是怎么让ES集群扛住上百万次访问的(需要梯子)
https://medium.com/%40jeevansa ... a5e40
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
 
继续阅读 »
1. 我在慕尼黑Elastic大会之所见(需要梯子)
https://medium.com/life-at-apo ... 6dcd1
2. 咋把PG的数据撸进ES啊(需要梯子)
https://medium.com/%40techphil ... f124a
3. 我们是怎么让ES集群扛住上百万次访问的(需要梯子)
https://medium.com/%40jeevansa ... a5e40
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
  收起阅读 »

如何在 Easysearch 中使用 Rollup 优化时序数据的存储和查询

背景

在现代数据驱动的世界中,时序数据的处理变得越来越重要。无论是监控系统、日志分析,还是物联网设备的数据收集,时序数据都占据了大量的存储空间。随着时间的推移,这些数据的存储成本和管理复杂度也在不断增加。

为了解决这一问题,Rollup 技术应运而生。本文将带你深入了解 Rollup 的概念、优势以及如何在 Easysearch 中使用 Rollup 来优化时序数据的存储和查询。


什么是 Rollup?

Rollup 是一种数据聚合技术,主要用于处理时序数据。它通过将细粒度的原始数据汇总为粗粒度的数据,从而减少存储空间并提高查询效率。简单来说,Rollup 可以将大量的详细数据压缩为更小的、更具代表性的数据集,同时保留关键的业务指标。

Rollup 的优势

  1. 降低存储成本:通过汇总数据,Rollup 可以显著减少历史数据的存储空间,从而降低存储成本。
  2. 提高查询性能:汇总后的数据量更小,查询速度更快,尤其是在处理大规模历史数据时,性能提升尤为明显。
  3. 无缝集成:Easysearch 的 Rollup 功能支持直接查询原始索引,业务代码无需修改,用户无感知。
  4. 自动化管理:Rollup 任务可以自动滚动生成新的索引,无需手动干预,简化了数据管理流程。

Rollup 的使用场景

Rollup 特别适用于以下场景:

  • 监控系统:监控系统产生的指标数据通常非常详细,但随着时间推移,这些数据的价值逐渐降低。通过 Rollup,可以将这些数据汇总为更粗粒度的指标,保留关键信息的同时减少存储压力。
  • 日志分析:日志数据通常包含大量的细节信息,但随着时间的推移,这些细节信息的重要性逐渐降低。Rollup 可以帮助你将日志数据汇总为更高层次的统计信息,便于长期存储和分析。
  • 物联网数据:物联网设备产生的数据量巨大,且大部分数据在短期内具有较高的分析价值。通过 Rollup,可以将这些数据汇总为更粗粒度的形式,便于长期存储和查询。

使用 Rollup 的先决条件

在使用 Rollup 之前,需要满足以下条件:

安装索引生命周期管理插件:Rollup 功能是索引生命周期管理插件的一部分,因此必须安装该插件。

源索引必须包含 date 类型字段:Rollup 依赖于时间字段来进行数据聚合,因此源索引必须包含一个 date 类型的字段。

Easysearch 中的 Rollup 功能

Easysearch 提供了强大的 Rollup 功能,支持多种聚合类型,并且可以自动滚动生成新的索引。下面我们将详细介绍如何在 Easysearch 中使用 Rollup。

支持的聚合类型

Easysearch 的 Rollup 功能支持以下聚合类型:

  • 数值类型字段avgsummaxminvalue_countpercentiles
  • keyword 类型字段terms 聚合
  • date 类型字段date_histogramdate_range 聚合

Rollup 的核心参数详解

在配置 Rollup 任务时,以下几个参数至关重要:

1. metrics 参数:定义需要聚合的数值字段

metrics 参数用于指定哪些数值字段需要进行聚合计算。Rollup 任务会对这些字段进行指定的聚合操作(如 avgsummaxminvalue_countpercentiles),并将结果存储到目标索引中。

示例:

"metrics": [
  "payload.elasticsearch.index_stats.*"
]

在这个例子中,metrics 指定了对 payload.elasticsearch.index_stats 下的所有字段进行聚合。


2. attributes 参数:保留原始数据的非聚合字段

attributes 参数用于指定哪些字段需要原封不动地保留在 Rollup 结果中。这些字段不会被聚合,而是直接复制到目标索引中。

示例:

"attributes": [
  "agent.*",
  "metadata.*"
]

在这个例子中,attributes 指定了所有以 agent.metadata. 开头的字段都会被保留到 Rollup 结果中。


3. exclude 参数:排除不需要处理的字段

exclude 参数用于排除某些字段,使其不参与 Rollup 任务。这些字段既不会被聚合,也不会被保留到目标索引中。

示例:

"exclude": ["payload.elasticsearch.index_stats.routing.*"]

在这个例子中,exclude 指定了 payload.elasticsearch.index_stats.routing 下的所有字段都不会被处理。


4. filter 参数:过滤源数据

filter 参数用于过滤源数据,只有符合过滤条件的文档才会被 Rollup 任务处理。这个参数可以帮助你减少需要处理的数据量,从而提高 Rollup 任务的效率。

示例:

"filter": {
  "metadata.name": "index_stats"
}

在这个例子中,filter 指定了只有 metadata.name 字段值为 index_stats 的文档才会被 Rollup 任务处理。


5. identity 参数:定义分组字段

identity 参数用于指定哪些字段作为分组条件。Rollup 任务会根据这些字段的值对数据进行分组,然后在每个分组内进行聚合计算。

功能:

  • 定义数据分组的字段。
  • 支持多个字段的组合,用于创建唯一的分组键。
  • 常用于标识数据的来源或类别。

示例:

"identity": [
  "metadata.labels.cluster_id",
  "metadata.labels.index_id",
  "metadata.labels.index_name",
  "metadata.category",
  "payload.elasticsearch.index_stats.index_info.health"
]

在这个例子中,identity 指定了多个字段作为分组条件。Rollup 任务会根据这些字段的值对数据进行分组,然后在每个分组内进行聚合计算。


6. interval 参数:定义时间聚合间隔

interval 参数用于指定时间聚合的间隔。Rollup 任务会根据这个间隔将数据按时间分桶,然后在每个时间桶内进行聚合计算。

功能:

  • 定义时间聚合的粒度。
  • 支持多种时间单位,如 1m(1 分钟)、1h(1 小时)、1d(1 天)等。
  • 常用于按时间维度汇总数据。

示例:

"interval": "1m"

在这个例子中,interval 指定了时间聚合的间隔为 1 分钟。Rollup 任务会每分钟对数据进行一次聚合。


1.10 版本的新特性

从 Easysearch 1.10.0 版本开始,Rollup 功能引入了一些新特性,进一步增强了其灵活性和易用性。

1. 支持 date_range 聚合

在 1.10.0 版本中,Rollup 增加了对 原始索引使用 date_range 聚合的支持。这意味着你可以在原始索引根据日期范围对数据进行聚合,而不仅仅是固定的时间间隔。

示例:

"date_range": {
  "field": "@timestamp",
  "ranges": [
    { "from": "now-1d/d", "to": "now" },
    { "from": "now-7d/d", "to": "now-1d/d" }
  ]
}

2. 通配符方式批量启动/停止 Rollup Job

在 1.10.0 版本中,你可以使用通配符批量启动或停止 Rollup 任务。这大大简化了任务管理的操作。

示例:

POST _rollup/jobs/rollup*/_start
POST _rollup/jobs/rollup*/_stop

3. 设置 Rollup 索引自动滚动的条数

你可以通过设置 rollup.max_docs 参数,控制 Rollup 索引自动滚动的条数。当索引中的文档数量达到设定值时,系统会自动创建一个新的 Rollup 索引。

示例:

PUT /_cluster/settings
{
    "transient": {
      "rollup.max_docs": 10000000
    }
}

4. 新增 ROLLUP_SEARCH_MAX_COUNT 配置

在 1.10.0 版本中,新增了 ROLLUP_SEARCH_MAX_COUNT 配置项,用于控制 Rollup 在运行 Job 时收集历史数据的最大并发分片请求数。这个配置项可以帮助你优化 Rollup 任务的性能,并避免集群资源过载。

功能:

  • 控制并发请求数:限制 Rollup 任务在执行搜索请求时的最大并发分片请求数。
  • 动态调整:支持在集群运行时动态调整,无需重启集群。
  • 默认值2,即默认情况下,Rollup 任务最多会同时发送 2 个并发分片请求。

示例:

PUT /_cluster/settings
{
    "transient": {
      "rollup.search.max_count": 2
    }
}

在这个例子中,ROLLUP_SEARCH_MAX_COUNT 被设置为 2,表示 Rollup 任务在执行搜索请求时,最多会同时发送 2 个并发分片请求。

配置建议:

  • 小规模集群:建议设置为较小的值(如 2),以避免资源竞争。
  • 大规模集群:可以适当增加该值(如 4),以提高并发性能。
  • 动态调整:根据集群负载情况动态调整该值,以优化性能和资源利用率。

创建 Rollup 任务的完整示例

以下是一个完整的 Rollup 任务配置示例,展示了 metricsattributesexcludefilter 参数的综合使用:

PUT _rollup/jobs/rollup1
{
  "rollup": {
    "source_index": ".infini_metrics",
    "target_index": "rollup1_{{ctx.source_index}}",
    "timestamp": "timestamp",
    "continuous": true,
    "page_size": 1000,
    "cron": "*/10 1-23 * * *",
    "timezone": "UTC+8",
    "stats": [
      {
        "max": {}
      },
      {
        "value_count": {}
      }
    ],
    "interval": "1m",
    "identity": [
      "metadata.labels.cluster_id",
      "metadata.labels.index_id",
      "metadata.labels.index_name",
      "metadata.category",
      "payload.elasticsearch.index_stats.index_info.health"
    ],
    "attributes": [
      "agent.*",
      "metadata.*"
    ],
    "metrics": [
      "payload.elasticsearch.index_stats.*"
    ],
    "exclude": ["payload.elasticsearch.index_stats.routing.*"],
    "filter": {
      "metadata.name": "index_stats"
    }
  }
}

如何使用 Rollup 索引

从 1.10.0 版本开始,索引生命周期插件不再默认启用 rollup 搜索功能,如果想使用搜索 rollup 搜索功能,需要设置

PUT /_cluster/settings
{
    "transient": {
      "rollup.search.enabled": true
    }
}

无需特意搜索 rollup 索引,只需使用标准的 _search API 对原始目标索引进行搜索。需要注意的是,查询时必须符合目标索引的约束条件。

以下是一个使用 Rollup 索引的示例:

GET target-test/_search
{
  "size": 0,
  "aggs": {
    "a": {
      "date_histogram": {
        "field": "@timestamp",
        "fixed_interval": "1h"
      }
    },
    "total_passenger_count": {
      "sum": {
        "field": "passenger_count"
      }
    }
  }
}

总结

Rollup 是处理时序数据的强大工具,能够有效降低存储成本并提高查询性能。Easysearch 的 Rollup 功能不仅支持多种聚合类型,还提供了自动滚动索引、无缝查询等特性,极大地简化了时序数据的管理和分析流程。通过合理配置 metricsattributesexcludefilter 参数,你可以灵活地控制 Rollup 任务的行为,从而高效地处理时序数据。

如果你正在处理大量的时序数据,不妨尝试使用 Rollup 来优化你的数据存储和查询。通过本文的介绍,相信你已经对 Rollup 有了深入的了解。赶快动手试试吧,体验 Rollup 带来的高效与便捷!

更详细的使用文档可在 官网 查看

关于 Easysearch

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

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

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

继续阅读 »

背景

在现代数据驱动的世界中,时序数据的处理变得越来越重要。无论是监控系统、日志分析,还是物联网设备的数据收集,时序数据都占据了大量的存储空间。随着时间的推移,这些数据的存储成本和管理复杂度也在不断增加。

为了解决这一问题,Rollup 技术应运而生。本文将带你深入了解 Rollup 的概念、优势以及如何在 Easysearch 中使用 Rollup 来优化时序数据的存储和查询。


什么是 Rollup?

Rollup 是一种数据聚合技术,主要用于处理时序数据。它通过将细粒度的原始数据汇总为粗粒度的数据,从而减少存储空间并提高查询效率。简单来说,Rollup 可以将大量的详细数据压缩为更小的、更具代表性的数据集,同时保留关键的业务指标。

Rollup 的优势

  1. 降低存储成本:通过汇总数据,Rollup 可以显著减少历史数据的存储空间,从而降低存储成本。
  2. 提高查询性能:汇总后的数据量更小,查询速度更快,尤其是在处理大规模历史数据时,性能提升尤为明显。
  3. 无缝集成:Easysearch 的 Rollup 功能支持直接查询原始索引,业务代码无需修改,用户无感知。
  4. 自动化管理:Rollup 任务可以自动滚动生成新的索引,无需手动干预,简化了数据管理流程。

Rollup 的使用场景

Rollup 特别适用于以下场景:

  • 监控系统:监控系统产生的指标数据通常非常详细,但随着时间推移,这些数据的价值逐渐降低。通过 Rollup,可以将这些数据汇总为更粗粒度的指标,保留关键信息的同时减少存储压力。
  • 日志分析:日志数据通常包含大量的细节信息,但随着时间的推移,这些细节信息的重要性逐渐降低。Rollup 可以帮助你将日志数据汇总为更高层次的统计信息,便于长期存储和分析。
  • 物联网数据:物联网设备产生的数据量巨大,且大部分数据在短期内具有较高的分析价值。通过 Rollup,可以将这些数据汇总为更粗粒度的形式,便于长期存储和查询。

使用 Rollup 的先决条件

在使用 Rollup 之前,需要满足以下条件:

安装索引生命周期管理插件:Rollup 功能是索引生命周期管理插件的一部分,因此必须安装该插件。

源索引必须包含 date 类型字段:Rollup 依赖于时间字段来进行数据聚合,因此源索引必须包含一个 date 类型的字段。

Easysearch 中的 Rollup 功能

Easysearch 提供了强大的 Rollup 功能,支持多种聚合类型,并且可以自动滚动生成新的索引。下面我们将详细介绍如何在 Easysearch 中使用 Rollup。

支持的聚合类型

Easysearch 的 Rollup 功能支持以下聚合类型:

  • 数值类型字段avgsummaxminvalue_countpercentiles
  • keyword 类型字段terms 聚合
  • date 类型字段date_histogramdate_range 聚合

Rollup 的核心参数详解

在配置 Rollup 任务时,以下几个参数至关重要:

1. metrics 参数:定义需要聚合的数值字段

metrics 参数用于指定哪些数值字段需要进行聚合计算。Rollup 任务会对这些字段进行指定的聚合操作(如 avgsummaxminvalue_countpercentiles),并将结果存储到目标索引中。

示例:

"metrics": [
  "payload.elasticsearch.index_stats.*"
]

在这个例子中,metrics 指定了对 payload.elasticsearch.index_stats 下的所有字段进行聚合。


2. attributes 参数:保留原始数据的非聚合字段

attributes 参数用于指定哪些字段需要原封不动地保留在 Rollup 结果中。这些字段不会被聚合,而是直接复制到目标索引中。

示例:

"attributes": [
  "agent.*",
  "metadata.*"
]

在这个例子中,attributes 指定了所有以 agent.metadata. 开头的字段都会被保留到 Rollup 结果中。


3. exclude 参数:排除不需要处理的字段

exclude 参数用于排除某些字段,使其不参与 Rollup 任务。这些字段既不会被聚合,也不会被保留到目标索引中。

示例:

"exclude": ["payload.elasticsearch.index_stats.routing.*"]

在这个例子中,exclude 指定了 payload.elasticsearch.index_stats.routing 下的所有字段都不会被处理。


4. filter 参数:过滤源数据

filter 参数用于过滤源数据,只有符合过滤条件的文档才会被 Rollup 任务处理。这个参数可以帮助你减少需要处理的数据量,从而提高 Rollup 任务的效率。

示例:

"filter": {
  "metadata.name": "index_stats"
}

在这个例子中,filter 指定了只有 metadata.name 字段值为 index_stats 的文档才会被 Rollup 任务处理。


5. identity 参数:定义分组字段

identity 参数用于指定哪些字段作为分组条件。Rollup 任务会根据这些字段的值对数据进行分组,然后在每个分组内进行聚合计算。

功能:

  • 定义数据分组的字段。
  • 支持多个字段的组合,用于创建唯一的分组键。
  • 常用于标识数据的来源或类别。

示例:

"identity": [
  "metadata.labels.cluster_id",
  "metadata.labels.index_id",
  "metadata.labels.index_name",
  "metadata.category",
  "payload.elasticsearch.index_stats.index_info.health"
]

在这个例子中,identity 指定了多个字段作为分组条件。Rollup 任务会根据这些字段的值对数据进行分组,然后在每个分组内进行聚合计算。


6. interval 参数:定义时间聚合间隔

interval 参数用于指定时间聚合的间隔。Rollup 任务会根据这个间隔将数据按时间分桶,然后在每个时间桶内进行聚合计算。

功能:

  • 定义时间聚合的粒度。
  • 支持多种时间单位,如 1m(1 分钟)、1h(1 小时)、1d(1 天)等。
  • 常用于按时间维度汇总数据。

示例:

"interval": "1m"

在这个例子中,interval 指定了时间聚合的间隔为 1 分钟。Rollup 任务会每分钟对数据进行一次聚合。


1.10 版本的新特性

从 Easysearch 1.10.0 版本开始,Rollup 功能引入了一些新特性,进一步增强了其灵活性和易用性。

1. 支持 date_range 聚合

在 1.10.0 版本中,Rollup 增加了对 原始索引使用 date_range 聚合的支持。这意味着你可以在原始索引根据日期范围对数据进行聚合,而不仅仅是固定的时间间隔。

示例:

"date_range": {
  "field": "@timestamp",
  "ranges": [
    { "from": "now-1d/d", "to": "now" },
    { "from": "now-7d/d", "to": "now-1d/d" }
  ]
}

2. 通配符方式批量启动/停止 Rollup Job

在 1.10.0 版本中,你可以使用通配符批量启动或停止 Rollup 任务。这大大简化了任务管理的操作。

示例:

POST _rollup/jobs/rollup*/_start
POST _rollup/jobs/rollup*/_stop

3. 设置 Rollup 索引自动滚动的条数

你可以通过设置 rollup.max_docs 参数,控制 Rollup 索引自动滚动的条数。当索引中的文档数量达到设定值时,系统会自动创建一个新的 Rollup 索引。

示例:

PUT /_cluster/settings
{
    "transient": {
      "rollup.max_docs": 10000000
    }
}

4. 新增 ROLLUP_SEARCH_MAX_COUNT 配置

在 1.10.0 版本中,新增了 ROLLUP_SEARCH_MAX_COUNT 配置项,用于控制 Rollup 在运行 Job 时收集历史数据的最大并发分片请求数。这个配置项可以帮助你优化 Rollup 任务的性能,并避免集群资源过载。

功能:

  • 控制并发请求数:限制 Rollup 任务在执行搜索请求时的最大并发分片请求数。
  • 动态调整:支持在集群运行时动态调整,无需重启集群。
  • 默认值2,即默认情况下,Rollup 任务最多会同时发送 2 个并发分片请求。

示例:

PUT /_cluster/settings
{
    "transient": {
      "rollup.search.max_count": 2
    }
}

在这个例子中,ROLLUP_SEARCH_MAX_COUNT 被设置为 2,表示 Rollup 任务在执行搜索请求时,最多会同时发送 2 个并发分片请求。

配置建议:

  • 小规模集群:建议设置为较小的值(如 2),以避免资源竞争。
  • 大规模集群:可以适当增加该值(如 4),以提高并发性能。
  • 动态调整:根据集群负载情况动态调整该值,以优化性能和资源利用率。

创建 Rollup 任务的完整示例

以下是一个完整的 Rollup 任务配置示例,展示了 metricsattributesexcludefilter 参数的综合使用:

PUT _rollup/jobs/rollup1
{
  "rollup": {
    "source_index": ".infini_metrics",
    "target_index": "rollup1_{{ctx.source_index}}",
    "timestamp": "timestamp",
    "continuous": true,
    "page_size": 1000,
    "cron": "*/10 1-23 * * *",
    "timezone": "UTC+8",
    "stats": [
      {
        "max": {}
      },
      {
        "value_count": {}
      }
    ],
    "interval": "1m",
    "identity": [
      "metadata.labels.cluster_id",
      "metadata.labels.index_id",
      "metadata.labels.index_name",
      "metadata.category",
      "payload.elasticsearch.index_stats.index_info.health"
    ],
    "attributes": [
      "agent.*",
      "metadata.*"
    ],
    "metrics": [
      "payload.elasticsearch.index_stats.*"
    ],
    "exclude": ["payload.elasticsearch.index_stats.routing.*"],
    "filter": {
      "metadata.name": "index_stats"
    }
  }
}

如何使用 Rollup 索引

从 1.10.0 版本开始,索引生命周期插件不再默认启用 rollup 搜索功能,如果想使用搜索 rollup 搜索功能,需要设置

PUT /_cluster/settings
{
    "transient": {
      "rollup.search.enabled": true
    }
}

无需特意搜索 rollup 索引,只需使用标准的 _search API 对原始目标索引进行搜索。需要注意的是,查询时必须符合目标索引的约束条件。

以下是一个使用 Rollup 索引的示例:

GET target-test/_search
{
  "size": 0,
  "aggs": {
    "a": {
      "date_histogram": {
        "field": "@timestamp",
        "fixed_interval": "1h"
      }
    },
    "total_passenger_count": {
      "sum": {
        "field": "passenger_count"
      }
    }
  }
}

总结

Rollup 是处理时序数据的强大工具,能够有效降低存储成本并提高查询性能。Easysearch 的 Rollup 功能不仅支持多种聚合类型,还提供了自动滚动索引、无缝查询等特性,极大地简化了时序数据的管理和分析流程。通过合理配置 metricsattributesexcludefilter 参数,你可以灵活地控制 Rollup 任务的行为,从而高效地处理时序数据。

如果你正在处理大量的时序数据,不妨尝试使用 Rollup 来优化你的数据存储和查询。通过本文的介绍,相信你已经对 Rollup 有了深入的了解。赶快动手试试吧,体验 Rollup 带来的高效与便捷!

更详细的使用文档可在 官网 查看

关于 Easysearch

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

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

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

收起阅读 »

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

1、如何监控 Elasticsearch 集群健康状态并实现邮件自动预警?
https://mp.weixin.qq.com/s/6K2PHQUdKXt4pngSjWmQRw

2、快速上手 INFINI Console 的 TopN 指标功能
https://infinilabs.cn/blog/202 ... rics/

3、介绍 Easysearch 的 Rollup
https://infinilabs.cn/blog/202 ... llup/

4、极致 ElasticSearch 调优,让你的ES 狂飙100倍!
https://mp.weixin.qq.com/s/7dYZp-NwNQMLRrdOjcNj5w

5、【Elasticsearch】批量操作:优化性能
https://blog.csdn.net/lilinhai ... 06354

编辑:Muse
更多资讯:http://news.searchkit.cn
继续阅读 »
1、如何监控 Elasticsearch 集群健康状态并实现邮件自动预警?
https://mp.weixin.qq.com/s/6K2PHQUdKXt4pngSjWmQRw

2、快速上手 INFINI Console 的 TopN 指标功能
https://infinilabs.cn/blog/202 ... rics/

3、介绍 Easysearch 的 Rollup
https://infinilabs.cn/blog/202 ... llup/

4、极致 ElasticSearch 调优,让你的ES 狂飙100倍!
https://mp.weixin.qq.com/s/7dYZp-NwNQMLRrdOjcNj5w

5、【Elasticsearch】批量操作:优化性能
https://blog.csdn.net/lilinhai ... 06354

编辑:Muse
更多资讯:http://news.searchkit.cn 收起阅读 »

INFINI Labs 产品更新 | Console 发布 TopN 功能,Easysearch 新增 Rollup 能力等

release

INFINI Labs 产品全新发布!此次更新为大家带来了 Console 的全新 TopN 功能,让您能够更高效地定位最关键的节点或索引;Easysearch 新增 Rollup 能力,大幅提升监控指标的存储周期并优化分析体验;此外,Framework 还修复了多项缺陷并进行了多处优化。欢迎下载体验,探索更多可能!

INFINI Console v1.28.0

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

Console 在线体验:

http://demo.infini.cloud (用户名/密码:readonly/readonly)。

亮点更新

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.10.0

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

Easysearch 本次更新如下:

功能更新

  • Rollup 功能增强:新增并发限制、任务失败自动重启功能,支持批量启动、停止 Job, 并支持 date_range 聚合。
  • 字段类型功能优化:新增 flattened_text 和 match_only_text 字段类型,支持更多查询场景;

关于 Rollup 具体如何使用,请查看这篇单独的博客:介绍 Easysearch 的 Rollup

INFINI Framework v1.1.0

功能更新

  • 将指标收集任务设置为单例模式,提高执行效率。(#17)
  • 在集群健康状态变为红色时,将集群分配解释记录到活动日志中。
  • 新增 Elastic API 方法 ClusterAllocationExplain。
  • 在指标配置中添加 min_bucket_size 和 hits_total 选项。(#29)
  • 在 http_client 配置部分中新增代理设置。(#33)
  • 添加新条件,用于校验数组和字符串等项目的长度。(#38)
  • 增强 HTTP 处理器工具,支持按状态码写入字节流。(#55)

重大变更

  • 更新 WebSocket 握手消息头,改用 websocket-session-id 以增强会话标识能力。

问题修复

  • 移除节点状态任务中多余的集群统计指标收集逻辑。(#17)
  • 修复集群指标主开关不起作用的问题。(#17)
  • 修复集群状态变为可用后元数据未能即时生效的问题。(#23)
  • 允许在处理多个缺口的文件时跳过下一文件。(#22)
  • 移除每节点指标收集逻辑以提升性能。(#26)
  • 修正从基本身份验证中解析密码的问题。(#31)
  • 修复指标收集任务间隔设置未生效的问题。(#30)
  • 解决无效数据目录问题,直接使用 appname 进行配置。(#46)
  • 修正健康 API 中系统集群健康状态的错误报告。(#39)

优化改进

  • 添加框架和依赖库的提交哈希,增强可追溯性。
  • 在应用初始化时自动去除输入变量中的多余空格。
  • 初次访问时自动初始化 Badger 数据库。(#27)
  • 在日志信息中添加搜索响应详情,增强诊断能力。(#28)

更多详情请查看以下详细的 Release Notes 或联系我们的技术支持团队!

期待反馈

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

下载地址: https://infinilabs.cn/download

邮件hello@infini.ltd

电话(+86) 400-139-9200

Discordhttps://discord.gg/4tKTMkkvVX

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

关于极限科技(INFINI Labs)

INFINI Labs

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

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

官网:https://infinilabs.cn

继续阅读 »

release

INFINI Labs 产品全新发布!此次更新为大家带来了 Console 的全新 TopN 功能,让您能够更高效地定位最关键的节点或索引;Easysearch 新增 Rollup 能力,大幅提升监控指标的存储周期并优化分析体验;此外,Framework 还修复了多项缺陷并进行了多处优化。欢迎下载体验,探索更多可能!

INFINI Console v1.28.0

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

Console 在线体验:

http://demo.infini.cloud (用户名/密码:readonly/readonly)。

亮点更新

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.10.0

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

Easysearch 本次更新如下:

功能更新

  • Rollup 功能增强:新增并发限制、任务失败自动重启功能,支持批量启动、停止 Job, 并支持 date_range 聚合。
  • 字段类型功能优化:新增 flattened_text 和 match_only_text 字段类型,支持更多查询场景;

关于 Rollup 具体如何使用,请查看这篇单独的博客:介绍 Easysearch 的 Rollup

INFINI Framework v1.1.0

功能更新

  • 将指标收集任务设置为单例模式,提高执行效率。(#17)
  • 在集群健康状态变为红色时,将集群分配解释记录到活动日志中。
  • 新增 Elastic API 方法 ClusterAllocationExplain。
  • 在指标配置中添加 min_bucket_size 和 hits_total 选项。(#29)
  • 在 http_client 配置部分中新增代理设置。(#33)
  • 添加新条件,用于校验数组和字符串等项目的长度。(#38)
  • 增强 HTTP 处理器工具,支持按状态码写入字节流。(#55)

重大变更

  • 更新 WebSocket 握手消息头,改用 websocket-session-id 以增强会话标识能力。

问题修复

  • 移除节点状态任务中多余的集群统计指标收集逻辑。(#17)
  • 修复集群指标主开关不起作用的问题。(#17)
  • 修复集群状态变为可用后元数据未能即时生效的问题。(#23)
  • 允许在处理多个缺口的文件时跳过下一文件。(#22)
  • 移除每节点指标收集逻辑以提升性能。(#26)
  • 修正从基本身份验证中解析密码的问题。(#31)
  • 修复指标收集任务间隔设置未生效的问题。(#30)
  • 解决无效数据目录问题,直接使用 appname 进行配置。(#46)
  • 修正健康 API 中系统集群健康状态的错误报告。(#39)

优化改进

  • 添加框架和依赖库的提交哈希,增强可追溯性。
  • 在应用初始化时自动去除输入变量中的多余空格。
  • 初次访问时自动初始化 Badger 数据库。(#27)
  • 在日志信息中添加搜索响应详情,增强诊断能力。(#28)

更多详情请查看以下详细的 Release Notes 或联系我们的技术支持团队!

期待反馈

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

下载地址: https://infinilabs.cn/download

邮件hello@infini.ltd

电话(+86) 400-139-9200

Discordhttps://discord.gg/4tKTMkkvVX

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

关于极限科技(INFINI Labs)

INFINI Labs

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

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

官网:https://infinilabs.cn

收起阅读 »

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

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
继续阅读 »
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 收起阅读 »

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

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
继续阅读 »
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)

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
继续阅读 »
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)


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

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)

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
继续阅读 »
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)

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

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

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

我们是谁

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(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. 编写技术文档,与团队协作解决复杂问题,支持业务需求落地。

岗位要求

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

加分项

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

简历投递

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

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

继续阅读 »

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

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

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

我们是谁

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(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. 编写技术文档,与团队协作解决复杂问题,支持业务需求落地。

岗位要求

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

加分项

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

简历投递

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

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

收起阅读 »

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

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
继续阅读 »
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)


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
 
继续阅读 »

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 指引

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

迁移路径

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

之前有同事做过相关测试,详情请移步这里

快照恢复迁移

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

INFINI Console 迁移

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

客户端调整

如果要继续使用 Java High Level REST Client,建议将版本调整到 7.10.2 。当然更建议的是使用 Easysearch 的客户端,更轻更快,构建查询,跟搭积木一样简单。

开源事业

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

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

以上开源软件都可以在 Github 上面找到:https://github.com/infinilabs

欢迎大家一起参与到开源工具的维护、贡献当中来,别忘了 Star🌟 支持一下!!!

如果您对迁移过程有任何疑问,欢迎与我讨论。

继续阅读 »

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

迁移路径

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

之前有同事做过相关测试,详情请移步这里

快照恢复迁移

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

INFINI Console 迁移

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

客户端调整

如果要继续使用 Java High Level REST Client,建议将版本调整到 7.10.2 。当然更建议的是使用 Easysearch 的客户端,更轻更快,构建查询,跟搭积木一样简单。

开源事业

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

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

以上开源软件都可以在 Github 上面找到:https://github.com/infinilabs

欢迎大家一起参与到开源工具的维护、贡献当中来,别忘了 Star🌟 支持一下!!!

如果您对迁移过程有任何疑问,欢迎与我讨论。

收起阅读 »