Elasticsearch的Java客户端库QueryBuilders查询方法大全

matchAllQuery

使用方法:创建一个查询,匹配所有文档。
示例:QueryBuilders.matchAllQuery()
注意事项:这种查询不加任何条件,会返回索引中的所有文档,可能会影响性能,特别是文档数量很多时。

matchQuery

使用方法:对指定字段执行全文搜索查询。
示例:QueryBuilders.matchQuery(“fieldName”, “text to search”)
注意事项:默认会对文本进行分词处理,然后进行搜索。

multiMatchQuery

使用方法:允许你在多个字段上执行匹配查询。
示例:QueryBuilders.multiMatchQuery(“text tosearch”, “fieldName1”, “fieldName2”)
注意事项:适用于需要在不同字段上搜索相同文本的情况。

termQuery

使用方法:对指定字段执行精确匹配查询。
示例:QueryBuilders.termQuery(“fieldName”, “value”)
注意事项:不会对字段值进行分词。

termsQuery

使用方法:允许指定多个精确值进行匹配查询。
示例:QueryBuilders.termsQuery(“fieldName”,“value1”, “value2”)
注意事项:不会对字段值进行分词,适用于字段值完全匹配其中一个查询值的情况。

rangeQuery

使用方法:对指定字段执行范围查询。
示例:QueryBuilders.rangeQuery(“fieldName”).from(“startValue”).to(“endValue”)
注意事项:可以设置范围的起始和结束值,适用于数值、日期等类型的字段。

wildcardQuery

使用方法:执行通配符查询,支持*(任意字符序列)和?(单个字符)。
示例:QueryBuilders.wildcardQuery(“fieldName”, “text*”)
注意事项:可能会影响性能,尤其是通配符在前面时。

fuzzyQuery

使用方法:对指定字段执行模糊查询。
示例:QueryBuilders.fuzzyQuery(“fieldName”, “text”)
注意事项:基于Levenshtein编辑距离进行匹配,可以设置模糊程度。

boolQuery

使用方法:组合多个查询条件,支持must(必须匹配)、should(至少匹配一个)、must_not(不能匹配)和filter(过滤)。
示例:QueryBuilders.boolQuery().must(QueryBuilders.termQuery(“fieldName”,“value”))
注意事项:是构建复杂查询逻辑的基础,性能比filter更优。

nestedQuery

使用方法:查询嵌套对象。
示例:QueryBuilders.nestedQuery(“path”,QueryBuilders.termQuery(“path.fieldName”, “value”), ScoreMode.Avg)
注意事项:path是嵌套对象的路径,必须使用nested类型定义嵌套对象字段。

NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery("nested_field", 
QueryBuilders.matchQuery("nested_field.property", "value"), ScoreMode.None);

prefixQuery

使用方法:搜索具有指定前缀的文档。
示例:QueryBuilders.prefixQuery(“fieldName”, “prefix”)
注意事项:对性能影响较大,特别是前缀较短时。

regexpQuery

使用方法:使用正则表达式进行查询。
示例:QueryBuilders.regexpQuery(“fieldName”, “regexp”)
注意事项:复杂的正则表达式可能会严重影响性能。

disMaxQuery

使用方法:对子查询的结果做并集,但只用得分最高的那个子查询的得分作为最终得分。
示例:QueryBuilders.disMaxQuery().add(QueryBuilders.termQuery(“fieldName”,
“value1”)).add(QueryBuilders.termQuery(“fieldName”, “value2”))
注意事项:用于处理多个字段上的查询并想要每个字段上的查询独立计分。

matchPhraseQuery

使用方法:搜索与指定短语匹配的文档,考虑短语的完整性和顺序。
示例:QueryBuilders.matchPhraseQuery(“fieldName”, “phrase”)
注意事项:对于精确的短语搜索非常有用。

matchPhrasePrefixQuery

使用方法:类似于matchPhraseQuery,但是对最后一个词允许前缀匹配。
示例:QueryBuilders.matchPhrasePrefixQuery(“fieldName”, “phrase prefix”)
注意事项:适用于自动补全或容错的场景。

geoDistanceQuery

使用方法:根据地理位置和指定距离搜索文档。
示例:QueryBuilders.geoDistanceQuery(“location”).point(lat,
lon).distance(“12km”) 注意事项:确保字段正确映射为地理位置类型。

