当前位置: 首页 > news >正文

Elasticsearch(四):query_string查询介绍

query_string查询介绍

  • 1 概述
  • 2 基本概念
  • 3 数据准备
  • 4 query_string查询示例
    • 4.1 基本查询
    • 4.2 复杂查询解析
    • 4.3 高级过滤解析
    • 4.4 模糊查询解析
    • 4.5 高亮查询解析
    • 4.6 分页查询解析
  • 5 总结

大家好,我是欧阳方超,可以我的公众号“欧阳方超”,后续内容将在公众号首发。在这里插入图片描述

1 概述

Elasticsearch中的query_string查询是一种强大的工具,允许用户使用复杂的查询语法来搜索文档。它支持多个字段、布尔逻辑、通配符等功能,适合于需要灵活搜索的场景。本文将结合示例详细讲解query_string的用法。

2 基本概念

query_stirng查询使用一种严格的语法来解析用户输入的查询字符串。允许用户使用简洁的字符串实现复杂的查询逻辑,它可以分割查询字符串并根据操作符(如and、or、not)分析每个部分,从而返回匹配的文档。

3 数据准备

创建一个存储博客信息的索引,并插入一些数据以便后续的查询。

{"settings": {"number_of_shards": 1,"number_of_replicas": 1},"mappings": {"properties": {"title": {"type": "text"},"content": {"type": "text"},"tags": {"type": "keyword"},"author": {"type": "keyword"},"publish_date": {"type": "date","format": "yyyy-MM-dd"},"views": {"type": "long"},"status": {"type": "keyword"}}}
}

插入数据准备:

{"index":{"_id":"1"}}
{"title":"Getting Started with Elasticsearch","content":"Elasticsearch is a powerful search and analytics engine. It provides a distributed, multitenant-capable full-text search engine.","tags":["elasticsearch","guide","search"],"author":"John Doe","publish_date":"2023-01-15","views":1000,"status":"published"}
{"index":{"_id":"2"}}
{"title":"Advanced Elasticsearch Query Guide","content":"Learn about complex queries in Elasticsearch including query_string, bool queries and aggregations.","tags":["elasticsearch","advanced","query"],"author":"Jane Smith","publish_date":"2023-02-20","views":800,"status":"published"}
{"index":{"_id":"3"}}
{"title":"Elasticsearch vs Solr Comparison","content":"A detailed comparison between Elasticsearch and Solr. Both are powerful search engines built on Apache Lucene.","tags":["elasticsearch","solr","comparison"],"author":"John Doe","publish_date":"2023-03-10","views":1200,"status":"published"}
{"index":{"_id":"4"}}
{"title":"Mastering Kibana Dashboards","content":"Create powerful visualizations and dashboards using Kibana with Elasticsearch data.","tags":["kibana","elasticsearch","visualization"],"author":"Alice Johnson","publish_date":"2023-04-05","views":600,"status":"draft"}
{"index":{"_id":"5"}}
{"title":"Elasticsearch Security Best Practices","content":"Learn about securing your Elasticsearch cluster, including authentication, authorization, and encryption.","tags":["elasticsearch","security","best practices"],"author":"Bob Wilson","publish_date":"2023-05-01","views":1500,"status":"published"}

4 query_string查询示例

4.1 基本查询

简单查询
下面的查询将查询content字段包含powerful字符串的文档,并将其返回。

{"query": {"query_string": {"default_field":"content","query":"powerful"}}
}

多字段查询
下面的多字段查询的查询逻辑为

  • 在title和content字段中搜索同时包含elasticsearch和security的文档,注意只要在两个字段中能匹配到elasticsearch和security即可,不要求在这两个字段的每个字段中都能匹配到elasticsearch和security。
  • and操作符要求两个条件都满足
{"query": {"query_string": {"fields":["title","content"],"query":"elasticsearch AND security"}}
}

只有id=5的文档能被查出来,因为它的title包含security且content包含elasticsearch。

4.2 复杂查询解析

组合条件查询

{"query": {"query_string": {"fields":["title","content"],"query":"(elasticsearch OR solr) AND (guide OR comparison)"}}
}

上面的DSL逻辑为:

  • 在title和content字段中搜索
  • 文档必须满足:
    包含"elasticsearch"或"solr"中的至少一个,AND
    包含"guide"或"comparison"中的至少一个

