【搜索客社区日报】第1765期 (2023-12-28)
社区日报 • Se7en 发表了文章 • 0 个评论 • 3298 次浏览 • 2023-12-28 13:24
https://www.bilibili.com/video/BV18j411J7C8
2.Elasticsearch “指纹”去重机制,你实践中用到了吗?
https://mp.weixin.qq.com/s/Cq4HZSJYOat-A8N07rWvWw
3.开启安全功能 ES 集群就安全了吗?
https://elasticsearch.cn/article/15070
4.在不停机的情况下优化 Elasticsearch 的 Reindex(需要梯子)
https://blog.stackademic.com/o ... 949d6
编辑:Se7en
更多资讯:http://news.searchkit.cn
请教一个计算平均差值的问题
Elasticsearch • God_lockin 回复了问题 • 3 人关注 • 3 个回复 • 3725 次浏览 • 2024-01-02 10:13
开启安全功能 ES 集群就安全了吗?
Easysearch • yangmf2040 发表了文章 • 0 个评论 • 3651 次浏览 • 2023-12-27 10:38
背景
经常跟 ES 打交道的朋友都知道,现在主流的 ES 集群安全方案是:RBAC + TLS for Internal + HTTPS 。
![](https://www.infinilabs.com/img ... ge.png)
作为终端用户一般只需要关心用户名和密码就行了。作为管理和运维 ES 的人员来说,可能希望 ES 能提供密码策略来强制密码强度和密码使用周期。遗憾的是 ES 对密码强度和密码使用周期没有任何强制要求。如果不注意,可能我们天天都在使用“弱密码”或从不修改的密码(直到无法登录)。而且 ES 对连续的认证失败,不会做任何处理,这让 ES 很容易遭受暴力破解的入侵。
那还有没有别的办法,进一步提高安全呢? 其实,网关可以来帮忙。
虽然网关无法强制提高密码复杂度,但可以提高 ES 集群被暴力破解的难度。
大家都知道,暴力破解--本质就是不停的“猜”你的密码。以现在的 CPU 算力,一秒钟“猜”个几千上万次不过是洒洒水,而且 CPU 监控都不带波动的,很难发现异常。从这里入手,一方面,网关可以延长认证失败的过程--延迟返回结果,让破解不再暴力。另一方面,网关可以记录认证失败的情况,做到实时监控,有条件的告警。一旦出现苗头,可以使用网关阻断该 IP 或用户发来的任何请求。
场景模拟
首先,用网关代理 ES 集群,并在 default_flow 中增加一段 [response_status_filter](https://www.infinilabs.com/doc ... ilter/) 过滤器配置,对返回码是 401 的请求,跳转到 rate_limit_flow 进行降速,延迟 5 秒返回。
```
- name: default_flow
filter:
- elasticsearch:
elasticsearch: prod
max_connection_per_node: 1000 - response_status_filter:
exclude:
- 401
action: redirect_flow
flow: rate_limit_flow
- 401
- elasticsearch:
- name: rate_limit_flow
filter:
- sleep:
sleep_in_million_seconds: 5000
```
![](https://www.infinilabs.com/img ... 29.png)
其次,对于失败的认证,我们可以通过 Console 来做个看板实时分析,展示。
折线图、饼图图、柱状图等,多种展示方式,大家可充分发挥。
最后,可在 Console 的告警中心,配置对应的告警规则,实时监控该类事件,方便及时跟进处置。
效果测试
先带上正确的用户名密码测试,看看返回速度。
![](https://www.infinilabs.com/img ... image(2).png)
0.011 秒返回。再使用错误的密码测试。
![](https://www.infinilabs.com/img ... image(3).png)
整整 5 秒多后,才回返结果。如果要暴力破解,每 5 秒钟甚至更久才尝试一个密码,这还叫暴力吗?
看板示例
此处仅仅是抛砖引玉,欢迎大家发挥想象。
![](https://www.infinilabs.com/img ... image(4).png)
告警示例
建立告警规则,用户 1 分钟内超过 3 次登录失败,就产生告警。
![](https://www.infinilabs.com/img ... image(5).png)
可在告警中心查看详情,也可将告警推送至微信、钉钉、飞书、邮件等。
![](https://www.infinilabs.com/img ... image(6).png)
查看告警详情,是 es 用户触发了告警。
![](https://www.infinilabs.com/img ... image(7).png)
最后,剩下的工作就是对该账号的处置了。如果有需要可以考虑阻止该用户或 IP 的请求,对应的过滤器文档在[这里](https://www.infinilabs.com/doc ... ilter/),老规矩加到 default_flow 里就行了。
如果小伙伴有其他办法提升 ES 集群安全,欢迎和我们一起讨论、交流。我们的宗旨是:让搜索更简单!
- sleep:
【搜索客社区日报】第1763期 (2023-12-26)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 3071 次浏览 • 2023-12-27 10:38
1. 一个号称最流弊的AI powered搜索引擎(需要梯子)
https://www.perplexity.ai/
2. 数据工程师的端到端练习(I)(需要梯子)
https://medium.com/apache-airf ... ec55e
3. 数据工程师的端到端练习(II)(需要梯子)
https://medium.com/%40dogukann ... 5a9c8
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
【搜索客社区日报】 第1762期 (2023-12-25)
社区日报 • yuebancanghai 发表了文章 • 0 个评论 • 3219 次浏览 • 2023-12-25 11:32
1. 小红书推搜场景下如何优化机器学习异构硬件推理突破算力瓶颈
https://zhuanlan.zhihu.com/p/670350407
2、Elasticsearch Relevance Engine-为AI变革提供高级搜索能力
https://zhuanlan.zhihu.com/p/662175828
3、Elasticsearch 写入优化探索:是什么影响了refresh 耗时
https://mp.weixin.qq.com/s/q8xPMBALoC0L8n9Qn9-6kA
4、elasticsearch 源码解析之选主选举过程
https://blog.csdn.net/taugast/ ... 46985
5、一起学Elasticsearch系列-深度分页问题
https://mp.weixin.qq.com/s/A7Vc291_czAu7WsZsLIdLg
编辑:yuebancanghai
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第1761期 (2023-12-22)
社区日报 • laoyang360 发表了文章 • 0 个评论 • 3114 次浏览 • 2023-12-22 14:03
1、从 Elasticsearch 到 Apache Doris:升级可观察性平台
https://doris.apache.org/blog/ ... form/
2、使用C#向Elasticsearch 写入数据
https://csharpkh.blogspot.com/ ... .html
3、使用 Docker 和 Docker Compose 运行 Elasticsearch 的初学者指南
https://geshan.com.np/blog/202 ... cker/
4、升级到 elasticsearch-py 8.x 的 10 个理由
https://discuss.elastic.co/t/d ... 47292
编辑:铭毅天下
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第1760期 (2023-12-21)
社区日报 • Se7en 发表了文章 • 0 个评论 • 3350 次浏览 • 2023-12-21 09:24
https://mp.weixin.qq.com/s/Gsa1rPVISjOdVteol78EoA
2.Source Filtering, Stored Fields, Fields 和 Docvalues Fields 介绍
https://opster.com/guides/elas ... alue/
3.使用 Elasticsearch 检测抄袭
https://www.elastic.co/search- ... earch
4.理解 Elasticsearch Percolate 查询
https://spinscale.de/posts/202 ... .html
编辑:Se7en
更多资讯:http://news.searchkit.cn
搜索客社区日报 第1759期 (2023-12-20)
社区日报 • kin122 发表了文章 • 0 个评论 • 3138 次浏览 • 2023-12-21 09:24
https://zhuanlan.zhihu.com/p/532944354
2.Lucene中文分词器:double-array trie与Viterbi算法 - 下篇
https://zhuanlan.zhihu.com/p/532945013
3.全文检索的索引设计
https://zhuanlan.zhihu.com/p/520001238
4. Lucene Filter & Query 深入分析
https://zhuanlan.zhihu.com/p/510441553
编辑:kin122
更多资讯:http://news.searchkit.cn
用_update只对文档部分字段更新的话性能高吗?
Elasticsearch • FFFrp 回复了问题 • 2 人关注 • 1 个回复 • 3561 次浏览 • 2023-12-25 11:40
INFINI Gateway 如何防止大跨度查询
Easysearch • yangmf2040 发表了文章 • 0 个评论 • 3068 次浏览 • 2023-12-19 23:54
背景
业务每天生成一个日期后缀的索引,写入当日数据。
业务查询有时会查询好多天的数据,导致负载告警。
现在想对查询进行限制--只允许查询一天的数据(不限定是哪天),如果想查询多天的数据就走申请。
技术分析
在每天一个索引的情况下,要进行多天的数据查询,有三种途径:
- 查询时,指定多个索引
- 查询时,写前缀+*号,模糊匹配多个索引
- 查询别名,别名关联多个索引
需求实现
我们只需用网关代理 ES 集群,并在 default_flow 中增加一段 [request_path_filter](https://www.infinilabs.com/doc ... ilter/) 过滤器的配置,只允许查询一个索引且格式如 "xxx-2023-12-06", "xxx.2023.12.06", "xxx20231206" 。
```- request_path_filter:
message: "Query scope exceeds limit, please contact the administrator for application."
must:
suffix:
- _search
regex: - \/[a-z]+[-.]?\d{4}[-.]?\d{1,2}[-.]?\d{1,2}\/
```
![](https://www.infinilabs.com/img ... /1.png)
如果需要指定其他格式,请自行修改 regex 的正则表达式。
创建测试索引
在 [INFINI Console](https://www.infinilabs.com/docs/latest/console/) 开发工具中执行下列语句:
<br /> POST test-2023-12-06/_doc<br /> {<br /> "test":"test"<br /> }<br /> <br /> POST test-2023-12-6/_doc<br /> {<br /> "test":"test"<br /> }<br /> POST test.2023.12.06/_doc<br /> {<br /> "test":"test"<br /> }<br /> POST test.2023.12.6/_doc<br /> {<br /> "test":"test"<br /> }<br /> <br /> POST test20231206/_doc<br /> {<br /> "test":"test"<br /> }<br /> <br /> POST test/_doc<br /> {<br /> "test":"test"<br /> }<br />
查询测试语句
```预计成功的查询
curl localhost:8000/test-2023-12-06/_search?pretty
curl localhost:8000/test-2023-12-6/_search?pretty
curl localhost:8000/test.2023.12.06/_search?pretty
curl localhost:8000/test.2023.12.6/_search?pretty
curl localhost:8000/test20231206/_search?pretty预计失败的查询
curl localhost:8000/test-2023-12-06,test-2023-12-6/_search?pretty
curl localhost:8000/test-2023-12/_search?pretty
curl localhost:8000/test/_search?pretty
curl localhost:8000/*/_search?pretty
```
查询结果
预计成功的查询
![](https://www.infinilabs.com/img ... /2.png)
预计失败的查询
![](https://www.infinilabs.com/img ... /3.png)
此外,我们在 Console 中的 Request Analysis 看板中也能看到,哪些请求被拒绝,哪些请求被“放行”。
![](https://www.infinilabs.com/img ... /4.png)
查询多个索引(多天)
现在我们已经实现了业务只能查一个索引,即一天的数据。当业务需要查询多天的索引时,我们只需创建一个别名,关联多个索引就行了。注意别名也要符合格式要求:字母开头 + 日期格式后缀。
下面我们创建一个 test-1111-1-1 的别名,关联前面的三个测试索引。
<br /> POST /_aliases<br /> {<br /> "actions" : [<br /> { "add" : { "indices" : ["test-2023-12-06", "test.2023.12.06","test-2023-12-6"], "alias" : "test-1111-1-1" } }<br /> ]<br /> }<br />
查询别名
![](https://www.infinilabs.com/img ... /5.png)
待业务查询用完之后,删除别名即可。
<br /> POST /_aliases<br /> {<br /> "actions" : [<br /> { "remove": { "indices" : ["test-2023-12-06", "test.2023.12.06","test-2023-12-6"], "alias" : "test-1111-1-1" } }<br /> ]<br /> }<br />
最后,我们只需严格控制别名的创建,就能实现我们最初的需求了。
- _search
- request_path_filter:
【搜索客社区日报】第1758期 (2023-12-19)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 2655 次浏览 • 2023-12-19 10:24
https://platform.openai.com/do ... ering
2. kibana里面的事件响应(需要梯子)
https://medium.com/%40wenray/i ... 60175
3. ES 的一些索引小技巧(需要梯子)
https://medium.com/%40nile.bit ... c11de
4. Elasticsearch in action 的练习题项目(需要梯子)
https://github.com/madhusudhan ... ction
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
【搜索客社区日报】 第1757期 (2023-12-18)
社区日报 • yuebancanghai 发表了文章 • 0 个评论 • 2650 次浏览 • 2023-12-18 14:27
https://cloud.tencent.com/deve ... 11300
2、从ElasticSearch看批处理的性能优势
https://blog.csdn.net/BASK2311 ... 44821
3、Elasticsearch:提升 Elasticsearch 性能
https://blog.csdn.net/UbuntuTo ... 17932
4. ElasticSearch - 批量更新 bulk 死锁问题排查
https://zhuanlan.zhihu.com/p/641637205
5、ElasticSearch源码:Cluster--ClusterState
https://zhuanlan.zhihu.com/p/629394258
编辑:yuebancanghai
更多资讯:http://news.searchkit.cn
极限科技(INFINI labs)荣获中国信通院大数据“星河”数据库标杆案例
资讯动态 • liaosy 发表了文章 • 0 个评论 • 3095 次浏览 • 2023-12-16 17:50
12 月 6 日,由中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织的 2023 大数据“星河(Galaxy)”案例评选结果正式公示。极限数据(北京)有限公司(INFINI labs)与中移互联网有限公司、中移(苏州)软件技术有限公司移动云搜索数据库案例荣选为数据库标杆案例。
历经多环节严苛评审,从累计 706 份申报项目中脱颖而出,荣获数据库标杆案例。党中央、国务院高度重视大数据产业发展,推动实施国家大数据战略。为更好推进大数据技术产品及相关产业的繁荣,充分发挥数据作为生产要素的独特价值,大数据“星河(Galaxy)”案例征集活动迄今已成功举办 7 届,在业内具有较强的权威性和影响力。案例征集自 9 月启动以来,受到了业界广泛关注和踊跃报名,共收到申报项目 706 份,涵盖行业数据应用、数据安全、数据要素流通、数据资产管理、数据库、以及数据向善六大方向。
由极限数据(北京)有限公司(INFINI labs)联合中移互联网有限公司、中移(苏州)软件技术有限公司联合申报移动云搜索数据库案例,基于移动云数据库,首创多集群协同模式,同时通过优化 ES 批量写入及分拆重组技术,实现数量级下数据高性能存取,为云盘日志搜索分析和监控告警及通过语义分析的智能关联搜索奠定海量存储及高性能查询基;产出 PB 级数据高性能存取标准解决方案,助力云能力中心搜索引擎产品体系化能力沉淀;进一步升级泛在云存储底座能力,助力行业数字化转型,具有较高的经济价值和社会价值。
未来,极限科技将继续深耕大数据搜索领域,以创新为驱动,不断推动大数据搜索技术的进步和发展。同时,也将加强与各行业合作伙伴的深度合作,共同推动大数据搜索技术的进步和发展,为用户提供更优质、更全面的大数据解决方案。
INFINI Labs 产品更新 | Easysearch 新增快照搜索功能,Console 支持 OpenSearch 存储
Easysearch • liaosy 发表了文章 • 0 个评论 • 2727 次浏览 • 2023-12-15 23:14
![release](https://www.infinilabs.com/img ... er.png)
INFINI Labs 产品又更新啦~,包括 Easysearch v1.7.0、Console v1.13.0。本次各产品更新了 Easysearch 快照搜索功能;Console 支持 OpenSearch 集群存储系统数据、优化了初始化安装向导流程等。
以下是本次更新的详细说明。
INFINI Easysearch v1.7.0
INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。
Easysearch 本次更新如下:
Features
发布快照搜索功能 Beta 版本,此功能旨在提高对已备份数据的使用效率。让用户利用对象存储(如 AWS S3、MinIO、Microsoft Azure Storage、Google Cloud Storage 等)技术来大幅降低存储成本。
Bug fix
- 修复单个节点场景下,从快照恢复多个 shard 的索引时,恢复不完整的问题
- 修复无法删除索引已关联的 ILM 策略问题
Improvements
- 初始化脚本优化,新增重复执行判断
INFINI Console v1.12.0
INFINI Console 是一款非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验: <http://demo.infini.cloud> (用户名/密码:readonly/readonly)。
Console 本次更新如下:
Features
支持 OpenSearch 集群存储系统数据
Bug fix
- 优化初始化安装流程
- 新增探针初始化配置
- 安装向导,新增凭据检查功能
- 安装向导,新增管理员密码重置功能
- 探针管理,支持自动关联 Auto Enroll
期待反馈
欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(<https://github.com/infinilabs>) 中的对应项目中提交 Feature Request 或提交 Bug。
- 下载地址: <https://www.infinilabs.com/download>
您还可以通过邮件联系我们:hello@infini.ltd
或者拨打我们的热线电话:(+86) 400-139-9200
欢迎加入 Discord 聊天室:<https://discord.gg/4tKTMkkvVX>
也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。
![联系我们](https://www.infinilabs.com/img ... ew.jpg)
关于极限科技(INFINI Labs)
![INFINI Labs](https://www.infinilabs.com/img ... bs.png)
极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。
极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。
官网:<https://www.infinilabs.com>
【 INFINI Workshop 北京站】1月18日一起动手实验玩转 Easysearch
活动 • liaosy 发表了文章 • 0 个评论 • 2554 次浏览 • 2023-12-15 16:22
与 INFINI Labs 的技术专家面对面,第一时间了解极限实验室的发布最新产品和功能特性,通过动手实战,快速掌握最前沿的搜索技术,并用于实际项目中。欢迎大家扫描海报二维码免费报名参加。
活动时间:2024-01-18 13:30~17:30
活动地点:北京市海淀区 Wework 辉煌时代大厦 3 楼 3E 会议室
分享议题
- Easysearch 总体介绍及搭建实战
- 基于 INFINI Console 实现跨版本、跨引擎统一管控
- Elasticsearch -> Easysearch 在线迁移实操
参会提示
- 请务必自备电脑(Windows 系统环境请提前安装好 Linux 虚拟机)
- 请提前在 INFINI Labs 官网下载对应平台最新安装包(INFINI Easysearch、INFINI Gateway、INFINI Console)
- 下载地址:<https://www.infinilabs.com/download>
- 如有任何疑问可添加 INFINI Labs 小助手(微信号: INFINI-Labs)进行联系