geoBoundingBoxQuery

使用方法:在指定的地理坐标范围内搜索文档。
示例:QueryBuilders.geoBoundingBoxQuery(“location”).setCorners(northLat,
westLon, southLat, eastLon)
注意事项:用于地理位置范围搜索。

geoPolygonQuery

使用方法:在指定的多边形内搜索文档。 示例:QueryBuilders.geoPolygonQuery(“location”,
Arrays.asList(new GeoPoint(lat1, lon1), new GeoPoint(lat2, lon2),
…))
注意事项:性能可能会随多边形顶点的增加而降低。

existsQuery

使用方法:搜索指定字段有值的文档(不为null或不存在)。
示例:QueryBuilders.existsQuery(“fieldName”)
注意事项:用于找出指定字段有值的文档。

idsQuery

使用方法:根据文档ID搜索文档。
示例:QueryBuilders.idsQuery().addIds(“1”, “2”, “3”)
注意事项:直接通过ID快速检索文档。

queryStringQuery

使用方法:允许用户使用查询语句字符串(支持Lucene查询语法)进行复杂查询。
示例:QueryBuilders.queryStringQuery(“+java -python”)
注意事项:非常灵活,但需要用户了解查询语法。不当的查询语句可能会影响性能或结果准确性。

simpleQueryStringQuery

使用方法:提供一个更简单、更宽松的查询字符串语法和解析。
示例:QueryBuilders.simpleQueryStringQuery(“java python”)
注意事项:比queryStringQuery更安全,避免复杂语法导致的错误,但功能也相对受限。

boostingQuery

使用方法:组合两个查询,提升第一个查询的结果,降低第二个查询的结果。
示例:QueryBuilders.boostingQuery(QueryBuilders.termQuery(“field”,
“value1”), QueryBuilders.termQuery(“field”, “value2”)).negativeBoost(0.2f)
注意事项:用于突出重要结果,同时保留其他相关结果。

constantScoreQuery

使用方法:对过滤查询的结果赋予一个常数分数。
示例:QueryBuilders.constantScoreQuery(QueryBuilders.termQuery(“field”, “value”)).boost(2.0f)
注意事项:适用于只关心匹配与否,不关心匹配程度(得分)的场景。

functionScoreQuery

使用方法:允许修改查询得分,通过一系列函数来调整。
示例:QueryBuilders.functionScoreQuery(QueryBuilders.matchQuery(“field”,
“value”), ScoreFunctionBuilders.weightFactorFunction(2))
注意事项:提供了极高的灵活性,可以根据文档的属性计算得分。

scriptQuery

使用方法:使用脚本来指定文档是否匹配。
示例:QueryBuilders.scriptQuery(new Script(“doc[‘field’].value > 5”))
注意事项:灵活但复杂,性能可能受脚本执行效率影响。

geoShapeQuery

使用方法:基于地理形状进行查询。
示例:QueryBuilders.geoShapeQuery(“locationField”,
ShapeBuilders.newEnvelope(new Coordinate(-30, 50), new Coordinate(30, -50)))
注意事项:需要地理形状字段正确映射,用于复杂的地理空间查询。

wildcardQuery

使用方法:允许使用通配符进行模糊匹配。
示例:QueryBuilders.wildcardQuery(“field”, “text*”)
注意事项:可能影响性能,特别是以通配符开始的模式。

regexpQuery

使用方法:基于正则表达式进行查询。
示例:QueryBuilders.regexpQuery(“fieldName”, “regexp”)
注意事项:功能强大但可能影响性能,使用时需要谨慎。

termsLookupQuery

使用方法:使用另一个文档的值作为本次查询的条件。
示例:QueryBuilders.termsLookupQuery(“fieldName”, new TermsLookup(“index”, “id”, “path”))
注意事项:允许动态从其他文档中获取查询条件,增加查询灵活性。

termQuery

使用方法:查找字段中完全匹配指定值的文档。
示例:QueryBuilders.termQuery(“fieldName”, value);
注意事项:适用于不需要分词的字段,如枚举、状态码等。

fuzzyQuery