会查询出两个文档:

  • id=2 的文档(包含elasticsearch和guide)
  • id=3 的文档(包含elasticsearch/solr和comparison)
    范围查询
{"query": {"query_string": {"query":"elasticsearch AND publish_date:[2023-01-01 TO 2023-03-31] AND views:>1000"}}
}

上面DSL查询逻辑为:
搜索满足以下所有条件的文档:

  • 包含"elasticsearch"
  • 发布日期在2023-01-01到2023-03-31之间
  • 浏览量大于1000
    只有id=3的文档可以被查询到。

4.3 高级过滤解析

{"query": {"query_string": {"query": "status:published AND author:\"John Doe\" AND (title:elasticsearch OR content:elasticsearch)"}}
}

搜索满足以下所有条件的文档:

  • 状态为"published"
  • 作者为"John Doe"
  • 标题或内容中包含"elasticsearch"
    最终文档1和3符合条件,被查询到。
    以下是查询结果:
{"took": 8,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 2,"relation": "eq"},"max_score": 1.525382,"hits": [{"_index": "blog_index","_id": "3","_score": 1.525382,"_source": {"title": "Elasticsearch vs Solr Comparison","content": "A detailed comparison between Elasticsearch and Solr. Both are powerful search engines built on Apache Lucene.","tags": ["elasticsearch","solr","comparison"],"author": "John Doe","publish_date": "2023-03-10","views": 1200,"status": "published"}},{"_index": "blog_index","_id": "1","_score": 1.5210661,"_source": {"title": "Getting Started with Elasticsearch","content": "Elasticsearch is a powerful search and analytics engine. It provides a distributed, multitenant-capable full-text search engine.","tags": ["elasticsearch","guide","search"],"author": "John Doe","publish_date": "2023-01-15","views": 1000,"status": "published"}}]}
}

4.4 模糊查询解析

{"query": {"query_string": {"query": "elasticsearch AND status:published"}},"size" : 0,"aggs": {"authors": {"terms": {"field": "author"}},"avg_views": {"avg": {"field": "views"}}}
}

这是一个用于搜索和聚合数据的请求,稍微复杂一些,下面详细介绍下。
查询部分

  • query:这是整个查询的主体,指定了要执行的搜索操作。
  • query_string:这部分使用了查询字符串语法,允许通过简单的文本表达式来构建复杂的查询。
    • query:这是的值是elasticsearch AND status:published,意味着要搜索包含elasticsearch这个词并且其status字段为published的文档,AND确保两个条件都满足。
      聚合部分
      aggs这个部分用于定义聚合操作,可以对查询结果进行统计和分析。
  • 作者聚合
    • authors:这是一个自定义的聚合名称,用于统计不同作者的文档数量。
      • terms:指定使用分组聚合,terms是桶聚合的一种,其作用类似于SQL的group by,根据字段分组,相同字段值的文档分为一组。
        • “field”:"author"表示按照author字段的值进行分组,结果将返回每个作者及其对应的文档计数。
  • 平均浏览量聚合
    • avg_views:这是另一个自定义聚合名称,用于计算文档的平均浏览量。
      • avg:指定平均值聚合。
        • “field”: “views"表示计算views字段的平均值。这将返回所有匹配文档中views字段的平均值。
          注意,上面的DSL中设置了,这将仅返回聚合查询结果,不返回普通query查询结果(即"hits”: [])。以下是查询结果:
{"took": 4,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 4,"relation": "eq"},"max_score": null,"hits": []},"aggregations": {"avg_views": {"value": 1125},"authors": {"doc_count_error_upper_bound": 0,"sum_other_doc_count": 0,"buckets": [{"key": "John Doe","doc_count": 2},{"key": "Bob Wilson","doc_count": 1},{"key": "Jane Smith","doc_count": 1}]}}
}

4.5 高亮查询解析

{"query": {"query_string": {"query": "elasticsearch security"}},"highlight": {"fields": {"title": {},"content": {}}}
}

