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

Elasticsearch Java Api Client中DSL语句的查询方法汇总(二)

接上一篇:《Elasticsearch Java Api Client中DSL语句的查询方法汇总》

说明:示例代码依赖的是co.elastic.clients:elasticsearch-java:8.16.1。

1、ScriptQuery方法

  • 用途:它允许用户使用脚本(通常是 Painless 脚本语言)来定义查询逻辑。这种查询方法提供了极大的灵活性,因为脚本可以访问文档中的字段值、进行复杂的计算和逻辑判断,从而实现基于自定义规则的文档筛选。
  • 参数说明:
    • script:用于指定执行查询的脚本内容。脚本是用 Painless(Elasticsearch 默认的脚本语言)或其他支持的脚本语言编写的一段代码。这个脚本应该返回一个布尔值,用于判断文档是否匹配查询条件。
    • lang:用于指定脚本的语言。默认情况下,如果不指定,Elasticsearch 会使用 Painless 脚本语言。
  • 示例代码:
    • 要查询文章标题包含特定关键词且文章评分大于某个动态计算的阈值(根据文章内容长度来确定)的文章。
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      Script script = Script.of(s -> s.source("doc['article_title'].value.contains('科技') && doc['article_score'].value > doc['article_content'].value.length() * 0.1"));
      ScriptQuery scriptQuery = ScriptQuery.of(q -> q.script(script));
      Query query = scriptQuery._toQuery();

2、CommonTermsQuery方法

  • 用途:用于在文本搜索中平衡罕见词(低频词)和常见词(高频词)的重要性。这种查询方式旨在解决在传统的全文搜索(如match查询)中,常见词可能会过度影响搜索结果的相关性问题。
  • 参数说明:
    • query:这是最基本的参数,用于指定搜索的文本内容。它是一个字符串,代表用户输入的查询语句。这个字符串会被 Elasticsearch 的分析器处理,分解为一个个的词项,然后根据词频来进一步确定这些词项是高频词还是低频词。
    • cutoffFrequency:用于划分高频词和低频词的界限。它是一个浮点数,表示一个词项在索引文档集合中出现的频率阈值。词项的文档频率低于这个阈值的被视为低频词,高于这个阈值的被视为高频词。默认情况下,Elasticsearch 会根据索引的统计信息自动计算一个合适的值,但用户也可以根据具体情况进行调整。
    • lowFreqOperator:用于指定低频词的匹配逻辑。它可以取值为Operator.AND或者Operator.Or。当设置为Operator.And时,文档必须包含查询中的所有低频词才被视为匹配;当设置为Operator.Or时,只要文档包含查询中的任意一个低频词就被视为匹配。这个参数可以根据搜索的严格程度和用户需求来调整低频词的匹配条件。
    • highFreqOperator:类似于lowFreqOperator,但用于控制高频词的匹配逻辑。同样可以取值为Operator.And或者Operator.Or
    • boost:用于调整整个查询的权重。它是一个浮点数,大于 1 的值会提升查询的重要性,使得包含匹配词项的文档在搜索结果中的排名更靠前;小于 1 的值会降低查询的重要性。这个参数在与其他查询组合或者需要调整搜索结果排序时非常有用。
  • 示例代码:
    • 当搜索 “机器学习模型训练” 相关文档,并且希望文档必须包含所有低频词时。
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      CommonTermsQuery commonTermsQuery = CommonTermsQuery.of(q -> q.query("机器学习模型训练").lowFreqOperator(Operator.And));
      Query query = commonTermsQuery._toQuery();

3、WrapperQuery方法

  • 用途:将原生 Lucene 查询包装为 Elasticsearch 可执行的查询对象。通过将 Lucene 查询以字符串或字节数组形式传入,Elasticsearch 会在底层将其解析为 Lucene 可执行的查询,然后在索引数据上执行该查询操作,以获取匹配的文档结果。
  • 参数说明:
    • query:用于指定可执行查询的语句。为一个字符串,生成可执行DSL语句时,需要传入Base64编码后的字符串。
  • 示例代码:
    • 生成一个match查询的dsl语句。
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      String source = "{\"match\":{\"id\":\"222\"}}";
      WrapperQuery.Builder builder = new WrapperQuery.Builder();
      // base64串
      String value = Base64.getEncoder().encodeToString(source.getBytes(StandardCharsets.UTF_8));
      builder.query(value);
      Query query = builder.build()._toQuery();
      //结果: {"from":0,"query":{"wrapper":{"query":"eyJtYXRjaCI6eyJpZCI6IjIyMiJ9fQ=="}},"size":10}