使用方法:基于Levenshtein距离进行模糊匹配,找到与指定值相似的文档。
示例:QueryBuilders.fuzzyQuery(“fieldName”, “text”)
注意事项:可以调整最大编辑距离参数,但过大的距离可能会降低查询性能。

prefixQuery

使用方法:查找字段值具有指定前缀的文档。
示例:QueryBuilders.prefixQuery(“fieldName”,“prefix”)
注意事项:对于大型数据集,前缀过短可能会影响查询性能。

wildcardQuery

使用方法:使用通配符进行查询,*表示任意字符序列,?表示任意单个字符。
示例:QueryBuilders.wildcardQuery("fieldName", "*pattern?")
注意事项:与prefixQuery类似,可能影响性能,谨慎使用特别是在模式的开头使用*?

idsQuery

使用方法:根据文档ID查找文档。
示例:QueryBuilders.idsQuery().addIds(“1”, “2”, “3”)
注意事项:快速直接通过ID检索文档,但对于大规模的ID查询,性能可能受影响。

rangeQuery

使用方法:在指定字段上执行范围查询,找出字段值落在指定区间内的文档。
示例:QueryBuilders.rangeQuery(“fieldName”).from(start).to(end)
注意事项:支持字符串、数字及日期类型,对于日期类型需要确保字段格式正确。

matchQuery

使用方法:在全文字段上执行全文检索。
示例:QueryBuilders.matchQuery(“fieldName”, “text to search”)
注意事项:默认对查询文本进行分词,然后搜索分词结果。

matchPhraseQuery

使用方法:查找与指定短语匹配的文档,考虑词条顺序。
示例:QueryBuilders.matchPhraseQuery(“fieldName”, “phrase to match”)
注意事项:适用于需要精确匹配短语的场景,对于短语中的每个词条,位置必须严格匹配。

matchPhrasePrefixQuery

使用方法:短语前缀查询,与matchPhraseQuery相似,但是对最后一个词允许前缀匹配。
示例:QueryBuilders.matchPhrasePrefixQuery(“fieldName”, “phrase prefix”)
注意事项:适用于自动补全场景,但对于长文本或高频词可能影响性能。

scriptQuery

使用方法:使用脚本条件进行查询。
示例:QueryBuilders.scriptQuery(new Script(“doc[‘field’].value > 5”))
注意事项:灵活但需要注意脚本性能和安全问题,不当的脚本可能导致性能下降或安全风险。

geoDistanceQuery

使用方法:查找位于某个地理位置指定距离内的文档。
示例:QueryBuilders.geoDistanceQuery(“location”).point(lat, lon).distance(“200km”)
注意事项:确保使用的字段是geo-point类型。这种查询适合于地理位置搜索场景。

geoBoundingBoxQuery

使用方法:查找位于指定地理矩形框内的文档。
示例:QueryBuilders.geoBoundingBoxQuery(“location”).setCorners(topLeft, bottomRight)
注意事项:同样需要字段是geo-point类型。这种查询适用于用户指定一个地理区域范围进行搜索。

geoPolygonQuery(已弃用)

使用方法:查找位于指定多边形内的文档。 示例:QueryBuilders.geoPolygonQuery(“location”,
points)
注意事项:由于性能原因,这个查询在较新版本的Elasticsearch中已被弃用。建议使用geo-shape查询代替。

existsQuery

使用方法:查找指定字段有值的文档。
示例:QueryBuilders.existsQuery(“fieldName”)
注意事项:这个查询用于找出指定字段非空的文档。非常适用于过滤出某个字段一定存在的文档。

idsQuery

使用方法:根据文档ID查找文档。
示例:QueryBuilders.idsQuery().addIds(“1”, “2”, “3”)
注意事项:这是一种非常直接的查询方式,通过指定文档ID来快速检索文档。

wrapperQuery

使用方法:使用JSON字符串表示的原生Elasticsearch查询DSL。
示例:QueryBuilders.wrapperQuery(“{“term”: {“field”:“value”}}”)
注意事项:允许直接使用JSON格式的查询字符串,这使得可以直接复用Elasticsearch的原生查询DSL进行查询。

matchBoolPrefixQuery

使用方法:创建一个匹配查询,该查询首先将文本分析为词条,然后为每个词条搜索,对于最后一个词条使用前缀匹配。
示例:QueryBuilders.matchBoolPrefixQuery(“fieldName”, “text to search”)
注意事项:这种查询结合了布尔查询和前缀查询的特性,适用于自动补全和搜索建议场景。