上面的DSL分查询和高亮两部分,下面详细解释一下。

  • 查询部分
    • query:这是整个查询的主体,定义了要执行的搜索操作。
    • query_string:这个部分使用了查询字符串语法,运行通过简单的文本表达式构建复杂的查询。
      • query:这里的值是elasticsearch security,这意味着要查找包含elasticsearch和security这两个词的文档。默认情况下,elasticsearch将这些词视为单独的词进行处理,并使用OR逻辑运算符连接它们,这意味着只要文档中包含其中一个词,就会被匹配。
      • fields:这个参数指定了要搜索的字段,这个例子中,搜索将在title和content字段中进行,只有这两个字段中的内容会被考虑用于匹配查询。
  • 高亮部分
    • highlight:这部分用于定义特殊标记的设置,每个文档中匹配的词会被特殊标记(默认用标签包围),以便在搜索结果中突出显示匹配的内容。
      • fields:指定需要高亮显示的字段,上例中,指定了title和content字段,这意味着当搜索结果返回时,如果这些字段中的内容与查询匹配,它们将被高亮显示,以便用户能够快速识别相关信息。
        下面是查询结果:
{"took": 5,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 5,"relation": "eq"},"max_score": 1.6386936,"hits": [{"_index": "blog_index","_id": "5","_score": 1.6386936,"_source": {"title": "Elasticsearch Security Best Practices","content": "Learn about securing your Elasticsearch cluster, including authentication, authorization, and encryption.","tags": ["elasticsearch","security","best practices"],"author": "Bob Wilson","publish_date": "2023-05-01","views": 1500,"status": "published"},"highlight": {"title": ["<em>Elasticsearch</em> <em>Security</em> Best Practices"],"content": ["Learn about securing your <em>Elasticsearch</em> cluster, including authentication, authorization, and encryption"]}},{"_index": "blog_index","_id": "1","_score": 0.28161854,"_source": {"title": "Getting Started with Elasticsearch","content": "Elasticsearch is a powerful search and analytics engine. It provides a distributed, multitenant-capable full-text search engine.","tags": ["elasticsearch","guide","search"],"author": "John Doe","publish_date": "2023-01-15","views": 1000,"status": "published"},"highlight": {"title": ["Getting Started with <em>Elasticsearch</em>"],"content": ["<em>Elasticsearch</em> is a powerful search and analytics engine."]}},{"_index": "blog_index","_id": "2","_score": 0.28161854,"_source": {"title": "Advanced Elasticsearch Query Guide","content": "Learn about complex queries in Elasticsearch including query_string, bool queries and aggregations.","tags": ["elasticsearch","advanced","query"],"author": "Jane Smith","publish_date": "2023-02-20","views": 800,"status": "published"},"highlight": {"title": ["Advanced <em>Elasticsearch</em> Query Guide"],"content": ["Learn about complex queries in <em>Elasticsearch</em> including query_string, bool queries and aggregations."]}},{"_index": "blog_index","_id": "3","_score": 0.28161854,"_source": {"title": "Elasticsearch vs Solr Comparison","content": "A detailed comparison between Elasticsearch and Solr. Both are powerful search engines built on Apache Lucene.","tags": ["elasticsearch","solr","comparison"],"author": "John Doe","publish_date": "2023-03-10","views": 1200,"status": "published"},"highlight": {"title": ["<em>Elasticsearch</em> vs Solr Comparison"],"content": ["A detailed comparison between <em>Elasticsearch</em> and Solr."]}},{"_index": "blog_index","_id": "4","_score": 0.09708915,"_source": {"title": "Mastering Kibana Dashboards","content": "Create powerful visualizations and dashboards using Kibana with Elasticsearch data.","tags": ["kibana","elasticsearch","visualization"],"author": "Alice Johnson","publish_date": "2023-04-05","views": 600,"status": "draft"},"highlight": {"content": ["Create powerful visualizations and dashboards using Kibana with <em>Elasticsearch</em> data."]}}]}
}

4.6 分页查询解析

下面是一个使用查询字符串语法进行分页查询的示例:

{"query": {"query_string": {"query": "elasticsearch security"}},"from":0,"size":4,"sort":[{"views":"desc"}]
}