4、CombinedFieldsQuery方法

  • 用途:即combined_fields查询,是一种多字段查询类型,用于在多个字段上进行组合查询。
    • 多字段模糊搜索:在实际应用中,用户可能不确定目标信息具体在哪个字段,通过CombinedFieldsQuery可以在多个可能的字段中进行模糊搜索,如在一个包含商品信息的索引中,同时在商品名称、描述、标签等字段中搜索用户输入的关键词,提高找到相关商品的概率。
    • 提升搜索结果相关性:通过对多个字段的综合考量和权重设置,能够更精准地评估文档与查询的相关性,将最相关的文档排在前面,提升用户获取有效信息的效率,改善搜索体验。
  • 参数说明:
    • query:用于指定要在多个字段中搜索的内容,可以是单个关键词、短语,也可以是复杂的查询语句,如使用通配符*?进行模糊查询,或使用~进行模糊匹配等。
    • fields:是一个字符串数组,用于指定要进行组合查询的字段列表。例如["field1", "field2", "field3"]
    • operator:用于指定多个字段之间的逻辑组合关系,默认为or,即只要文档在其中一个指定字段中匹配成功,就认为该文档符合查询条件。若设置为and,则要求文档必须在所有指定字段中都匹配成功才符合查询条件。
    • tie_breaker:当多个文档在不同字段上的匹配程度相近时,用于调整文档的得分。它是一个浮点数,取值范围在 0 到 1 之间。默认值为 0,表示不进行额外的得分调整;如果设置为一个非零值,例如 0.3,则会在计算文档得分时,将匹配多个字段的文档的得分适当提高,以使其在搜索结果中更靠前。
    • minimum_should_match:用于指定至少需要在多少个字段中匹配成功才能返回该文档。可以是具体数字,如2,表示至少在两个字段中匹配成功;也可以是百分比,如50%,表示至少在指定字段数量的一半字段中匹配成功。
  • 示例代码:
    • 要查询产品名称和产品描述字段同时包含“高清”的文档。
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      CombinedFieldsQuery.Builder combinedFields = QueryBuilders.combinedFields();
      combinedFields.fields("product_description","product_name");
      combinedFields.query("高清");
      combinedFields.operator(CombinedFieldsOperator.And);
      combinedFields.minimumShouldMatch("60%");
      Query query = combinedFields.build()._toQuery();

5、HasChildQuery方法

  • 用途:用于在父文档和子文档之间进行关联查询的方法。
    • 父子文档关联查询:当数据在 Elasticsearch 中以父子文档关系存储时,HasChildQuery允许你根据子文档的条件来查找对应的父文档。例如,在一个电商系统中,订单是父文档,订单中的商品是子文档,你可以使用HasChildQuery通过商品的某些属性(如价格范围、商品类别等)来查询对应的订单。
    • 复杂条件筛选父文档:可以基于子文档中的多个字段组合条件来筛选父文档,实现更灵活的查询需求。比如在一个论坛系统中,帖子是父文档,评论是子文档,通过HasChildQuery可以查找出包含特定关键词评论的帖子。
  • 参数说明:
    • type:用于指定子文档的类型。在 Elasticsearch 中,父子文档在同一个索引中,但子文档有自己特定的类型,通过该参数明确要查询的子文档类型。
    • query:用于定义子文档查询条件的查询对象。可以使用 Elasticsearch 提供的各种查询构建器来构建复杂的子文档查询条件,如termQueryrangeQueryboolQuery等。
    • score_mode:用于指定如何计算父文档的得分。默认为none,即父文档的得分不受子文档的影响;还可以设置为sumavgmaxmin等,分别表示将子文档的得分进行求和、求平均、取最大值、取最小值后作为父文档的得分。
    • innerHits:允许你在查询父文档的同时,获取与父文档匹配的子文档的详细信息
    • min_children和max_children:用于限制子文档的数量范围。min_children指定子文档数量的最小值,max_children` 指定子文档数量的最大值。如果子文档数量不在这个范围内,父文档将不被返回。
    • ignore_unmapped:默认为false。如果设置为true`,当查询中涉及的子文档字段不存在或未映射时,将忽略该字段,而不是抛出异常。
  • 示例代码:
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      HasChildQuery.Builder hasChild = QueryBuilders.hasChild();
      hasChild.type("child_doc_type");
      hasChild.query(QueryBuilders.term(t -> t.field("child_field").value("search_term")));
      hasChild.scoreMode(ChildScoreMode.Max);
      hasChild.innerHits(i->i.fields("specific_inner_hits_name").size(5).from(0));
      Query query = hasChild.build()._toQuery();

