【搜索客社区日报】第1789期 (2024-02-29)
社区日报 • Se7en 发表了文章 • 0 个评论 • 2141 次浏览 • 2024-02-29 21:12
https://journal.everypixel.com ... ition
2.当事人复盘 GitLab 史上最严重的数据库故障
https://mp.weixin.qq.com/s/Y7qAaYt2uIylqlPve9DGzg
3.在单机模式下进行原型设计和比较 Milvus 和 Elasticsearch(需要梯子)
https://medium.com/%40piscarie ... 390ef
4.从 Elasticsearch 到 Apache Doris,统一日志检索与报表分析,360 企业安全浏览器的数据架构升级实践
https://mp.weixin.qq.com/s/WJIa44Qtp9wzv5QwNUoNOg
编辑:Se7en
更多资讯:http://news.searchkit.cn
搜索客社区日报 第1788期 (2024-02-28)
社区日报 • kin122 发表了文章 • 0 个评论 • 2131 次浏览 • 2024-02-28 15:03
https://blog.csdn.net/UbuntuTo ... 51152
2.Elasticsearch:BM25 及 使用 Elasticsearch 和 LangChain 的自查询检索器
https://blog.csdn.net/UbuntuTo ... 58515
3.使用 Chainlit, Langchain 及 Elasticsearch 轻松实现对 PDF 文件的查询
https://blog.csdn.net/UbuntuTo ... 11385
4.Elasticsearch:基于 Langchain 的 Elasticsearch Agent 对文档的搜索
https://elasticstack.blog.csdn ... 53286
编辑:kin122
更多资讯:http://news.searchkit.cn
如何防止 Elasticsearch 服务 OOM?
Easysearch • yangmf2040 发表了文章 • 0 个评论 • 2568 次浏览 • 2024-02-26 10:12
Elasticsearch(简称:ES) 和传统关系型数据库有很多区别, 比如传统数据中普遍都有一个叫“最大连接数”的设置。目的是使数据库系统工作在可控的负载下,避免出现负载过高,资源耗尽,谁也无法登录的局面。
那 ES 在这方面有类似参数吗?答案是没有,这也是为何 ES 会被流量打爆的原因之一。
针对大并发访问 ES 服务,造成 ES 节点 OOM,服务中断的情况,极限科技旗下的 [INFINI Gateway](https://www.infinilabs.com/products/gateway/) 产品(以下简称 “极限网关”)可从两个方面入手,保障 ES 服务的可用性。
- 限制最大并发访问连接数。
- 限制非重要索引的请求速度,保障重要业务索引的访问速度。
下面我们来详细聊聊。
架构图
![](https://www.infinilabs.com/img ... /0.png)
所有访问 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个连接后,能否限制新的连接。
![](https://www.infinilabs.com/img ... /1.png)
超过的连接请求,被丢弃。更多信息参考[官方文档](https://www.infinilabs.com/doc ... entry/)。
限制索引写入速度
我们先看看不做限制的时候,测试环境的写入速度,在 9w - 15w docs/s 之间波动。虽然峰值很高,但不稳定。
![](https://www.infinilabs.com/img ... /2.png)
接下来,我们通过网关把写入速度控制在最大 1w docs/s 。
对网关的配置文件 gateway.yml ,做以下修改。
```yaml
env: # env 下添加
THROTTLE_BULK_INDEXING_MAX_BYTES: 40485760 #40MB/s
THROTTLE_BULK_INDEXING_MAX_REQUESTS: 10000 #10k docs/s
THROTTLE_BULK_INDEXING_ACTION: retry #retry,drop
THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES: 10 #1000
THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS: 100 #10
router: # route 部分修改 flow - name: my_router
default_flow: default_flow
tracing_flow: logging_flow
rules:
- method:
- "*"
pattern: - "/_bulk"
- "/{any_index}/_bulk"
flow: - write_flow
flow: #flow 部分增加下面两段
- "*"
- method:
- name: write_flow
filter:
- flow:
flows:
- bulking_indexing_limit
- bulking_indexing_limit
- elasticsearch:
elasticsearch: prod
max_connection_per_node: 1000
- flow:
- name: bulking_indexing_limit
filter:
- bulk_request_throttle:
indices:
"test-index":
max_bytes: $[[env.THROTTLE_BULK_INDEXING_MAX_BYTES]]
max_requests: $[[env.THROTTLE_BULK_INDEXING_MAX_REQUESTS]]
action: $[[env.THROTTLE_BULK_INDEXING_ACTION]]
retry_delay_in_ms: $[[env.THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS]]
max_retry_times: $[[env.THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES]]
message: "bulk writing too fast" #触发限流告警message自定义
log_warn_message: true
```
再次压测,test-index 索引写入速度被限制在了 1w docs/s 。
![](https://www.infinilabs.com/img ... /3.png)
限制多个索引写入速度
上面的配置是针对 test-index 索引的写入速度控制。如果想添加其他的索引,新增一段配置即可。
比如,我允许 abc 索引写入达到 2w docs/s,test-index 索引最多不超过 1w docs/s ,可配置如下。
```yaml
- bulk_request_throttle:
- name: bulking_indexing_limit
filter:
- bulk_request_throttle:
indices:
"abc":
max_requests: 20000
action: drop
message: "abc doc写入超阈值" #触发限流告警message自定义
log_warn_message: true
"test-index":
max_bytes: $[[env.THROTTLE_BULK_INDEXING_MAX_BYTES]]
max_requests: $[[env.THROTTLE_BULK_INDEXING_MAX_REQUESTS]]
action: $[[env.THROTTLE_BULK_INDEXING_ACTION]]
retry_delay_in_ms: $[[env.THROTTLE_BULK_INDEXING_RETRY_DELAY_IN_MS]]
max_retry_times: $[[env.THROTTLE_BULK_INDEXING_MAX_RETRY_TIMES]]
message: "bulk writing too fast" #触发限流告警message自定义
log_warn_message: true
```
限速效果如下
![](https://www.infinilabs.com/img ... /4.png)
限制读请求速度
我们先看看不做限制的时候,测试环境的读取速度,7w qps 。
![](https://www.infinilabs.com/img ... /5.png)
接下来我们通过网关把读取速度控制在最大 1w qps 。
继续对网关的配置文件 gateway.yml 做以下修改。
```yaml
- bulk_request_throttle:
- name: default_flow
filter:
- request_path_limiter:
message: "Hey, You just reached our request limit!" rules:
- pattern: "/(?P
abc)/_search"
max_qps: 10000
group: index_name
- pattern: "/(?P
- elasticsearch:
elasticsearch: prod
max_connection_per_node: 1000
```
再次进行测试,读取速度被限制在了 1w qps 。
![](https://www.infinilabs.com/img ... /6.png)
限制多个索引读取速度
上面的配置是针对 abc 索引的写入速度控制。如果想添加其他的索引,新增一段配置即可。
比如,我允许 abc 索引读取达到 1w qps,test-index 索引最多不超过 2w qps ,可配置如下。
```yaml
- request_path_limiter:
- name: default_flow
filter:
- request_path_limiter:
message: "Hey, You just reached our request limit!"
rules:
- pattern: "/(?P
abc)/_search"
max_qps: 10000
group: index_name - pattern: "/(?P
test-index)/_search"
max_qps: 20000
group: index_name
- pattern: "/(?P
- elasticsearch:
elasticsearch: prod
max_connection_per_node: 1000
```
![](https://www.infinilabs.com/img ... /7.png)
多个网关限速
限速是每个网关自身的控制,如果有多个网关,那么后端 ES 集群收到的请求数等于多个网关限速的总和。
![](https://www.infinilabs.com/img ... /8.png)
本次介绍就到这里了。相信大家在使用 ES 的过程中也遇到过各种各样的问题。欢迎大家来我们这个平台分享自己的问题、解决方案等。如有任何问题,请随时联系我,期待与您交流!
![](https://www.infinilabs.com/img ... gf.png)
- request_path_limiter:
- name: my_es_entry
【搜索客社区日报】 第1786期 (2024-02-26)
社区日报 • yuebancanghai 发表了文章 • 0 个评论 • 2224 次浏览 • 2024-02-26 09:19
https://mp.weixin.qq.com/s/6bB31_xsJ3IUnV_GxBGR-g
2、Elasticsearch 实战之xpack安装、解密和更换证书以及head加密
https://blog.csdn.net/weixin_4 ... 74362
3、Elasticsearch 如何实现文件名自定义排序
https://mp.weixin.qq.com/s/yzhkbt7fsgIgKee7zwDJYQ
编辑:yuebancanghai
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第1779期 (2024-02-20)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 2689 次浏览 • 2024-02-20 10:50
https://medium.com/%40callmezy ... b36a0
2. OpenAI 的视频生成模型Sora的技术报告(需要梯子)
https://openai.com/research/vi ... ators
3. Nvidia 出品的个人Ai 聊天机器人(需要梯子)
https://www.nvidia.com/en-us/a ... e-ai/
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
关于快照task状态问题
Elasticsearch • mryu 回复了问题 • 3 人关注 • 1 个回复 • 4112 次浏览 • 2024-02-26 14:08
用 Easysearch 帮助大型车企降本增效
Easysearch • yangmf2040 发表了文章 • 0 个评论 • 4761 次浏览 • 2024-02-02 15:15
最近某头部汽车集团需要针对当前 ES 集群进行优化,背景如下:
ES 用于支撑包括核心营销系统、管理支持系统、财务类、IT 基础设施类、研发、自动驾驶等多个重要应用,合计超 50 余套集群,累计数据超 1.5PB 。
本文针对其中一个 ES 集群进行分享,该集群原本使用的是 ES 7.3.2 免费版,数据已经 130TB 了,14 个节点。写入数据时经常掉节点,写入性能也不稳定,当天的数据写不完。迫切需要新的解决方案。
分析业务场景后总结需求要点:主要是写,很少查。审计需求,数据需要长期保存。
这个需求比较普遍,处理起来也很简单:
- 使用 Easysearch 软件,只需少量节点存储近两天的数据。
- 索引设置开启 ZSTD 压缩功能,节省磁盘空间。
- 每天索引数据写完后,第二天执行快照备份存放到 S3 存储。
- 备份成功后,删除索引释放磁盘空间。
- 需要搜索数据时,直接从快照搜索。
![](https://www.infinilabs.com/img ... /0.png)
将近期的数据,存放到本地磁盘,保障写入速度。写入完毕的索引,在执行快照备份后,可删除索引,释放本地磁盘空间。
Easysearch 配置要点
<br /> path.repo: ["/S3-path"]<br /> node.roles: ["data","search"]<br /> node.search.cache.size: 500mb<br />
- path.repo : 指定 S3 存储路径,上传快照用。
- node.roles : 只有 search 角色的节点,才能去搜索快照中的数据。
- node.search.cache.size : 执行快照搜索时的,缓存大小。
更多信息请参考[官方文档](https://www.infinilabs.com/doc ... pshot/)。
旧数据迁移
通过 Console 将原 ES 集群的数据,迁移到新 Easysearch 集群。迁移时,复制 mapping 和 setting,并在 setting 中添加如下设置。
<br /> "codec": "ZSTD",<br /> "source_reuse": true,<br />
![](https://www.infinilabs.com/img ... /1.png)
![](https://www.infinilabs.com/img ... /2.png)
原索引数据量大,可拆分成多个小任务。
![](https://www.infinilabs.com/img ... /3.png)
迁移完,索引存储空间一般节省 50% 左右。
原索引 279GB ,迁移完后 138GB。
![](https://www.infinilabs.com/img ... /4.png)
搜索快照数据
挂载快照后,搜索快照里的索引和搜索本地的索引,语法完全一样。
![](https://www.infinilabs.com/img ... /5.png)
如何判断一个索引是在快照还是本地磁盘呢?可以查看索引设置里的 settings.index.store.type
![](https://www.infinilabs.com/img ... /6.png)
如果是 remote_snapshot ,说明是快照中的数据。如果是空值,则是集群本地的数据。
这次迁移,节省了 6 台主机资源。更重要的是,用上对象存储后,主机磁盘空间压力骤减。
这次介绍就到这里了,有问题联系我。
![](https://www.infinilabs.com/img ... gf.png)
关于 Easysearch
![Easysearch](https://infinilabs.com/img/blo ... er.png)
INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。
官网文档:<https://infinilabs.com/docs/latest/easysearch>
【搜索客社区日报】第1778期 (2024-01-23)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 4378 次浏览 • 2024-02-02 15:14
1. 一个新的代码生成模型的原理说明(需要梯子)
https://www.codium.ai/blog/alp ... ests/
(这个是水友的翻译版)https://baoyu.io/translations/ ... tests
2. 计算机科学相关的书单,全套免费电子书下载(需要梯子)
(根域名是全球最大的免费电子书分发网站,之前被FBI x了的z-library)
https://zh.singlelogin.re/booklist/165858/538e6d/计算机系列丛书.html
3. AI 领域关键词词典表(需要梯子)
https://a16z.com/ai-glossary/
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第1785期 (2024-02-01)
社区日报 • Se7en 发表了文章 • 0 个评论 • 4376 次浏览 • 2024-02-01 13:36
https://www.elastic.co/search- ... earch
2.使用 Python、Elasticsearch 和 Kibana 分析波士顿凯尔特人队
https://www.elastic.co/search- ... ibana
3.使用 Flink、Elasticsearch 和 Redpanda 构建闪电般的搜索索引(需要梯子)
https://redpanda-data.medium.c ... c5939
4.万字长文:AIGC技术与应用全解析
https://zhuanlan.zhihu.com/p/607822576
编辑:Se7en
更多资讯:http://news.searchkit.cn
搜索客社区日报 第1784期 (2024-01-31)
社区日报 • kin122 发表了文章 • 0 个评论 • 4236 次浏览 • 2024-01-31 10:38
https://blog.csdn.net/UbuntuTo ... 39714
2.Apache Lucene 9.9,有史以来最快的 Lucene 版本
https://elasticstack.blog.csdn ... 80899
3.Elastic Search 8.12:让 Lucene 更快,让开发人员更快
https://blog.csdn.net/UbuntuTo ... 42767
4.Elasticsearch:Simulate ingest API
https://blog.csdn.net/UbuntuTo ... 50006
编辑:kin122
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第1783期 (2024-01-30)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 4005 次浏览 • 2024-01-30 13:31
https://mp.weixin.qq.com/s/K3mjmkLye79Khem18QHORw
2. 哈佛CS的入门课程上线了(需要梯子)
https://cs50.harvard.edu/x/2024/
3. 贾扬清同款,ai 赋能的搜索引擎开源了
这个是后台模型服务
https://github.com/leptonai/leptonai
这个是前台的搜索引擎
https://github.com/leptonai/search_with_lepton
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
【搜索客社区日报】 第1782期 (2024-01-29)
社区日报 • yuebancanghai 发表了文章 • 0 个评论 • 4114 次浏览 • 2024-01-29 09:13
https://mp.weixin.qq.com/s/nmK1nptmV-pBiHlwV9Ynjg
2、结合AI大模型与向量检索的新一代云端检索分析引擎
https://blog.csdn.net/cloudbig ... 22650
3、腾讯万亿级 Elasticsearch 架构实践
https://blog.csdn.net/yangshan ... 09592
编辑:yuebancanghai
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第1781期 (2024-01-26)
社区日报 • laoyang360 发表了文章 • 0 个评论 • 4245 次浏览 • 2024-01-26 20:56
https://eliatra.com/blog/chatg ... lity/
2、Elasticsearch 命令行工具 – elasticsearch-croneval
https://toughcoding.net/elasti ... neval
3、将数据从 Snowflake 摄取到 Elasticsearch
https://www.elastic.co/search- ... earch
4、Elasticsearc 8.12 新特性:对大模型兼容更友好
https://www.elastic.co/cn/blog ... -12-0
编辑:铭毅天下
更多资讯:http://news.searchkit.cn
极限网关还有试用期么 现在启动10分钟后就会自动退出
Elasticsearch • yangmf2040 回复了问题 • 3 人关注 • 2 个回复 • 4348 次浏览 • 2024-02-02 15:14
multi_match+term的组合查询,能否提高term匹配的得分权重,让其排序在前面
Elasticsearch • laoyang360 回复了问题 • 3 人关注 • 2 个回复 • 4527 次浏览 • 2024-01-26 20:59