使用 nohup 或 disown 如果你要让某个进程运行在后台。

社区日报 第1720期 (2023-10-19)

社区日报Se7en 发表了文章 • 0 个评论 • 1584 次浏览 • 2023-10-19 12:07 • 来自相关话题

1.ES|QL:Elasticsearch的新一代查询语言
https://mp.weixin.qq.com/s/tob1Ki6h96uCcN34_uNZjw
2.将 Amazon Bedrock 与 Elasticsearch 和 Langchain 结合使用
https://www.elastic.co/search- ... chain
3.如何为 Elasticsearch 创建自定义连接器
https://www.elastic.co/search- ... earch

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

ES集群扩展,多节点好,还是高配置好

Elasticsearchzmc 回复了问题 • 2 人关注 • 1 个回复 • 1976 次浏览 • 2023-10-25 09:59 • 来自相关话题

社区日报 第1719期 (2023-10-18)

社区日报kin122 发表了文章 • 0 个评论 • 1478 次浏览 • 2023-10-18 15:36 • 来自相关话题

1.ES 关于 remote_cluster 的一记小坑
https://mp.weixin.qq.com/s/TPRkg_9_hqJZOX-vb1MgHQ
2. Elasticsearch 8.11 中的合并更少,摄取更快
https://blog.csdn.net/UbuntuTo ... 23791
3.检索系统: 位图索引
https://zhuanlan.zhihu.com/p/524337366

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

社区日报 第1718期 (2023-10-17)

社区日报yuebancanghai 发表了文章 • 0 个评论 • 1458 次浏览 • 2023-10-17 13:31 • 来自相关话题

Elastic日报 第1718期 (2023-10-17)
1. Elasticsearch ORM框架,用起来够优雅
   https://zhuanlan.zhihu.com/p/574639237?utm_id=0
2. MySQL、HBase、ElasticSearch三者对比
   https://cloud.tencent.com/deve ... 38673
3. 基于ElasticSearch的ORM Easy-Es框架
   https://blog.csdn.net/Octopus2 ... 88806
编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

设置ES全局查询超时search.default_search_timeout是否会影响scroll查询

ElasticsearchCharele 回复了问题 • 3 人关注 • 2 个回复 • 1747 次浏览 • 2023-10-19 14:23 • 来自相关话题

社区日报 第1717期 (2023-10-16)

社区日报God_lockin 发表了文章 • 0 个评论 • 1342 次浏览 • 2023-10-16 13:28 • 来自相关话题

1. 把系统日志丢进ES进行分析,我还想更快一点(需要梯子)
https://medium.com/cloud-nativ ... 70168
2. 围绕NodeJs的系统做个日志?🉑️!(需要梯子)
https://medium.com/%40hussaing ... 18c25
3. 用ES做语义搜索,你学废了没(需要梯子)
https://blog.gopenai.com/seman ... d116f
编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili
 

社区日报 第1715 期 (2023-10-12)

社区日报Se7en 发表了文章 • 0 个评论 • 1185 次浏览 • 2023-10-12 16:22 • 来自相关话题

1.如何安排自托管 Elasticsearch/Opensearch 集群的维护任务(需要梯子)
https://medium.com/geekculture ... 53ad6
2.Elasticsearch 排障指南
https://dev.to/moesif/how-to-d ... r-2ge
3.2023 年 6 门最适合初学者学习的 Elastic Stack 课程(需要梯子)
https://medium.com/javarevisit ... 015c4

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

社区日报 第1714 期 (2023-10-10)

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

1.Elasticsearch:什么时候应该考虑在 Elasticsearch 中添加协调节点?
https://blog.csdn.net/UbuntuTo ... 43269
2. Lucene vs. Database
https://zhuanlan.zhihu.com/p/516008190
3.Lucene:理解TF/IDF模型
https://zhuanlan.zhihu.com/p/508534047

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

Easysearch 压缩功能的显著提升:从 8.7GB 到 1.4GB

Easysearchliaosy 发表了文章 • 0 个评论 • 1547 次浏览 • 2023-10-09 17:11 • 来自相关话题

引言