6、HasParentQuery方法

  • 用途:用于根据父文档条件来查询子文档的查询方法。
    • 关联查询子文档:当文档存在父子关系时,通过HasParentQuery可以方便地根据父文档的特定条件来查找与之关联的子文档。例如,在一个电商系统中,根据商品分类(父文档)来查询该分类下的具体商品(子文档);或者在论坛系统中,根据文章(父文档)来查找其对应的评论(子文档)等。
    • 数据筛选与分析:能够快速筛选出符合父文档条件的子文档集合,便于进行进一步的数据分析和处理,如统计某个父文档下子文档的数量、对匹配的子文档进行聚合操作等。
  • 参数说明:
    • parentType:指定父文档的类型,用于明确查询所依据的父文档类型,是必选参数。
    • query:用于定义父文档需要满足的查询条件,通常使用 Elasticsearch 的查询构建器来构建,如termQuerymatchQuery等。
    • score:指示是否将匹配父文档的相关性分数聚合到其子文档中。
    • ignore_unmapped:默认为false。当父文档类型在某些子文档索引中不存在映射时,设置为true可以忽略该错误,继续执行查询。
  • 示例代码:
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      HasParentQuery.Builder hasParent = QueryBuilders.hasParent();
      hasParent.parentType("parent_doc_type");
      hasParent.query(QueryBuilders.term(t -> t.field("parent_field").value("search_term")));
      hasParent.score(true);
      hasParent.innerHits(i->i.fields("specific_inner_hits_name").size(5).from(0));
      Query query = hasParent.build()._toQuery();

7、IdsQuery方法

  • 用途:用于根据文档_id进行精确匹配查询的方法。

    • 精准查询:当你确切知道要查询的文档_id时,使用IdsQuery可以快速、精准地获取到对应的文档,而无需进行复杂的全文搜索或条件筛选。
    • 批量查询:可以同时传入多个_id进行批量查询,一次性获取多个指定文档的详细信息,方便快捷地检索特定的一批数据。
  • 参数说明

    • values:用于指定要查询的文档_id的值,可以是单个_id字符串,也可以是包含多个_id字符串的数组或集合。

  • 代码示例
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      IdsQuery.Builder ids = QueryBuilders.ids();
      ids.values("1", "2");
      Query query = ids.build()._toQuery();

8、TypeQuery方法

  • 用途:用于根据文档类型进行查询的方法

  • 参数说明

    • value:用于指定要查询的文档类型名称。

  • 代码示例
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      TypeQuery.Builder type = QueryBuilders.type();
      type.value("doc_type");
      Query query = type.build()._toQuery();

