Q:有两个人掉到陷阱里了,死的人叫死人,活人叫什么?

社区日报 第1631期 (2023-05-22)

社区日报yuebancanghai 发表了文章 • 0 个评论 • 3217 次浏览 • 2023-05-22 10:59 • 来自相关话题

1. Elasticsearch 8.X Rollup 功能详解及避坑指南
   https://mp.weixin.qq.com/s/YtCAIODjKNdyURnjisERsA
2. Elasticsearch 生产数据备份恢复
   https://zhuanlan.zhihu.com/p/147705038
3. 使用Kibana 进行Elasticsearch 8.2.2数据备份
   https://blog.csdn.net/weixin_4 ... 83675
编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

es8.5.3版本使用ElasticsearchClient客户端ReindexRequest操作报错

Elasticsearchmryu 回复了问题 • 2 人关注 • 1 个回复 • 2921 次浏览 • 2023-10-07 12:01 • 来自相关话题

使用RestHighLevelClient获取Cluster setting信息BLOCK死锁【已解决】

回复

Elasticsearchyangjianxuan 回复了问题 • 1 人关注 • 6 个回复 • 3099 次浏览 • 2023-05-20 10:55 • 来自相关话题

es中json转QueryBuilder

回复

Elasticsearchadsreach 回复了问题 • 1 人关注 • 1 个回复 • 2643 次浏览 • 2023-05-19 14:01 • 来自相关话题

请教各位一个ES关于nested检索问题

Elasticsearchadsreach 回复了问题 • 1 人关注 • 1 个回复 • 2158 次浏览 • 2023-05-18 19:54 • 来自相关话题

社区日报 第1630期 (2023-05-18)

社区日报Se7en 发表了文章 • 0 个评论 • 2059 次浏览 • 2023-05-18 09:42 • 来自相关话题

1.Elasticsearch 中的垃圾回收和 G1GC(需要梯子)
https://medium.com/naukri-engi ... 47181
2.Prometheus 监控 Elasticsearch 的主要指标
https://dev.to/sysdig/top-metr ... -3pca
3.如何使用 Elasticsearch 在零售业创造卓越的用户体验
https://dev.to/egeninc/how-to- ... l-4c3

编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili

社区日报 第1629期 (2023-05-17)

社区日报kin122 发表了文章 • 0 个评论 • 3035 次浏览 • 2023-05-17 17:23 • 来自相关话题

1.Elastic 进阶教程:在Elasticsearch中部署中文NER模型原创
https://cloud.tencent.com/deve ... 66781
2.Elasticsearch:Standard Text Analyzer - 标准文本分析器
https://elasticstack.blog.csdn ... 78016
3.Elasticsearch:NLP 和 Elastic:入门
https://elasticstack.blog.csdn ... 91484
 

编辑:kin122
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili
 

社区日报 第1628期 (2023-05-16)

社区日报God_lockin 发表了文章 • 0 个评论 • 2522 次浏览 • 2023-05-16 12:08 • 来自相关话题


1. ES 知识点串讲(3)分片与拓展(需要梯子)
https://braineanear.medium.com ... 6321f
2. ES 知识点串讲(4)副本(需要梯子)
https://braineanear.medium.com ... 32e42
3. ES 知识点串讲(5)节点角色(需要梯子)
https://braineanear.medium.com ... 4257e
编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili
 

INFINI Labs 产品更新 | 重磅推出 Easysearch 一个分布式的近实时搜索与分析引擎

资讯动态liaosy 发表了文章 • 0 个评论 • 3997 次浏览 • 2023-05-16 11:57 • 来自相关话题