typeQuery(已弃用)

使用方法:基于文档类型进行查询。
示例:QueryBuilders.typeQuery(“typeName”)
注意事项:自Elasticsearch
6.x以后,官方不推荐使用多类型,并在7.x版本中完全移除了类型概念。因此,这个查询在最新版本的Elasticsearch中不再适用。

moreLikeThisQuery

使用方法:查找与给定文本或文档相似的文档。
示例:QueryBuilders.moreLikeThisQuery(new String[]{“fieldName”}, new String[]{“text”}, null)
注意事项:可以基于一段文本、一组文档或二者结合来查找相似文档。适用于实现“查找相似内容”的功能。

regexpQuery

使用方法:使用正则表达式进行查询,以匹配符合正则表达式的文档。
示例:QueryBuilders.regexpQuery(“fieldName”, “regexp”)
注意事项:虽然强大,但复杂的正则表达式可能会影响查询性能。谨慎使用。

spanTermQuery

使用方法:创建一个span查询,匹配包含指定词条的文档。
示例:QueryBuilders.spanTermQuery(“fieldName”, “value”)
注意事项:Span查询是低级查询,适用于执行复杂的跨度查询,如找到邻近的、有序的词条。

spanNearQuery

使用方法:查找所有与指定的span查询匹配且彼此之间距离满足指定条件的文档。
示例:QueryBuilders.spanNearQuery(QueryBuilders.spanTermQuery(“field”,
“value1”), 12).addClause(QueryBuilders.spanTermQuery(“field”, “value2”))
注意事项:用于处理词条的位置和顺序敏感的复杂查询。

spanFirstQuery

使用方法:查找所有在文档开头一定范围内匹配指定span查询的文档。
示例:QueryBuilders.spanFirstQuery(QueryBuilders.spanTermQuery(“field”, “value”), 3)
注意事项:适用于只关心文档开头部分的查询场景。

geoShapeQuery

使用方法:基于地理形状进行查询,查找与指定地理形状相关的文档。
示例:QueryBuilders.geoShapeQuery(“locationField”, shapeBuilder)
注意事项:需要确保字段被映射为geo_shape类型。这种查询适用于复杂的地理空间搜索。

scriptScoreQuery

使用方法:使用脚本来计算查询的得分。
示例:QueryBuilders.scriptScoreQuery(QueryBuilders.matchAllQuery(), new
Script(ScriptType.INLINE, “painless”, “Math.random()”, Collections.emptyMap()))
注意事项:提供了通过脚本自定义得分逻辑的灵活性,但需要注意脚本的性能和安全性。

percolateQuery

使用方法:执行percolate查询,查找与指定文档匹配的查询。
示例:QueryBuilders.percolateQuery(“queryField”, docBuilder)
注意事项:用于实现反向搜索的场景,即将文档作为查询条件来匹配存储的查询。

hasChildQuery

使用方法:查找与至少一个满足指定查询条件的子文档相关联的父文档。
示例:QueryBuilders.hasChildQuery(“child_type”,
QueryBuilders.termQuery(“field”, “value”), ScoreMode.Avg)
注意事项:适用于父子关联数据模型。需要在映射时定义好父子关系。

hasParentQuery

使用方法:查找至少有一个父文档满足指定查询条件的子文档。
示例:QueryBuilders.hasParentQuery(“parent_type”,
QueryBuilders.termQuery(“field”, “value”), false)
注意事项:与hasChildQuery相对,用于查询子文档基于父文档的条件。

parent_id

使用方法:直接通过父文档的ID来查找子文档。
示例:QueryBuilders.parentId(“parent_type”, “parent_id”)
注意事项:需要在映射时定义好父子关系。

adjacencyMatrixQuery

使用方法:基于多个关联文档间的关系,构建复杂的图查询。
示例:通常涉及构建多个查询条件,较为复杂,需要根据具体使用场景构建。
注意事项:适用于处理复杂的关系网络,如社交网络分析。

rankFeatureQuery和rankFeaturesQuery

使用方法:利用rank_feature或rank_features字段类型来影响文档的排名。
示例:QueryBuilders.rankFeatureQuery(“feature”,ScoreFunction.saturation())
注意事项:适用于那些需要根据某些打分特征来排序的搜索场景。