9、GeoShapeQuery方法

  •  用途:用于对地理形状数据进行查询的方法,它允许用户根据地理形状之间的空间关系来查找匹配的文档。基于地理空间数据的索引和搜索功能,通过比较查询的地理形状与文档中存储的地理形状之间的关系,如相交、包含、在内部等,来确定是否匹配。利用了 Elasticsearch 的空间索引结构,能够高效地处理地理形状数据的查询,提高查询速度和准确性。

  • 参数说明

    • field:必选参数,指定文档中存储地理形状数据的字段名。
    • shape:必选参数,GeoShapeFieldQuery对象
      • shape:定义要查询的地理形状,可以是各种几何形状,如点(Point)、线(LineString)、多边形(Polygon)等,还可以通过坐标数组或 GeoJSON 格式来表示。
      • relation:可选参数,指定查询形状与文档中形状的空间关系,默认为INTERSECTS,即相交关系。其他可选关系包括WITHIN(在内部)、CONTAINS(包含)等。
  • 代码示例
    • import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
      GeoShapeFieldQuery.Builder geoShapeField = new GeoShapeFieldQuery.Builder();;
      geoShapeField.shape(JsonData.of("POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))"));
      geoShapeField.relation(GeoShapeRelation.Within);
      GeoShapeQuery.Builder geoShape = QueryBuilders.geoShape();
      geoShape.field("location_field");
      geoShape.shape(geoShapeField.build());
      Query query = geoShape.build()._toQuery();

后续补充:

IntervalsQuery
ParentIdQuery
PercolateQuery
PinnedQuery
RankFeatureQuery
RuleQuery
ScriptScoreQuery
SemanticQuery
ShapeQuery
SpanContainingQuery
SpanFieldMaskingQuery
SpanFirstQuery
SpanMultiTermQuery
SpanNearQuery
SpanNotQuery
SpanOrQuery
SpanTermQuery
SpanWithinQuery
SparseVectorQuery
TextExpansionQuery
WeightedTokensQuery

GeoPolygonQuery
GeoDistanceQuery
GeoBoundingBoxQuery
FunctionScoreQuery
DistanceFeatureQuery
DisMaxQuery
ConstantScoreQuery
KnnQuery

相关文章:

Elasticsearch Java Api Client中DSL语句的查询方法汇总(二)

接上一篇:《Elasticsearch Java Api Client中DSL语句的查询方法汇总》 说明:示例代码依赖的是co.elastic.clients:elasticsearch-java:8.16.1。 1、ScriptQuery方法 用途:它允许用户使用脚本(通常是 Painless 脚本语言&#xf…...

xshell连接虚拟机,更换网络模式:NAT->桥接模式

NAT模式:虚拟机通过宿主机的网络访问外网。优点在于不需要手动配置IP地址和子网掩码,只要宿主机能够访问网络,虚拟机也能够访问。对外部网络而言,它看到的是宿主机的IP地址,而不是虚拟机的IP。但是,宿主机可…...

【经验分享】OpenHarmony5.0.0-release编译RK3568不过问题(已解决)

问题描述 根据操作手册正常拉取代码,然后编译OpenHarmony5.0.0版本rk3568项目 编译命令 ./build.sh --product-name rk3568 --ccache出现如下报错 然后真正开始出错的位置是下面这句log FAILED: ../kernel/src_tmp/linux-5.10/boot_linux ../kernel/checkpoint/c…...

线上维修记录查询,让车辆保养更省心!

车辆保养对于每一位车主来说都是一个必不可少的环节,它不仅可以延长车辆的使用寿命,还能提高行车安全性。然而,相信很多人都有这样的经历:不知道自己的车辆什么时候进行过维修,也不清楚维修的内容和费用。这样一来&…...

【机器学习】基础知识:拟合度(Goodness of Fit)

拟合度概念及意义 拟合度(Goodness of Fit)是衡量统计模型对数据解释能力的指标,用于评价模型对观测数据的拟合效果。在回归分析、分类模型或其他预测模型中,拟合度是模型性能的重要衡量标准。 1. 拟合度的作用 拟合度的主要作用…...

排序算法(2)——快速排序

目录 1. 实现方式 1.1 霍尔法 ​ 1.2 挖坑法 1.3 前后指针法 2. 时间复杂度分析 3. 快速排序优化 3.1 三数取中 3.2 小区间使用插入排序 3.3 非递归实现 快速排序是英国计算机科学家托尼・霍尔(C. A. R. Hoare)在 1960 年年提出的一种二叉树结构…...

测试招工组,解决三个问题

所以我们今天的目标-----找工作! 那么我要找什么工作?如何能胜任这份工作?怎么让单位选择我?这是我们面临的三个问题。 一、我要找什么样的工作 解决这个问题,可以根据你当下已经掌握的能力,和毕业及工作…...

探索《Crypto Rumble》 游戏:经济模型篇

《Crypto Rumble》是一款基于 Zypher Network 游戏引擎打造的卡牌 RPG三消品类的 Web3 游戏,通过引人入胜的游戏设计以及轻量化的游戏玩法,《Crypto Rumble》不仅能够为玩家带来引人入胜的沉浸式游戏体验,同时基于 AI Bot 的游戏编辑器&#…...

《Python WEB安全 库全攻略》

《Python WEB安全 库全攻略》 一、引言二、Python WEB安全 库概述三、热门 Python WEB 安全库1. Flask-Security项目简介与功能:快速入门:使用场景与优势: 2. Flask-SeaSurf项目用途:项目特点:示例代码: 3.…...

DWA(一) —— 理论篇

1 DWA算法概述 DWA的原理:在速度空间(v,w)中采样多组速度,并模拟出这些速度在一定时间内的运动轨迹,并通过评价函数对这些轨迹进行评价,选取最优轨迹对应的(v,w)驱动机器人运动。 优点: (1)计算复杂度低:考虑到速度和加速度的限制,只有安全的轨迹会被考虑,且每次采…...

Ubuntu22.04搭建FTP服务器保姆级教程

在网络环境中,文件传输是一项至关重要的任务。FTP(文件传输协议)是一种基于客户端/服务器模式的协议,广泛用于在互联网上传输文件。Ubuntu作为一款流行的Linux发行版,因其稳定性和易用性而广受开发者和系统管理员的喜爱…...

微信小程序5-图片实现点击动作和动态加载同类数据

搜索 微信小程序 “动物觅踪” 观看效果 感谢阅读,初学小白,有错指正。 一、功能描述 a. 原本想通过按钮加载背景图片,来实现一个可以点击的搜索button,但是遇到两个难点,一是按钮大小调整不方便(网上搜索…...

leetcode 接雨水II(407)

题目: 给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。 示例 1: 输入: heightMap [[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]] 输出: 4 解释: 下雨后,雨水…...

使用 ESP32 构建倒车雷达系统:蜂鸣器警报功能详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:趣享先生的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏&…...

Cesium中实现仿ArcGIS三维的动态图层加载方式

Cesium 加载 ArcGIS 动态图层的方式 如果你在 Cesium 中加载过 ArcGIS 的动态图层,你会发现,Cesium 对于动态图层仍然采用类似切片图层的逻辑进行加载。也就是每个固定的瓦片 export 一张图片。 这样会造成一些问题: 请求量大,…...

国际荐酒师(香港)协会亮相第六届地博会助力中欧地标交流合作

国际荐酒师(香港)协会亮相第六届知交会暨地博会,助力中欧地理标志产品交流合作 12月9日,第六届粤港澳大湾区知识产权交易博览会暨国际地理标志产品交易博览会(以下简称“第六届知交会暨地博会”)在中新广州…...

java八股-索引下推(图解对比)

参考链接 https://xiaolincoding.com/mysql/base/how_select.html#%E6%89%A7%E8%A1%8C%E5%99%A8 https://javaguide.cn/database/mysql/mysql-index.html#%E7%B4%A2%E5%BC%95%E4%B8%8B%E6%8E%A8 如何理解索引下推这个概念,其实就是index把Server层的工作&#xff0…...

自荐一部IT方案架构师回忆录

作者本人毕业于一个不知名大专院校,所读专业计算机科学技术。2009年开始IT职业生涯,至今工作15年。擅长TSQL/Shell/linux等技术,曾经就职于超万人大型集团、国内顶级云厂商、央国企公司。参与过运营商大数据平台、大型智慧城市ICT、云计算、人…...

C语言理解 —— 实用的字符串函数

目 录 字符串函数的头文件strlenstrstrstrncpystrncmp 字符串函数的头文件 #include <string.h>strlen 计算字符串长度的&#xff0c;从字符的首地址开始遍历&#xff0c;以 ‘\0’ 为结束标志&#xff0c;然后将计算的长度返回&#xff0c;但是计算的长度不包含’\0’…...

“Python-OpenCV初体验:简单实现颜色识别与轮廓绘制”

一、引言 图像处理技术在现代科技中扮演着重要角色&#xff0c;但对于初学者来说&#xff0c;掌握这些技术可能显得有些复杂。在这篇博客中&#xff0c;我们将带你一步步了解如何利用Python和OpenCV来识别图像中的颜色并绘制轮廓。通过简明的实验原理和代码示例&#xff0c;你…...

导游现场面试需要注意的问题

今天给大家带来一些导游现场面试需要注意的问题&#xff0c;大部分的城市导游考试已经考完了&#xff0c;但是还有一些城市的十二月份才考&#xff0c;有需要的朋友们赶紧来看&#xff0c;有备无患。 01、做好充足准备 认真准备做好每个景点的讲解介绍&#xff0c;不要抱有侥幸…...

JDK8新特性:Stream

JDK8最大的改变&#xff1a; 1. lambda表达式 2. Stream 1. Steam流的入门 什么是Stream&#xff1f; 也叫Stream流&#xff0c;是jdk8开始的一套API&#xff0c;用于操作集合或者数组中的数据 优点&#xff1a; Stream流大量结合了Lambda的语法风格来创建&#xff0c;提…...

CSS的2D和3D动画效果

CSS的2D和3D动画效果&#xff1a;网页动态设计的魔法 在现代网页设计中&#xff0c;动画已经成为提升用户体验的重要元素。通过引入动态效果&#xff0c;我们不仅可以使交互更加流畅和直观&#xff0c;还能吸引用户的注意力&#xff0c;增强品牌认知度。CSS提供了强大的工具&a…...

OpenCV相机标定与3D重建(16)将点从齐次坐标转换为非齐次坐标函数convertPointsFromHomogeneous()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::convertPointsFromHomogeneous 是 OpenCV 库中的一个函数&#xff0c;用于将点从齐次坐标&#xff08;homogeneous coordinates&#xff09;…...

动态流程图制作方法

动态流程图制作方法 1.方法1 有各种 echars模板 可以自己改代码 https://www.isqqw.com/viewer?id42201echars 在线生成 https://codevtool.com/echarts2. 方法2电脑软件&#xff0c;画图的。 《亿图图示》...

【pytroch】线性回归

构造一个PyTorch数据迭代器 def load_array(data_arrays, batch_size, is_trainTrue): #save"""构造一个PyTorch数据迭代器"""dataset data.TensorDataset(*data_arrays)return data.DataLoader(dataset, batch_size, shuffleis_train)batch_…...

前端请求后端接口报错(blockedmixed-content),以及解决办法

报错原因&#xff1a;被浏览器拦截了&#xff0c;因为接口地址不是https的。 什么是混合内容&#xff08;Mixed Content&#xff09; 混合内容是指在同一页面中同时包含安全&#xff08;HTTPS&#xff09;和非安全&#xff08;HTTP&#xff09;资源的情况。当浏览器试图加载非…...

基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理

基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理 flyfish 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_LoRA配置如何写 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_单图推理 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_原模型_单图推理 基于Q…...

Pull requests 和Merge Request其实是一个意思

Pull requests的定义 在Git中&#xff0c;PR&#xff08;Pull Request&#xff09;是一种协作开发的常用方式。它允许开发者将自己的代码变更&#xff08;通常是一个分支&#xff09;提交到项目的仓库中&#xff0c;然后请求负责代码审查的人员将这些变更合并到主分支中。通过…...

网络原理03

回顾 应用层&#xff1a;应用程序&#xff0c;数据具体如何使用 传输层&#xff1a;关注起点和终点 网络层&#xff1a;关注路径规划 数据链路层&#xff1a;关注相邻节点的转发 物理层&#xff1a;硬件设备 应用层 应用程序 在应用层&#xff0c;很多时候&#xff0c;…...

yarn 安装问题

Couldn’t find package “regenerator-runtime” on the “npm” registry. Error: Couldn’t find package “watch-size” on the “npm” regist 标题Error: Couldn’t find package “babel-helper-vue-jsx-merge-props” on the “npm” registry. Error: Couldn’t f…...

优选算法——分治(快排)

1. 颜色分类 题目链接&#xff1a;75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; 题目展示&#xff1a; 题目分析&#xff1a;本题其实就要将数组最终分成3块儿&#xff0c;这也是后面快排的优化思路&#xff0c;具体大家来看下图。 这里我们上来先定义了3个指针&…...

深入解析强化学习中的 Generalized Advantage Estimation (GAE)

中文版 深入解析强化学习中的 Generalized Advantage Estimation (GAE) 1. 什么是 Generalized Advantage Estimation (GAE)? 在强化学习中&#xff0c;计算策略梯度的关键在于 优势函数&#xff08;Advantage Function&#xff09; 的设计。优势函数 ( A ( s , a ) A(s, a…...

PostgreSQL/PostGIS中提升空间查询(分析)性能(效率)的一些方法

目录 1. 使用适当的索引 1.1 索引类型 1.2 分析查询计划 1.3 覆盖索引 1.4 复合索引 1.5 维护索引 1.6 删除不必要的索引 1.7 使用适当的数据类型 2. 建立分区表 2.1 分区表的基本概念 2.2 创建分区表的步骤 2.3 空间数据的分区 2.4 分区表优点 3. 简化几何形状 …...

什么是Apache日志?为什么Apache日志分析很重要?

Apache是全球最受欢迎的Web服务器软件&#xff0c;支持约30.2%的所有活跃网站。凭借其可靠性、灵活性和强大的功能&#xff0c;Apache数十年来一直是互联网的中坚力量。 一、Apache Web服务器的工作原理 Apache Web服务器的工作原理如下&#xff1a; 接收HTTP请求&#xff1…...

攻防世界Reversing-x64Elf-100

一、使用Exeinfo PE 查壳 64无壳 二、使用IDA静态分析 1.找main 总览分析到&#xff1a;要使sub_4006FD出0&#xff0c;就可以得到"Nice!" 2.找到关键函数sub_4006FD 总览分析&#xff1a;v3是二维数组&#xff0c;要使if( )里的值1&#xff0c;就可以出0 分析if(…...

MySQL生产环境备份脚本

全量备份脚本&#xff0c;其中BakDir&#xff0c;ZlbakDir&#xff0c;LogFile需要自己创建 #!/bin/bash export LANGen_US.UTF-8# 指定备份目录 BakDir/root/beifen/data/mysqlbak/data/allbak # 指定增量备份目录 ZlbakDir/root/beifen/data/mysqlbak/data/zlbak # 备份日志…...

redis 怎么样删除list

在 Redis 中&#xff0c;可以使用以下方法删除列表或列表中的元素&#xff1a; 1. 删除整个列表 使用 DEL 命令删除一个列表键&#xff1a; DEL mylist这个命令会删除键 mylist 及其值&#xff08;无论 mylist 是一个列表还是其他类型的键&#xff09;。 2. 删除列表中的部分…...

uniapp小程序 slot中无法传递外部参数的解决方案

最近在封装一个List组件&#xff0c;外部传给我数据&#xff0c;我循环后将每个Item部分slot到外部&#xff0c;由调用者自己去写item布局&#xff0c;类似ElementUI、iView的Tabe列表。 List: <view v-if"list.length > 0" class"list-scroll__item&quo…...

Java面试之实现多线程(二)

此篇接上一篇Java面试之什么是多线程(一) Java多线程是Java语言中的一个重要特性&#xff0c;它可以实现并发处理、提高程序的性能和响应能力。开发者需要了解多线程的概念和机制&#xff0c;并采用合适的多线程编程模型和同步机制&#xff0c;以保证程序的正确性和稳定性。Jav…...

论文笔记:Treat Visual Tokens as Text? But Your MLLM Only Needs Fewer Efforts to See

2024 10月的arxiv 1 主要idea 针对多模态大模型&#xff08;如LLaVA&#xff09;&#xff0c;提出了一系列高效的剪枝策略 在显著降低计算开销&#xff08;多达 88%&#xff09;的同时&#xff0c;保持了模型在多模态任务中的性能表现 2 目前的问题 与文本 token 相比&…...

HDOJ 1735:字数统计 ← 贪心

【题目来源】https://acm.hdu.edu.cn/showproblem.php?pid1735【题目描述】 一天&#xff0c;淘气的 Tom 不小心将水泼到了他哥哥 Jerry 刚完成的作文上。原本崭新的作文纸顿时变得皱巴巴的&#xff0c;更糟糕的是由于水的关系&#xff0c;许多字都看不清了。可怜的 Tom 知道他…...

Java常用类(完整版)

其他类 Object类 超类、基类&#xff0c;所有类的直接或间接父类&#xff0c;位于继承树的最高层 任何类&#xff0c;如果没有书写extends显示继承某个类&#xff0c;都默认直接继承Object类 Object类中所定义的方法&#xff0c;是所有对象都具备的方法 Object类型可以存储…...

【JAVA】Java项目实战—Java SE进阶项目:在线考试系统

在数字化教育中&#xff0c;在线考试系统的需求日益增加。它不仅提高了考试的效率&#xff0c;还能方便学生随时随地进行学习和测试。Java作为一种强大的编程语言&#xff0c;因其平台无关性、丰富的类库和强大的社区支持&#xff0c;成为开发在线考试系统的理想选择。 在线考…...

仿iOS日历、飞书日历、Google日历的日模式

仿iOS日历、飞书日历、Google日历的日模式&#xff0c;24H内事件可自由上下拖动、自由拉伸。 以下是效果图&#xff1a; 具体实现比较简单&#xff0c;代码如下&#xff1a; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color;…...

机器人构建详解:售前售后服务客服机器人与广告生成机器人的微调数据处理方法

引言 大模型&#xff08;如BERT、GPT等&#xff09;在自然语言处理任务中展现了强大的能力&#xff0c;但为了使其更贴合特定应用场景&#xff0c;通常需要进行微调。本文将详细讲解如何为售前售后服务的客服机器人和广告生成机器人准备高质量的微调数据&#xff0c;并通过具体…...

【飞机纵向动力学建模与分析】

飞机纵向动力学建模与分析 文章目录 飞机纵向动力学建模与分析前言坐标系定义及转换机体坐标系定义机体坐标系定义气流角定义气流坐标系与机体坐标系相互转化 纵向动力学方程建立力的分解动力学方程的建立纵向动力学方程纵向动力学方程状态空间表达形式纵向运动分析短周期简化处…...

【机器人】控制之稳定性判定: 李雅普诺夫Lyapunov (7) 判定是否是李函数,思维导图

要判断一个函数 V(x)是否可以作为某个动力学方程的 Lyapunov 函数&#xff0c;需要满足特定的数学和物理条件。以下是详细说明&#xff1a; 1. 满足 Lyapunov 函数的基本条件 一个函数 V(x)能否作为 Lyapunov 函数&#xff0c;需要满足以下基本条件&#xff1a; 1.1 正定性 …...

Qwen 论文阅读记录

本文仅作自己初步熟悉大模型&#xff0c;梳理之用&#xff0c;慢慢会更改/增加/删除&#xff0c;部分细节尚未解释&#xff0c;希望不断学习之后&#xff0c;能够完善补充。若有同道之人&#xff0c;欢迎指正探讨。 关于后面的code-qwen and math-qwen&#xff0c;我个人认为依…...

ViewModel

ViewMode是MVVM架构模式中VM层对应的类&#xff0c;它的作用是存储界面数据&#xff0c;并和界面发生数据交互。ViewModel能感知生命周期&#xff0c;并且在界面由于配置问题发生重建时候&#xff0c;可以保持当前的数据不变。生命周期如下&#xff1a; ViewMode由ViewModePr…...