有三部分组成:查询部分、分页控制部分和排序部分。

  • 查询部分:字符串查询语法。
  • 分页控制部分:
    • “from”: 0:这个参数指定从结果集中的第0个文档开始返回(即从第一条记录开始)。用于实现分页功能。
    • “size”: 2:指定要返回的文档数量。在这个例子中,最多返回2条匹配的文档。这与from参数结合使用你,可以实现更灵活的分页。
  • 排序部分
    • sort:用于定义如何对搜索结果进行排序。
    • { “views”: “desc” }:表示根据views字段进行降序排序。
      下面是返回值:
{"took": 6,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 5,"relation": "eq"},"max_score": null,"hits": [{"_index": "blog_index","_id": "5","_score": null,"_source": {"title": "Elasticsearch Security Best Practices","content": "Learn about securing your Elasticsearch cluster, including authentication, authorization, and encryption.","tags": ["elasticsearch","security","best practices"],"author": "Bob Wilson","publish_date": "2023-05-01","views": 1500,"status": "published"},"sort": [1500]},{"_index": "blog_index","_id": "3","_score": null,"_source": {"title": "Elasticsearch vs Solr Comparison","content": "A detailed comparison between Elasticsearch and Solr. Both are powerful search engines built on Apache Lucene.","tags": ["elasticsearch","solr","comparison"],"author": "John Doe","publish_date": "2023-03-10","views": 1200,"status": "published"},"sort": [1200]}]}
}

5 总结

介绍了查询字符串(query_string)语法,并结合一些高级查询展示了查询字符串语法的使用。如果你觉得“查询字符串”这种叫法有些奇怪,大可不必,因为这完全是安装query_string译过来的。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。我们下次见。

相关文章:

Elasticsearch(四):query_string查询介绍

query_string查询介绍 1 概述2 基本概念3 数据准备4 query_string查询示例4.1 基本查询4.2 复杂查询解析4.3 高级过滤解析4.4 模糊查询解析4.5 高亮查询解析4.6 分页查询解析 5 总结 大家好&#xff0c;我是欧阳方超&#xff0c;可以我的公众号“欧阳方超”&#xff0c;后续内容…...

超好用shell脚本NuShell mac安装

利用管道控制任意系统 Nu 可以在 Linux、macOS 和 Windows 上运行。一次学习&#xff0c;处处可用。 一切皆数据 Nu 管道使用结构化数据&#xff0c;你可以用同样的方式安全地选择&#xff0c;过滤和排序。停止解析字符串&#xff0c;开始解决问题。 强大的插件系统 具备强…...

Vue禁止打开控制台/前端禁止打开控制台方法/禁用F12/禁用右键

代码片段展示了如何在前端页面中禁用右键菜单、禁止文本选择、阻止特定键盘操作&#xff08;如F12键打开开发者工具&#xff09;&#xff0c;以及通过检测窗口尺寸变化来尝试阻止用户调试页面。 // 鼠标禁止右键禁止打开控制台及键盘禁用forbidden(){// 1.禁用右键菜单document…...

volatile关键字

1. 可见性 当一个变量被声明为 volatile 时&#xff0c;任何线程对该变量的写入操作都会立即对其他线程可见。这意味着&#xff1a; 当一个线程修改了 volatile 变量的值&#xff0c;其他线程在读取这个变量时会看到最新的值&#xff0c;而不是可能被缓存的旧值。 这解决了多线…...

[Linux] 共享内存

在Linux中&#xff0c;共享内存是一种允许不同进程之间直接交换数据的高效机制。它是IPC&#xff08;Inter-Process Communication&#xff0c;进程间通信&#xff09;的一种方式&#xff0c;允许多个进程通过映射同一块物理内存区域来实现数据共享&#xff0c;而无需使用内核来…...

网络的基础

学习地点&#xff08;泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 (bilibili.com)&#xff09; HTTP协议介绍 HTTP&#xff0c;全称为超文本传输协议&#xff08;HyperText Transfer Protocol&#xff09;&#xff0c;是用于万维网服务器向本地浏览器传输超文本&#xff…...

金融学期末速成笔记

【拯救者】金融学速成&#xff08;基础习题&#xff09; 重点: 市场经济是发达的商品经济。在市场经济条件下&#xff0c;市场机制作为资源配置方式&#xff0c;发挥基础性作用。 除具有商品经济的一般特征外&#xff0c;与商品经济相比&#xff0c;市场经济还具有一些新的特征…...

【Elasticsearch入门到落地】1、初识Elasticsearch

一、什么是Elasticsearch Elasticsearch&#xff08;简称ES&#xff09;是一款非常强大的开源搜索引擎&#xff0c;可以帮助我们从海量数据中快速找到需要的内容。它使用Java编写&#xff0c;基于Apache Lucene来构建索引和提供搜索功能&#xff0c;是一个分布式、可扩展、近实…...

电子版产品册代替纸质版产品册,开源节流!