matchNoneQuery

使用方法:不匹配任何文档的查询。
示例:QueryBuilders.matchNoneQuery()
注意事项:这种查询可以在某些需要排除所有文档的特定逻辑中使用。

shapeQuery

使用方法:基于形状的地理空间查询。
示例:QueryBuilders.geoShapeQuery(“fieldName”, shapeBuilder)
注意事项:类似于 geoShapeQuery,但专注于更复杂的形状匹配,适用于需要高级地理空间分析的场景。

combinedFieldsQuery

使用方法:结合多个字段进行全文搜索查询,提供跨字段的相关性评分。
示例:QueryBuilders.combinedFieldsQuery(“text”).field(“field1”).field(“field2”)
注意事项:适用于当文本可能跨多个字段时的搜索场景,帮助提升相关性评分的准确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#进阶学习(六)单向链表和双向链表,循环链表(下)循环链表

目录 📊 链表三剑客:特性全景对比表 一、循环链表节点类 二、循环链表的整体设计框架 三、循环列表中的重要方法: (1)头插法,在头结点前面插入新的节点 (2)尾插法实现插入元素…

交换网络基础

学习目标 掌握交换机的基本工作原理 掌握交换机的基本配置 交换机的基本工作原理 交换机是局域网(LAN)中实现数据高效转发的核心设备,工作在 数据链路层(OSI 模型第二层),其基本工作原理可概括为 “学习…

科学研究:怎么做

科研(科学研究)​​ 是指通过系统化的方法,探索自然、社会或人文领域的未知问题,以发现新知识、验证理论或解决实际问题的活动。它的核心是​​基于证据的探索与创新​​,旨在推动人类认知和技术的进步。 科研的核心要…

算法题(128):费解的开关

审题: 本题需要我们将多组测试用例中拉灯数小于等于6的最小拉灯数输出,若拉灯数最小值仍大于6,则输出-1 思路: 方法一:二进制枚举 首先我们先分析一下基本特性: 1.所有的灯不可能重复拉:若拉的数…

MFC文件-屏幕录像

下载本文件 本文件将获取屏幕图像数据的所有代码整合到两个文件中(ScreenRecorder.h和ScreenRecorder.cpp),使获取屏幕图像数据变得简单。输出IYUV视频流。还可以获取系统播放的声音,输出PCM音频流。由于使用了MFC类,本…

0801ajax_mock-网络ajax请求1-react-仿低代码平台项目

0 vite配置proxy代理 vite.config.ts代码如下图所示: import { defineConfig } from "vite"; import react from "vitejs/plugin-react";// https://vite.dev/config/ export default defineConfig({plugins: [react()],server: {proxy: {&qu…

JVM笔记【一】java和Tomcat类加载机制

JVM笔记一java和Tomcat类加载机制 java和Tomcat类加载机制 Java类加载 * loadClass加载步骤类加载机制类加载器初始化过程双亲委派机制全盘负责委托机制类关系图自定义类加载器打破双亲委派机制 Tomcat类加载器 * 为了解决以上问题,tomcat是如何实现类加载机制的…

IP编址(来自YESLAB新网工的笔记)