在海量数据的存储和处理中,索引膨胀率是一个不可忽视的关键指标。它直接影响了存储成本和查询性能。近期,Easysearch 在这方面取得了显著的进展,其压缩功能的效果远超过了之前的版本。本文将详细介绍这一进展。

Easysearch 各版本压缩性能对比


根据之前文章的数据,Easysearch v1.1 在处理相同数据时,其索引大小比 Elasticsearch v6.4.3 降低了 50%。但这还不是全部,最新的测试数据更是令人惊艳。

![](https://infinilabs.com/img/blo ... ge.png)

显著的压缩效果:实验数据解析


通过对比不同版本的存储大小,我们更直观地了解到 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 是新引入的压缩策略,能进一步降低索引膨胀率。

    带来的好处


    降低存储成本:显著降低的存储大小意味着在硬件和维护方面的成本将大幅度减少。 提高系统扩展性:更小的数据尺寸意味着在相同的硬件配置下,系统能够处理更多的数据。 数据备份和传输:由于索引文件更小,数据备份和传输的速度也将提升,同时减少带宽需求。

    总结


    Easysearch 在压缩效果上有显著提升,不仅降低了存储成本,还提高了查询性能和系统扩展性。这使得 Easysearch 在大数据环境下成为一种非常具有吸引力的搜索和存储解决方案

    关于 Easysearch


    ![about easysearch](https://www.infinilabs.com/img ... er.png)

    INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。

    官网文档:<https://www.infinilabs.com/doc ... gt%3B

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

    原文:https://www.infinilabs.com/blo ... .4GB/

Easysearch 压缩模式深度比较:ZSTD + source_reuse 的优势分析

Easysearchliaosy 发表了文章 • 0 个评论 • 1596 次浏览 • 2023-10-09 17:08 • 来自相关话题

引言


在使用 Easysearch 时,如何在存储和查询性能之间找到平衡是一个常见的挑战。Easysearch 具备多种压缩模式,各有千秋。本文将重点探讨一种特别的压缩模式:zstd + source_reuse,我们最近重新优化了 source_reuse,使得它在吞吐量和存储效率方面都表现出色。

测试概览


测试条件选用了 esrally 工具和 geonames 数据集来进行压力测试。数据集包含了 11396503 条记录,往单个 shard 写入,对以下几种压缩模式进行压测对比:

  • default
  • best_compression
  • zstd
  • zstd + source_reuse

    ![](https://infinilabs.com/img/blo ... ge.png)

    下图是对 CPU 的监控,可以看到各个模式对 CPU 的使用是基本相近的。

  • default
    ![](https://infinilabs.com/img/blo ... e2.png)
  • best_compression
    ![](https://infinilabs.com/img/blo ... e3.png)
  • zstd
    ![](https://infinilabs.com/img/blo ... e4.png)
  • zstd+reuse
    ![](https://infinilabs.com/img/blo ... e5.png)

    关键数据点


    测试结果主要围绕两个指标:

  • 中位吞吐量:单位为“每秒操作数”,数值越大表示性能越好。
  • 存储大小:单位为 “GB”,数值越小表示存储更加高效。

    测试数据如下:
    | 压缩模式 | 中位吞吐量 (docs/s) | 存储大小 (GB) |
    |---|---|---|
    | default | 37834 | 2.7 |
    | best_compression | 37404 | 2.2 |
    | zstd | 38878 | 2.1 |
    | zstd + source_reuse | 38942 | 1.6 |

    zstd + source_reuse:压缩原理


    该模式采用了 source_reuse 压缩算法,该算法通过对 keywordlongintshortboolean 等类型的字段值进行复用,并结合 zstd 压缩算法,大大提高了存储效率。

    压缩效率


    zstd + source_reuse 在存储大小上的表现尤为出色,针对 geonames 数据集只需 1.6 GB 的存储空间,相比于 best_compression 模式的 2.2 GB,压缩效率显著提高


    吞吐量表现


    高压缩率并没有让 zstd + source_reuse 在吞吐量上做出妥协,因为高压缩率使得其需要持久化的数据大大减小,其中位吞吐量为 38942 docs/s,在 4 种模式中表现最好。

    结论


    zstd + source_reuse 压缩模式在存储效率和查询性能之间找到了一种极佳的平衡,强烈推荐各位在使用 Easysearch 时,当存储成本比较敏感时,考虑使用 zstd + source_reuse 压缩模式。无论是在存储成本还是写入性能方面,它都能为你带来显著的优势。

    关于 Easysearch


    ![about easysearch](https://www.infinilabs.com/img ... er.png)

    INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。

    官网文档:<https://www.infinilabs.com/doc ... gt%3B

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

    原文:https://www.infinilabs.com/blo ... odes/

社区日报 第1713期 (2023-10-09)

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

1. Elasticsearch 8.10 同义词管理新篇章:引入同义词 API
   https://mp.weixin.qq.com/s/4dCRJr1sS-10iMOuNMtFLA
2. Elasticsearch系列---并发控制及乐观锁实现原理
   https://zhuanlan.zhihu.com/p/649371864
3. elasticsearch中的Translog详解 及其参数与调优
   https://zhuanlan.zhihu.com/p/648751324
编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili

ES 关于 remote_cluster 的一记小坑

Elasticsearchyangmf2040 发表了文章 • 0 个评论 • 1227 次浏览 • 2023-10-08 15:04 • 来自相关话题

最近有小伙伴找到我们说 Kibana 上添加不了 Remote Cluster,填完信息点 Save 直接跳回原界面了。具体页面,就和没添加前一样。

![](https://infinilabs.com/img/blo ... /a.gif)

我们和小伙伴虽然隔着网线但还是进行了深入、详细的交流,梳理出来了如下信息:

  1. 两个集群:集群 A 和集群 B ,版本都是 7.10.0 ;
    1. 集群 A 没区分节点角色;
    2. 集群 B 设置了 独立的 master 节点、coordinator 节点和 data 节点,其中 data 节点还带 remote_cluster_client 角色;
  2. 在集群 A 的 Kibana 可以添加 集群 B 为远程集群;
  3. 在集群 B 添加 集群 A 就不行,Kibana 跳回之前的页面;
  4. 网络组确认已经放开策略,网络测试也正常;

    翻看了 ES 和 Kibana 的日志, ES 日志中有连接失败的错误信息, Kibana 日志中无对应输出。

    yaml<br /> [2023-09-13T11:38:41,055][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]<br /> [2023-09-13T11:38:41,055][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [["127.0.0.1:7102"]]<br /> [2023-09-13T11:38:41,056][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]<br /> [2023-09-13T11:38:41,056][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [["127.0.0.1:7102"]]<br /> [2023-09-13T11:38:41,057][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]<br /> [2023-09-13T11:38:41,057][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [["127.0.0.1:7102"]]<br /> [2023-09-13T11:38:41,093][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]<br /> [2023-09-13T11:38:41,094][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [["127.0.0.1:7102"]]<br /> [2023-09-13T11:38:41,094][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]<br /> [2023-09-13T11:38:41,094][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [["127.0.0.1:7102"]]<br /> [2023-09-13T11:38:41,095][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.mode] from [SNIFF] to [sniff]<br /> [2023-09-13T11:38:41,096][INFO ][o.e.c.s.ClusterSettings ] [710-1] updating [cluster.remote.test.seeds] from [[]] to [["127.0.0.1:7102"]]<br /> [2023-09-13T11:38:51,099][WARN ][o.e.t.RemoteClusterService] [710-1] failed to connect to new remote cluster test within 10s<br /> [2023-09-13T11:39:11,101][WARN ][o.e.t.SniffConnectionStrategy] [710-1] fetching nodes from external cluster [test] failed<br /> org.elasticsearch.transport.ConnectTransportException: [][127.0.0.1:7102] handshake_timeout[30s]<br /> at org.elasticsearch.transport.TransportHandshaker.lambda$sendHandshake$1(TransportHandshaker.java:73) ~[elasticsearch-7.10.2.jar:7.10.2]<br /> at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:684) ~[elasticsearch-7.10.2.jar:7.10.2]<br /> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]<br /> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]<br /> at java.lang.Thread.run(Thread.java:832) [?:?]<br />

    已经测试过网络是通的,开始尝试把集群 B 的角色配置统统去掉再尝试。
    嘿,添加成功了。
    接下来为了找出问题,开始一步一步给每个节点再加回原来的角色。而且如果节点原来没有 remote_cluster_client 角色,这次也一并加上。
    操作过程

    • 先从 data 节点开始,恢复角色,尝试添加远程集群,失败。
    • 接着 coordinate 节点 , 恢复角色且新增 remote_cluster_client 角色,尝试添加远程集群,失败。
    • 最后 master 节点,恢复角色且新增 remote_cluster_client 角色,尝试添加远程集群,成功。

      最终直到所有节点都有 remote_cluster_client 角色后,才成功添加远程集群。
      结论: ES 集群添加远程集群所有节点都必须拥有 remote_cluster_client 角色。
      事情到这里,似乎没什么问题。但当我们对这个结论进行检验时,又有了新发现。
      上面的场景忽视了一个因素 -- Kibana 。于是我们搭建了一个两个节点的集群,其中节点 A 是全角色节点,节点 B 只是 data 节点。让 Kibana 分别连接两个节点进行测试。
      验证结果

    • 当 Kibana 连接节点 A 时,可以正常添加。
    • Kibana 连接节点 B 时,添加失败,跳回界面。

      结论:ES 集群添加远程集群时,Kibana 连接的 ES 节点必须拥有 remote_cluster_client 角色。
      很显然,这个结论更合理。

      原因分析
      我们是通过 Kibana 界面操作去添加远程集群的, Kibana 连接的节点就被当作 remote_client 。该节点要向远程集群发起连接并执行相关调用。但这一切有个前提,该节点必须有 remote_cluster_client 角色才能向远程集群发起连接。
      ![](https://infinilabs.com/img/blo ... /b.png)
      引申
      我们的 CCS 操作也必须发送到一个具有 remote_cluster_client 角色的节点,才能成功执行。
      ![](https://infinilabs.com/img/blo ... /1.png)
      ![](https://infinilabs.com/img/blo ... /2.png)
      ![](https://infinilabs.com/img/blo ... /3.png)

      参考连接
      [https://www.elastic.co/guide/e ... .html](https://www.elastic.co/guide/e ... e.html)

社区日报 第1712期 (2023-09-28)

社区日报Se7en 发表了文章 • 0 个评论 • 1668 次浏览 • 2023-09-28 17:14 • 来自相关话题

1.ElasticSearch节点嗅探机制实践
https://mp.weixin.qq.com/s/nsGNFCSPKW-ayieSf5yRZQ
2.使用基于 Arm 的 Amazon EC2 M6g 实例优化您的 Elasticsearch 部署
https://community.arm.com/arm- ... 2-m6g
3.通过 Elastic Universal Profiling 解锁整个系统的可见性
https://www.elastic.co/blog/wh ... iling

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

社区日报 第1711期 (2023-09-27)

社区日报kin122 发表了文章 • 0 个评论 • 1434 次浏览 • 2023-09-27 10:41 • 来自相关话题

1.Elasticsearch 查询优化攻略“一网打尽”
https://cloud.tencent.com/deve ... 75753
2. Elasticsearch:什么是向量和向量存储数据库,我们为什么关心?
https://blog.csdn.net/UbuntuTo ... 26501
3.使用HuggingFace和Elasticsearch进行语义搜索(需要梯子)
https://betterprogramming.pub/ ... 3dd9d

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

社区日报 第1710期 (2023-09-26)

社区日报God_lockin 发表了文章 • 0 个评论 • 1518 次浏览 • 2023-09-26 17:25 • 来自相关话题

1. ES based 酒店预订系统的设计(三部分)(需要梯子)
https://medium.com/%40utkarsh- ... b89dd
https://blog.devops.dev/system ... 6bbff
https://blog.stackademic.com/s ... f372b
2. 围绕着 .Net core,我是怎么用ES家族搭建的日志平台的(需要梯子)
https://tohidhaghighi.medium.c ... 6b56a
3. 巅峰对决?OpenSearch VS ElasticSearch(需要梯子)
https://medium.com/%40bhongale ... e1482

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