​在当今数字化时代&#xff0c;企业纷纷寻求创新手段以降低成本、提高效率。纸质版产品册作为传统宣传手段&#xff0c;虽然具有一定的宣传效果&#xff0c;但成本高昂、更新不便、环保压力等问题日益凸显。本文将为您详细解析如何通过采用电子版产品册替代纸质版产品册&#…...

npm i忽略依赖冲突

在使用npm安装依赖时&#xff0c;如果遇到依赖冲突&#xff0c;通常npm会提示错误并阻止安装。但是&#xff0c;如果你想要忽略这些依赖冲突&#xff0c;可以使用以下几种方法&#xff1a; 1.使用--force或-f参数&#xff1a;这个参数会强制npm忽略某些错误&#xff0c;包括依…...

商品,订单业务流程梳理一

业务架构梳理 业务系统介绍 业务商品流程 业务订单流程 业务售后流程 系统架构 技术栈...

Spring中的 bean 标签中的 factory-bean , factory-method

1.首先说说 factory-method 是指定创造实例的工厂方法&#xff0c;用法&#xff1a; factory-method 和 class 配合使用&#xff0c;这时 factory-method 必须是class所指定的类中的一个静态方法&#xff0c;也就是Spring会直接调用 class 所指定的类的静态工厂方法创建一个实例…...

车间管理|基于SprinBoot+vue工厂车间管理系统设计与实现(源码+数据库+文档)

车间管理系统系统 目录 基于SprinBootvue工厂车间管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&…...

C#实战:使用腾讯云识别服务轻松提取火车票信息

目录 一、腾讯票据单据识别 Invoice OCR服务介绍 二、开发完整流程 2.1 开通文字识别服务 2.2 创建开发者密钥 2.3 创建项目编写代码集成 三、总结 公司内部涉及到车票报销的时候一个个输入火车票信息非常麻烦&#xff0c;尤其是出差比较多的企业&#xff0c;这对于财务人…...

王珊数据库系统概论第六版PDF+第五版课后答案+课件

为了保持科学性、先进性和实用性&#xff0c; 编者在第5版教材基础上对全书内容进行了修改、更新和充实。在科学性方面&#xff0c; 编者在系统篇中增加了第9章关系数据库存储管理&#xff0c; 讲解数据库的逻辑与物理组织方式及索引结构。增加这部分内容有助于学生更好地理解关…...

Spring学习笔记(四)

二十一、Spring事务详解 &#xff08;一&#xff09;、Spring基于XML的事务配置 1.环境搭建 1.1 构建maven工程&#xff0c;添加相关技术依赖 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context…...

CALL处 F8的“bug“

看zpchcbd师傅的一篇文章看到了这个比较有趣的点。实操跟着过一遍。 准确来说这个不能说是"bug"&#xff0c;这可以是一种"刻意为之"的手段&#xff0c;可以用于加壳、反调试等逆向技术中。 原理&#xff1a; F8步过call的时候&#xff0c;其实是在call的…...

Verilog中的有符号数与无符号数

1. 有符号与无符号最本质的区别在于高位扩展时的扩展规则不同&#xff1b; 对于同一个4‘b1001进行位扩展成8位&#xff1a; 有符号扩展结果为&#xff1a;8’b11111001 无符合扩展结果为: 8b00001001 2. 同第一点&#xff0c;若在运算中没有涉及位扩展&#xff0c;则有符…...

15分钟学 Go 第 47 天 :并发进阶——深入了解Go语言的并发模型!

第47天的学习&#xff1a;并发进阶——深入了解Go语言的并发模型&#xff01; 目录 Go并发模型简介Goroutines深度讲解Channels的进阶使用Select语句详解并发模型设计模式实战案例分析常见问题与解决方案 1. Go并发模型简介 Go语言以其内置的并发支持而闻名。通过轻量级的g…...

前端代码分析题(选择题、分析题)——this指向、原型链分析

this指向 普通函数&#xff1a;this 的指向由调用方式决定&#xff0c;可以是全局对象、调用该函数的对象&#xff0c;或者显式指定的对象。箭头函数&#xff1a;this 的指向在定义时确定&#xff0c;始终继承自外层函数作用域的 this&#xff0c;不会被调用方式影响。 var obj…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...

负载均衡器》》LVS、Nginx、HAproxy 区别

虚拟主机 先4&#xff0c;后7...