上层协议类型 概念:通常指的是位于网络层(如 IP 层)以上的协议类型,这些协议在数据传输时需要由网络层(或更低层)协议承载。以 IP 协议为例,IP 报文头部中的 协议字段(Protocol Fie…

SpringBoot学习(过滤器Filter。拦截器Interceptor。全局异常捕获处理器GlobalExceptionHandler)(详细使用教程)

目录 一、过滤器Filter。 1.1定义与规范。 1.2工作原理与范围。 1.3使用场景。 1.4 SpringBoot实现过滤器。&#xff08;Filter配置2种方式&#xff09; <1>注解配置(WebFilter、Order、ServletComponentScan)。 创建过滤器类。 启用 Servlet 组件扫描。 <2>配置类…

c++题目_P1443 马的遍历

P1443 马的遍历 # P1443 马的遍历 ## 题目描述 有一个 $n \times m$ 的棋盘&#xff0c;在某个点 $(x, y)$ 上有一个马&#xff0c;要求你计算出马到达棋盘上任意一个点最少要走几步。 ## 输入格式 输入只有一行四个整数&#xff0c;分别为 $n, m, x, y$。 ## 输出格式 …

清华《数据挖掘算法与应用》K-means聚类算法

使用k均值聚类算法对表4.1中的数据进行聚类。代码参考P281。 创建一个名为 testSet.txt 的文本文件&#xff0c;将以下内容复制粘贴进去保存即可&#xff1a; 0 0 1 2 3 1 8 8 9 10 10 7 表4.1 # -*- coding: utf-8 -*- """ Created on Thu Apr 17 16:59:58 …

HarmonyOS-ArkUI V2工具类:AppStorageV2:应用全局UI状态存储

AppStorageV2是一个能够跨界面存储数据,管理数据的类。开发者可以使用AppStorageV2来存储全局UI状态变量数据。它提供的是应用级的全局共享能力,开发者可以通过connect绑定同一个key,进行跨ability数据共享。 概述 AppStorageV2是一个单例,创建时间是应用UI启动时。其目的…

打靶日记 zico2: 1

一、探测靶机IP&#xff08;进行信息收集&#xff09; 主机发现 arp-scan -lnmap -sS -sV -T5 -p- 192.168.10.20 -A二、进行目录枚举 发现dbadmin目录下有个test_db.php 进入后发现是一个登录界面&#xff0c;尝试弱口令&#xff0c;结果是admin&#xff0c;一试就出 得到加…

使用Java基于Geotools的SLD文件编程式创建与磁盘生成实战

前言 在地理信息系统&#xff08;GIS&#xff09;领域&#xff0c;地图的可视化呈现至关重要&#xff0c;而样式定义语言&#xff08;SLD&#xff09;文件为地图元素的样式配置提供了强大的支持。SLD 能够精确地定义地图图层中各类要素&#xff08;如点、线、面、文本等&#x…

kubernetes》》k8s》》Service

Kubernetes 中的 Service 是用于暴露应用服务的核心抽象&#xff0c;为 Pod 提供稳定的访问入口、负载均衡和服务发现机制。Service在Kubernetes中代表了一组Pod的逻辑集合&#xff0c;通过创建一个Service&#xff0c;可以为一组具有相同功能的容器应用提供一个统一的入口地址…

【HDFS】EC重构过程中的校验功能:DecodingValidator

一、动机 DecodingValidator是在HDFS-15759中引入的一个用于校验EC数据重构正确性的组件。 先说下引入DecodingValidator的动机,据很多已知的ISSUE(如HDFS-14768, HDFS-15186, HDFS-15240,这些目前都已经fix了)反馈, EC在重构的时候可能会有各种各样的问题,导致数据错误…

现代c++获取linux系统架构

现代c获取linux系统架构 前言一、使用命令获取系统架构二、使用c代码获取系统架构三、验证四、总结 前言 本文介绍一种使用c获取linux系统架构的方法。 一、使用命令获取系统架构 linux系统中可以使用arch或者uname -m命令来获取当前系统架构&#xff0c;如下图所示 archuna…

didFinishLaunching 与「主线程首次 idle」, 哪个是更优的启动结束时间点 ?

结论先行 在这两个候选时间点里—— application:didFinishLaunchingWithOptions: 执行结束主线程第一次进入 idle&#xff08;RunLoop kCFRunLoopBeforeWaiting&#xff09; 若你只能二选一&#xff0c;以「主线程首次 idle」作为 启动结束 更合理。它比 didFinishLaunchin…

Vue3 + TypeScript中defineEmits 类型定义解析

TypeScript 中 Vue 3 的 defineEmits 函数的类型定义&#xff0c;用于声明组件可以触发的事件。以下是分步解释&#xff1a; 1. 泛型定义 ts <"closeDialog" | "getApplySampleAndItemX"> 作用&#xff1a;定义允许的事件名称集合&#xff0c;即组…

树莓派超全系列教程文档--(34)树莓派配置GPIO

配置GPIO GPIO控制gpio 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 GPIO控制 gpio 通过 gpio 指令&#xff0c;可以在启动时将 GPIO 引脚设置为特定模式和值&#xff0c;而以前需要自定义 dt-blob.bin 文件。每一行都对一组引脚应用相同的设…