![INFINI Labs 产品更新发布](https://elasticsearch.cn/uploa ... 90.png)

INFINI Labs 产品又更新啦,包括 Easysearch v1.1.0、Gateway v1.13.0、Console v1.1.0、Agent v0.4.0,其中 Easysearch 经过团队的数月打磨,现正式对外推出。Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10.2 版本。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%。下面是一张索引大小对比图:

![](https://www.infinilabs.com/img ... p1.png)

更多介绍查看 [详情](https://www.infinilabs.com/blo ... ssion/)。

其他更新功能如下:

Breaking changes


  • Lucene 版本升级到 8.11.2

    Breaking changes


  • 增加 ZSTD codec, 引入 ZSTD 压缩算法,对存储字段,doc_values,词典进行压缩。
  • 增加 index.source_reuse 索引级别配置,对 _source 进一步压缩。
  • 提供索引生命周期管理 ILM 模块的功能,绝大部分 api 兼容 elasticsearch

    Breaking changes


  • 减少冗余日志输出。
  • 减少 modules 模块整体大小。

    下载地址:https://www.infinilabs.com/download

    INFINI Gateway v1.13.0


    极限网关本次更新如下:

    Features


  • router.rules 增加 enabled 选项,控制是否启用 flow
  • 增加对 loong64 架构的支持
  • 增加对 riscv64 架构的支持
  • elasticsearch filter 增加 dial_timeout 选项

    Bug fix


  • 修复 http/elasticsearch 转发后 HTTP 响应头丢失的问题
  • 修复 pipeline 热加载出现重复 pipeline 同时运行的问题
  • 修复 bulk_indexing 退出后泄漏 goroutine 的问题

    Improvements


  • 优化 HTTP 头设置方式,避免出现重复的 HTTP 头
  • 优化 pipeline 停止的响应速度
  • pipeline 增加 enabled 选项,控制是否启用 pipeline

    更多 Gateway 更新可参考【[Gateway 版本历史](https://www.infinilabs.com/doc ... -notes)】。

    INFINI Console v1.1.0


    本次 INFINI Console 版本发布主要新增了网关实时日志查看功能、完善了数据迁移功能和数据看板的可视化能力、以及修复了已知 Bug。

    实时日志


    登录 Console,进入 [资源管理][网关管理] 界面,可以看到网关实时日志入口(前提需要注册网关)如下图所示:

    ![](https://www.infinilabs.com/img ... p1.png)

    进入实时日志展示界面,点击“开始”按钮后,服务端将 Gateway 日志实时推送到 Console 界面展示,在该界面可以动态调整输出不同的日志级别(DEBUG、INFO、WARN、ERROR 等),同时也支持文件名、方法名、消息内容加通配符进行过滤。

    ![](https://p1-juejin.byteimg.com/ ... image?)

    详情查看 [动手教程](https://www.infinilabs.com/doc ... -logs/) 和 [操作演示视频](https://www.bilibili.com/video/BV15z4y1h7Rd)。


    数据迁移


    数据迁移模块,基于上个版本做了优化,添加 ILM,Template,Alias 初始化操作。方便用户根据各自的需求迁移索引生命周期、模板、别名等。

    ![](https://www.infinilabs.com/img ... p2.png)

    数据看板


    数据看板图表支持复制、快速切换、时间框选、缩放、标记高亮,进一步增强 Console 可视化能力。

    ![](https://p6-juejin.byteimg.com/ ... image?)

    详情查看 [操作演示视频](https://www.bilibili.com/video/BV1Ws4y1g7Eu)。

    除以上主要功能更新外,Console 其他功能优化如下:

    Bug fix


  • 修复数据探索保存查询出现 mapping 错误的问题
  • 修复数据看板组件数据源配置的问题
  • 修复数据探索左侧字段栏样式的问题
  • 修复集群注册向导点击跳转后丢失集群类型的问题

    Improvements


  • 数据看板汉化

    更多 Console 更新可参考【[Console 版本历史](https://www.infinilabs.com/doc ... -notes)】。

    INFINI Agent v0.4.0


    数据采集工具探针(INFINI Agent)更新如下:

    Features


  • 新增 logs_processor ,配置采集本地日志文件

    Breaking changes


  • es_logs_processor 调整日志字段
    • created 重命名为 timestamp
    • 自动提取 payload.timestamp payload.@timestmap 字段到 timestamp
  • es_logs_processor 删除 enable 选项

    下载地址:
    https://www.infinilabs.com/download/?product=agent

    期待反馈


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

  • INFINI Gateway: [https://github.com/infinilabs/gateway/issues](https://github.com/infinilabs/gateway/issues)
  • INFINI Console: [https://github.com/infinilabs/console/issues](https://github.com/infinilabs/console/issues)
  • 下载地址: [https://www.infinilabs.com/download](https://www.infinilabs.com/download)

    您还可以通过邮件联系我们:hello@infini.ltd

    或者拨打我们的热线电话:(+86) 400-139-9200

    也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群讨论,或者扫码加入我们的知识星球一起学习交流。

    ![](https://www.infinilabs.com/img ... us.jpg)

    关于极限科技(INFINI Labs)


    ![关于极限科技](https://www.infinilabs.com/img ... bs.png)

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

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

    详情参见官网:[https://www.infinilabs.com](https://www.infinilabs.com)

使用 Easysearch,日志存储少一半

默认分类xiaoshi2 发表了文章 • 2 个评论 • 3033 次浏览 • 2023-05-16 11:37 • 来自相关话题

在海量日志存储场景中,索引膨胀率是一个关键指标,直接影响存储成本和查询性能。它表示原始数据与索引数据在磁盘上所占空间的比率。较高的索引膨胀率不仅增加了存储成本,而且可能会影响查询速度,尤其是在 I/O 密集型的查询中。因此,我们需要密切关注和优化索引膨胀率。接下来,我们将比较 Elasticsearch 和 Easysearch 在处理相同数据时的索引膨胀率。

测试结果


一图胜千言,下图是 Easysearch v1.1 和 Elasticsearch v6.4.3 的索引大小测试对比,Y 轴单位是 MB。

使用 Easysearch v1.1 的压缩功能,比 Elasticsearch v6.4.3 的索引大小降低了 50%。

![](https://www.infinilabs.com/img ... p1.png)

测试说明


以下是对 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 进行索引膨胀率的压测.

Easysearch 是什么?


INFINI Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10 版本。 Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能,与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。
安装包大小只有 54 兆,相比 Elasticsearch 动辄一两百兆的安装包更加轻量级。
Easysearch v1.1

| 索引 | 大小(MB) | 膨胀率 | 条数(万) |
| ---------------- | -------- | ------ | -------- |
| nginx_default_1g | 1514 | 1.33 | 500 |
| nginx_best_1g | 1286 | 1.138 | 500 |
| nginx_zstd_1g | 1015.3 | 0.94 | 500 |
| nginx_reuse_1g | 758.39 | 0.70 | 500 |

注意上面使用到的 Easysearch 的压缩策略有 4 种:

| 压缩策略 | 描述 |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| default | 和 Elasticsearch 的 default 压缩策略一致。 |
| best_compression | 和 Elasticsearch 的 best_compression 一致。 |
| ZSTD | ZSTD(Zstandard)是一种开源的压缩算法和压缩库,旨在提供高性能和高压缩比的数据压缩解决方案。由 Facebook 开发并开源的一个压缩库,Easysearch 1.1 版引入了这个压缩算法作为一个可选的压缩策略,分别对存储字段,doc_values,和词典文件进行了压缩,并且 Easysearch 使用的 zstd 是纯 java 版,不依赖底层的操作系统和 cpu 架构,无需单独编译可以直接部署在国产的操作系统和芯片上。 |
| index.source_reuse | Easysearch v1.1 新增加的一个索引配置项,表示是否对 source 中的字段进行复用,熟悉 Elasticsearch 存储结构的都知道,es 底层依赖 lucene 作为核心的存储和查询引擎,默认 mapping 下,在将 es 的字段解析成 lucene 的对应字段后,一个 keyword 类型的字段会分别存储在 _source 和 doc_values 字段里,Easysearch 将 keyword 字段在 source 存储时进行了过滤,然后在查询阶段又利用 doc_values 对 source 里过滤的 keyword 字段进行了无缝拼接,用户层面感知不到对 keyword 字段的特殊处理。 |

default 和 best_compression 比之前 6.43 版的膨胀率降低是因为得益于 lucene 版本的升级到了 8.11.2,新版的 lucene 的压缩比之前的版本有了很大提升。
重点是最后利用 ZSTD 加 index.source_reuse,存储资源的占用比之前 6.43 版本的 best_compression 的 1.5G 减少了 50%,对比相同 lucene 版本的 best_compression,存储资源也减少了 40%,带来以下几点好处:

  • 降低存储成本:较低的索引膨胀率意味着存储相同量的数据需要更少的磁盘空间,这将直接减少硬件和维护成本。
  • 提高系统扩展性:由于索引占用的存储空间较小,可以在相同的硬件上处理更多的数据,或者在扩展存储时,需要添加的硬件更少。
  • 更高效的数据备份和传输:小的索引文件意味着备份和传输数据的时间和带宽需求都会减少。

    使用方法


    ```

    启用ZSTD

    PUT nginx_zstd
    {
    "settings": {
    "codec": "ZSTD"
    }
    }

    启用index.source_reuse

    PUT nginx_reuse
    {
    "settings": {
    "index.source_reuse": true
    }
    }

    结合使用

    PUT nginx_reuse
    {
    "settings": {
    "codec": "ZSTD",
    "index.source_reuse": true
    }
    }
    ```

    最后附上 Easysearch 的下载地址,欢迎大家下载试用。
    [https://www.infinilabs.com/dow ... earch](https://www.infinilabs.com/dow ... search)

集群分片数非常多的情况下,是否会造成master节点频繁gc

Elasticsearchxiaohei 回复了问题 • 3 人关注 • 2 个回复 • 2744 次浏览 • 2023-07-07 16:23 • 来自相关话题

社区日报 第1627期 (2023-05-15)

社区日报yuebancanghai 发表了文章 • 0 个评论 • 2162 次浏览 • 2023-05-15 12:18 • 来自相关话题

1. Elasticsearch最佳实践:如何保证你的数据安全
   https://blog.csdn.net/cloudbig ... 34697
2. Elasticsearch 索引备份及恢复
   https://blog.csdn.net/UbuntuTo ... 59437
3. Elasticsearch 7.X Scripting脚本使用详解
   https://blog.csdn.net/laoyang3 ... 69751
编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

ES数据没了?谁动了我的数据?

Elasticsearchyangmf2040 发表了文章 • 0 个评论 • 3901 次浏览 • 2023-05-13 08:46 • 来自相关话题

背景


我们在使用 Elasticsearch 的时候,可能会遇到数据“丢”了的情况。有可能是数据没成功写入 ES 集群,也可能是数据被误删了。

针对数据被误删,有没有好的解决办法呢?

其实我们可以把“删除数据”这个操作管理起来。当 ES 集群接收到删除数据命令的时候,先不执行该命令,而是生成一条删除数据的记录,经过管理人员批准后,该命令才会执行。这样不仅可以管理数据的删除,还可以进行删除操作的追踪:什么人,什么时间,发送了什么样的删除指令,从哪个 IP 发送的,以什么身份登录的等等。

要实现这个解决办法,我们可借助 INFINI Gateway 和 Console 的帮助。

方案架构


![](https://www.infinilabs.com/img ... p1.png)

方案效果


  • INFINI Gateway 作为 ES 集群的代理,接收所有请求
  • INFINI Gateway 对删除数据操作进行拦截,在 Console UI 界面生成记录
  • 管理人员 在 Console UI 界面审批操作记录,审批通过操作被执行

    方案演示


    测试数据准备


    测试索引 test1,一共有 3 条数据。message 内容分别是"line 1","line 2"和"line 3"。

    ![](https://www.infinilabs.com/img ... p2.png)

    启动 INFINI Gateway 及 Console


    网关配置新增内容

    增加对 DELETE 操作的捕获,不直接执行,写入队列中。后续由队列生成特定的记录。

    ```
    router:

    • name: my_router
      default_flow: default_flow
      tracing_flow: logging_flow
      rules:
      • method:
        • "DELETE"
          pattern:
        • "/{any_index}"
        • "/{any_index}/{any_type}"
        • "/{any_index}/{any_type}/{any_docid}"
          flow:
        • audit_flow
      • method:
        • "*"
          pattern:
        • "/{any_index}/_delete_by_query"
        • "/_delete_by_query"
          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: "del_queue"
        idle_timeout_in_seconds: 1
        elasticsearch: "logging-server"
        index_name: "del_requests"
        worker_size: 1
        bulk_size_in_kb: 1
        ```

        执行删除操作


        ES 支持多种删除操作,简单总结归纳如下:

        1. 删除指定文档 id
        2. 删除索引
        3. 根据查询删除指定数据(_delete_by_query)

          执行删除操作之前,先通过 INFINI Gateway 访问 ES 集群,证明可正常访问数据。
          ![](https://www.infinilabs.com/img ... p3.png)
          执行上述的几种删除命令,注意要发给 INFINI Gateway 的 8000 端口。
          ![](https://www.infinilabs.com/img ... p4.png)

          数据查询验证数据还在


          ![](https://www.infinilabs.com/img ... p5.png)

          Console 界面查看未批准的删除记录


          ![](https://www.infinilabs.com/img ... p6.png)

          所有删除操作,都被记录,待审批

          Console 界面进行审批通过


          ![](https://www.infinilabs.com/img ... p7.jpg)

          选择一条记录,批准执行。Operation-approve


          数据查询验证数据


          "message": "line 2"的文档已被删除。

          ![](https://www.infinilabs.com/img ... p8.png)


          Console 界面查看历史记录


          ![](https://www.infinilabs.com/img ... p9.png)

          继续批准测试


          批准删除一条文档

          ![](https://www.infinilabs.com/img ... 10.png)

          ![](https://www.infinilabs.com/img ... 11.png)

          "message": "line 1" 的文档不在了。

          批准删除索引

          ![](https://www.infinilabs.com/img ... 12.png)

          ![](https://www.infinilabs.com/img ... 13.png)

          索引不在了。

          至此我们演示了如何利用 INFINI Gateway 和 Console 对 ES 集群删除操作进行管控,本文只是抛砖引玉,相信还有更多有意思的场景等待大家发掘。

社区日报 第1626期 (2023-05-12)

社区日报laoyang360 发表了文章 • 0 个评论 • 1762 次浏览 • 2023-05-12 22:25 • 来自相关话题



1、使用 Prometheus 进行 Elasticsearch 监控的主要指标
https://sysdig.com/blog/elasticsearch-monitoring/

2、使用 Elasticsearch、OpenAI 和 LangChain 进行语义搜索
https://dylancastillo.co/seman ... hain/

3、elastic4s – Elasticsearch Scala 客户端
https://www.baeldung.com/scala ... lient

编辑:铭毅天下
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili
 

社区日报 第1625期 (2023-05-11)

社区日报Se7en 发表了文章 • 0 个评论 • 2350 次浏览 • 2023-05-11 15:54 • 来自相关话题

1.使用 NestJS 和 OpenSearch 构建搜索 API(需要梯子)
https://articlebyjashan.medium ... f1e6e
2.使用 KubeDB 在 Kubernetes 集群中部署 OpenSearch(需要梯子)
https://medium.com/appscode/si ... 047bd
3.实时数据摄取管道:企业入门指南(需要梯子)
https://medium.com/plumbersofd ... cc475

编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili