郑州网站顾问热狗网淮安市交通建设局网站

news/2025/9/30 17:35:54/文章来源:
郑州网站顾问热狗网,淮安市交通建设局网站,搭理彩票网站开发,事业单位报名网站文章目录 1. 创建索引2. 插入模拟数据Painless 脚本的基本特点#xff1a;Painless 脚本的常见用途1. 脚本查询和过滤示例#xff1a;基于脚本的查询 2. 脚本字段示例#xff1a;脚本字段 3. 聚合中的脚本示例#xff1a;脚本聚合 4. 文档更新中的脚本示例#xff1a;文档… 文章目录 1. 创建索引2. 插入模拟数据Painless 脚本的基本特点Painless 脚本的常见用途1. 脚本查询和过滤示例基于脚本的查询 2. 脚本字段示例脚本字段 3. 聚合中的脚本示例脚本聚合 4. 文档更新中的脚本示例文档更新 5. 排序中的脚本示例脚本排序 Painless 脚本的常见用法和注意事项1. **访问字段**2. **参数传递**3. **条件判断**4. **限制**5. **调试脚本** 总结 1. 创建索引 首先我们可以创建一个包含适当字段的 products 索引并定义字段的映射mapping。例如我们可以使用 text 类型来存储产品名称keyword 类型来存储分类float 或 double 类型来存储价格、评分和折扣。 PUT /products {mappings: {properties: {product_name: {type: text},price: {type: float},category: {type: keyword},rating: {type: float},discount: {type: float},availability: {type: boolean},stock: {type: integer},release_date: {type: date}}} }2. 插入模拟数据 接下来我们插入一些模拟产品数据到 products 索引。以下是一些数据样本 POST /products/_doc/1 {product_name: Apple iPhone 15,price: 999.99,category: Smartphones,rating: 4.5,discount: 0.1,availability: true,stock: 50,release_date: 2023-09-01 }POST /products/_doc/2 {product_name: Samsung Galaxy S24,price: 899.99,category: Smartphones,rating: 4.3,discount: 0.05,availability: true,stock: 30,release_date: 2023-10-10 }POST /products/_doc/3 {product_name: Dell XPS 13,price: 1199.99,category: Laptops,rating: 4.8,discount: 0.15,availability: true,stock: 20,release_date: 2023-08-20 }POST /products/_doc/4 {product_name: Sony WH-1000XM5,price: 349.99,category: Headphones,rating: 4.7,discount: 0.2,availability: false,stock: 0,release_date: 2023-06-15 }POST /products/_doc/5 {product_name: Apple MacBook Air,price: 999.00,category: Laptops,rating: 4.6,discount: 0.1,availability: true,stock: 15,release_date: 2023-11-01 }POST /products/_doc/6 {product_name: Fitbit Charge 5,price: 149.99,category: Wearables,rating: 4.4,discount: 0.05,availability: true,stock: 80,release_date: 2023-07-10 }在 Elasticsearch 中Painless 是一种用于查询和聚合操作的内置脚本语言。它被设计为高效、安全、且易于使用的脚本语言用于在 Elasticsearch 中执行动态计算。Painless 可以在许多不同的场景中使用比如在 查询、过滤器、聚合、文档更新、排序、脚本字段 等操作中动态计算值。 Painless 脚本的基本特点 高效Painless 脚本会经过优化执行速度较快。安全Painless 会在执行过程中检查潜在的安全问题防止执行恶意代码。易用语法简洁类似于 Java但也有一些简化和限制。 Painless 脚本的常见用途 脚本查询和过滤脚本字段聚合中的脚本文档更新排序 1. 脚本查询和过滤 你可以使用 Painless 脚本来动态计算查询条件。例如假设你要查询文档中的字段 price 是否大于某个动态值 示例基于脚本的查询 POST /products/_search {query: {script_score: {query: {match_all: {}},script: {source: doc[price].value params.threshold ? 1 : 0,params: {threshold: 1000}}}} }在这个查询中script_score 根据 price 字段的值与 threshold 参数进行比较只有当 price 1000 时文档才会匹配查询。 2. 脚本字段 Painless 脚本可以用于计算查询结果中的 脚本字段允许你在查询结果中添加基于其他字段计算的动态值。 示例脚本字段 假设每个文档都有 price 和 tax 字段你想在查询结果中计算每个文档的总价price tax。 POST /products/_search {query: {match_all: {}},script_fields: {total_price: {script: {lang: painless,source: doc[price].value doc[discount].value}}} }这将为每个文档添加一个名为 total_price 的字段字段值是 price discount 的和。 3. 聚合中的脚本 Painless 脚本还可以用在聚合操作中用于对字段值进行动态计算。例如基于某个条件计算总和或平均值。 示例脚本聚合 假设你想计算所有产品的 price 字段的加权平均值其中权重来自于另一个字段 rating POST /products/_search {size: 0,aggs: {weighted_avg_price: {avg: {script: {lang: painless,source: doc[price].value * doc[rating].value}}}} }在这个例子中weighted_avg_price 聚合会计算 price * rating 的平均值。 4. 文档更新中的脚本 Painless 脚本可以用来动态更新文档中的字段。这在批量更新或修改文档时非常有用特别是当更新的内容需要基于现有字段的值进行计算时。 示例文档更新 假设你有一个文档中存储了 price 和 discount 字段现在你想要根据 discount 更新 price POST /products/_update/1 {script: {lang: painless,source: ctx._source.price ctx._source.price - (ctx._source.price * ctx._source.discount)} }在这个例子中price 字段会根据 discount 字段的值进行折扣更新。 5. 排序中的脚本 你可以使用 Painless 脚本对搜索结果进行动态排序。例如假设你要根据一个计算出来的值进行排序而这个值是由多个字段计算得出的。 示例脚本排序 假设你有 rating 和 price 字段你想按照 rating 除以 price 的结果对文档进行排序 POST /products/_search {query: {match_all: {}},sort: [{_script: {type: number,script: {lang: painless,source: doc[rating].value / doc[price].value},order: desc}}],script_fields: {rating_to_price_ratio: {script: {lang: painless,source: doc[rating].value / doc[price].value}}} }在这个例子中文档将按照 rating / price 的值进行降序排序。 Painless 脚本的常见用法和注意事项 1. 访问字段 在 Painless 中你可以使用 doc[field_name].value 来访问字段的值。如果字段是多值字段你可以使用 doc[field_name].values 来获取所有的值。 对于文本字段doc[text_field].value 返回的是字段的一个值如果该字段为多值字段Painless 默认取第一个值。对于数字字段可以像上面的示例那样直接访问数字字段。 2. 参数传递 你可以通过 params 来传递外部参数到脚本中这样就能在脚本中动态使用这些值。 {query: {range: {price: {gte: {{params.min_price}}}}},params: {min_price: 100} }在这里params.min_price 是传递给脚本的参数。 3. 条件判断 Painless 支持基本的条件判断比如 if 语句。可以用来执行基于条件的计算。 {script: {lang: painless,source: if (doc[discount].size() ! 0) {return doc[price].value - (doc[price].value * doc[discount].value);} else {return doc[price].value;}} }这个脚本判断如果 discount 字段存在就对 price 进行折扣计算否则返回原价。 4. 限制 性能虽然 Painless 被设计成高效的但大量的动态计算会对性能产生一定的影响。尽量避免在查询或聚合中使用过于复杂的脚本尤其是在大规模数据集上。沙盒环境Painless 是运行在沙盒环境中的意味着它的功能被严格限制无法进行一些危险的操作如文件操作、网络请求等。 5. 调试脚本 Painless 脚本支持调试输出可以在开发时利用 _explain 或者调试日志来查看脚本的执行情况。 总结 Painless 是 Elasticsearch 中强大且高效的脚本语言广泛应用于查询、更新、聚合、排序等多种操作。通过使用 Painless 脚本开发者可以对 Elasticsearch 的行为进行细粒度的控制和动态计算从而实现更灵活的功能。 在实际应用中合理使用 Painless 脚本能够帮助解决复杂的数据计算需求但也需要注意性能和安全性避免过度使用脚本影响集群性能。

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

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

相关文章

【Rust GUI开发入门】编写一个本地音乐播放器(7. 制作歌词显示面板) - Jordan

目的是要制作一个这样的面板显示歌词:水平布局:左边30%显示专辑封面 右边70%显示歌词歌词仍然使用ListView来构建,跟前文的歌曲列表一样,代码如下: export component LyricsPanel inherits Window {in property &…

长沙做网站美工的公司网站制度建设模板

当web Service 和 Manifest 被浏览器安装完后,正常情况下,浏览器会提醒用户可将网页安装到桌面。但是通常浏览器都会限制提醒。这时候我们需要手动唤醒浏览器询问用户是否安装到桌面 beforeinstallprompt beforeinstallprompt 事件 window.addEventListe…

做塑料的网站名字潍坊企业网站制作

使用 Redis 可以优化性能,但是存在 Redis 的数据和数据库同步的问题,这是我们需要关注的问题。假设两个业务逻辑都是在操作数据库的同一条记录,而 Redis 和数据库不一致。 Redis 和数据库不一致 在图中,T1 时刻以键 key1 保存数…

深圳商城网站设计公司数字化营销模式及特点

YOLO TT100K: 基于YOLO训练的交通标志检测模型 在原始代码基础上: 修改数据加载类,支持CoCo格式(使用cocoapi);修改数据增强;validation增加mAP计算;修改anchor; 注: 实验开启weig…

html5 自适应网站燕郊建设局网站

目录 打包/解包 作用 zip -r选项 unzip -d选项 如果不使用递归压缩 -l / -v选项 tar 介绍 选项 示例 打包/解包 作用 使多个文件变成一个文件,不易造成数据缺失使下载时间变短 zip 将目录或文件压缩成zip格式 -r选项 递归式压缩某目录及其所有子目录中的文件 如果不…

基于内容可信空间的医疗行业机遇研究报告

基于内容可信空间的医疗行业机遇研究报告pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

建立网站的费用襄阳网站seo

文章目录 概述一、app应用安装白名单核心代码二、app应用安装白名单核心功能分析三、代码实战1.先导入所需要的包2.添加获取白名单方法3.添加限制白名单方法4.上层使用PS:查看当前白名单 总结 概述 在13.0系统rom定制化开发中,客户需求要实现应用安装白名单功能&am…

2025 年智能门锁厂家最新推荐榜单:涵盖高端 / 猫眼 / 家用 / 人脸 / 续航 / 掌静脉等多类型,优质厂家推荐助你选对产品

随着智能家居普及,智能门锁成为家庭安全刚需,但当前市场乱象频发。众多品牌涌入导致产品质量悬殊,部分产品存在指纹识别失误、续航缩水、安全漏洞等问题,甚至有小品牌为降低成本省去核心防护技术,让消费者陷入 “…

2025 年成型机厂商最新权威推荐排行榜:冷弯 / 光伏支架 / 门业等设备企业精度耐用性测评底樑/光伏支架/C型钢/彩钢瓦/快速门成型机厂商推荐

在当前制造业加速升级的背景下,成型机作为建材、门业、新能源等领域的核心生产装备,其品质直接决定下游企业的生产效率与产品竞争力。然而,市场上成型机厂商数量众多,产品质量参差不齐:部分厂商缺乏核心技术,设备…

个人建什么样的网站怎么做网页快照

文章目录 Rust语言之属性宏(Attribute Macro)derive Rust语言之属性宏(Attribute Macro)derive 属性宏是一种基于属性的宏,用于修改、扩展或注解 Rust 代码。它们通常用于为函数、结构体、枚举、模块等添加元数据或自…

自己做的网站点进去很卡即时聊天app开发

摘 要:随着电力需求的不断增加,电力系统供电可靠性要求越来越高,许多供电系统已具备两回或多回供电线路。备用电源自动投入装置可以有效提高供电的可靠性,该类装置能够在工作电源因故障断开后,自动且迅速地将备用电源投…

.Net Core MVC + Vue + SignalR 实现 后端数据主动推送到前端

1. 安装 Microsoft.AspNetCore.SignalR 2. 配置 SignalR 服务public class RandomNumberHub : Hub {/// <summary>/// 前端推送到后端/// </summary>public async Task SendEvent(string number){await C…

2025 布袋包装厂家最新推荐榜:自贸区实力厂商领衔,含手提袋/帆布袋/无纺布袋,年销 500 万级生产商精选

在 “双碳” 目标与 “限塑令” 深化实施的双重推动下,布袋包装市场需求年增速超 20%,但行业乱象始终制约采购决策效率。据调研,67% 的企业曾遭遇样品与成品不符、交货延期等问题,原材料掺假、定制能力不足、环保资…

做网站用的图片分辨率光谷软件园 网站建设

想要生活在幸福的职场中&#xff0c;并非无技巧可寻。以下9个小技巧&#xff0c;帮你收获职场幸福。第1招&#xff1a;按部就班地行动 事业成功的人往往耐得住寂寞&#xff0c;在那些看似程式化的进程当中寻找到快乐&#xff0c;他们是善于自我控制的人&#xff0c;可以让时间听…

做网站用什么配置的笔记本专业做家电经销的网站

目录 一. 铺垫性介绍 1.1 傅里叶级数 1.2 傅里叶矩阵的来源 二. 格基与傅里叶矩阵 2.1 傅里叶矩阵详细解释 2.2 格基与傅里叶矩阵 写在前面&#xff1a;有关傅里叶变换的解释太多了&#xff0c;这篇博客主要总结傅里叶矩阵在格密码中的运用。对于有一定傅里叶变换基础的同…

本地广东中山网站建设wordpress眉顶布局

1.遇到问题 公司项目是基于ruoyi 框架快速搭建开发&#xff0c;使用多线程搜索查询&#xff0c;所以以用户区分任务&#xff0c;保证可以搜索任务和取消搜索&#xff0c;所以我这需要获得用户id&#xff0c;使用 SecurityUtils 共工工具类从请求头获取token&#xff0c;然后解…

seo网站优化知识网站如何进行优化设计

文章目录 依赖bus应用接口用到的封装参数类 接收的应用监听器定义的事件类 使用bus定义bus远程调用A应用数据更新后通过bus数据同步给B应用 依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp…

可以做长页的网站怎么更改网站域名

图像分类是模式识别重要研究领域之一&#xff0c;它的任务是把目标样本分成不同类别&#xff0c;赋予样本相应类别标签。分类实现的基础是用传感器检测到样本的特征&#xff0c;比如形状、颜色、纹理等基本特征或通过基本特征提取更为复杂的特征信息&#xff0c;其中纹理是表示…

一个人做公司管理网站一灯wordpress主题

随着社交媒体的不断发展和智能手机的普及&#xff0c;微信已经成为我们日常生活中不可或缺的一部分。作为一个商家或者个人品牌&#xff0c;利用微信进行群发消息是一种非常便捷和高效的方式来推广产品或者传递信息。 然而&#xff0c;传统的微信群发功能却有着一些限制&#…

怎么建设一个淘宝客网站制作网站用什么软件好

背景 随着互联网的高速发展&#xff0c;信息安全问题已经成为企业最为关注的焦点之一&#xff0c;而前端又是引发企业安全问题的高危据点。在移动互联网时代&#xff0c;前端人员除了传统的 XSS、CSRF 等安全问题之外&#xff0c;又时常遭遇网络劫持、非法调用 Hybrid API 等新…