深圳 骏域网站建设/百度推广售后电话

深圳 骏域网站建设,百度推广售后电话,石家庄建站,wordpress有哪些网站吗#### 1.Elasticsearch是数据库,不是普通的Java应用程序,传统数据库需要的硬件资源同样需要,提升性能最有效的就是升级硬件。 #### 2.Elasticsearch是文档型数据库,不是关系型数据库,不具备严格的ACID事务特性&#xff…

#### 1.Elasticsearch是数据库,不是普通的Java应用程序,传统数据库需要的硬件资源同样需要,提升性能最有效的就是升级硬件。
#### 2.Elasticsearch是文档型数据库,不是关系型数据库,不具备严格的ACID事务特性,任何企图直接替代严格事务性场景的应用项目都会失败!!!
#### 3.Elasticsearch原则上适合一切非事务性应用场景或能够容许一定的延迟的事务性场景;能最大限度的替代mongodb与传统关系型数据库

##### 索引字段与属性都属于静态设置,若后期变更历史数据需要重建索引才可生效
##### 对历史数据无效!!!!
##### 一定要重建索引!!!!

#### 1、Script概要介绍
### Script概念
## 概念解释
# ES的脚本类同传统数据库的UDF,可以自定义一些规则表达式,目的是满足日益复杂的应用需求
# Greenplum,支持Python/R
## 应用便利
# 支持灵活多变的应用场景与需求如:字段数值乘以10倍数

### 参数
# script,定义脚本查询入口
# lang,定义脚本语言
# source,定义脚本内容
# id,脚本编号名称,预定义脚本
# params,定义脚本参数,全局参数

# eg 乘以10
GET kibana_sample_data_flights/_search
{"query":{"match_all": {}},"script_fields":{"AvgTicketPrice_100":{"script":{"lang": "expression","source": "doc['AvgTicketPrice']*10"}}}
}

### Script脚本类型
## 脚本类型
# 1.Painless,最丰富的强大的脚本语言
# 2.Lucene,简洁高效的原生lucene脚本语言
# 3.Mustache,简洁高效的template脚本语言
# 4.Java,原生支持iava高级自定义的脚本语言


### Script获取上下文数据值
## 获取上下文数据值
# 1.update script,数据更新上下文获取数据
# 2._score,数据分值
# 3.doc_value,从列式获取数据值
# 4._source,从原数据中获取数据值
# 5._store,从lucene存储中获取数据值

# update script,eg 从Script获取数据,更新字段值
GET kibana_sample_data_flights_3share/_search
POST kibana_sample_data_flights_3share/_update_by_query
{"script":{"source": """ctx._source.FlightNum=ctx._source.OriginCountry + "_"+ctx._source.FlightNum"""}
}
GET kibana_sample_data_flights_3share/_search# _score,eg 从Script获取数据,修改分值
GET kibana_sample_data_flights_3share/_search
{"query": {"function_score": {"query": {"match": {"Origin": "Newark"}},"script_score": {"script": {"lang": "expression","source": "_score*doc['FlightTimeMin']"}}}}
}# doc_value,eg 从Script获取数据,修改分值
GET kibana_sample_data_flights_3share/_search
{"query": {"function_score": {"query": {"match": {"Origin": "Newark"}},"script_score": {"script": {"lang": "expression","source": "doc['FlightTimeMin']*10"}}}}
}
# _source,eg 从Script获取数据,更新字段值
GET kibana_sample_data_flights_3share/_search
POST kibana_sample_data_flights_3share/_search
{"script_fields": {"FlightNum": {"script": {"lang": "painless","source": "params._source.FlightNum+'_'+ params._source.OriginCityName"}}}
}# _store, eg 从lucene-store中获取数据
# 创建索引时需要设定store=true,否则出错
PUT dev-001
{"mappings":{"properties":{"devName":{"type":"text","store":true},"devDesc":{"type":"text","store":true}}}
}
POST dev-001/_doc
{"devName":"设备名称-1","devDesc":"设备描述内容"
}
GET dev-001/_search
{"stored_fields":["*"],"script_fields":{"devInfo":{"script":{"lang": "painless","source": "params._fields['devName'].value+'_'+params._fields['devDesc'].value"}}}
}

### 脚本接口(扩展了解)
## script_context
# 查询脚本执行支持的上下文参考

GET _script_context

## _script_language
# 查询内置已经注册脚本语言类型
# 内置脚本语言支持的上下文

GET _script_language


### scripts 创建
# 创建内置脚本,便于编译,提升执行能力
# *PUT _scripts/<script-id>
# *POST _scripts/<script-id>
# *PUT _scripts/<script-id>/<context>
# *POST _scripts/<script-id>/<context>

#### 2、Lucene脚本应用
## Lucene概要介绍
# 1.继承Lucene原生,简洁高效,表达能力有限
# 2.官方名称:expression
## 其它能力
# 1.性能最好

## expression, eg
# Lucene,继承原生lucene内置能力,性能好,简洁直接,性能同比其它,最好
# 查询参数
# lang,定义查询语言类型
# expression,lucene 语言类型
# doc,获取参数

# 获取日期的一天中的小时
GET kibana_sample_data_flights/_search
{"_source": ["timestamp"],"track_total_hits": true,"script_fields": {"hourOfDay": {"script": {"lang": "expression","source": "doc['timestamp'].date.hourOfDay"}}}
}
## 限制性条件
# 仅能获取数值、日期、geo_point类型

#### 3、Mustache脚本应用
# 基于 Mustache 模板语法规则,简单适用
# 查询模板

GET _search/template
{"source": {"query": {"match": {"{{my_field}}": "{{my_value}}"}},"size": "{{my_size}}"},"params": {"my_field": "message","my_value":"foo","my_size":10}
}

#### 4、Painless脚本应用深入探查
## 概要介绍
# 1.基于自定义脚本规则,语言语法参考python/java,简洁高效,语言能力丰富。
# 2.Painless是编译模型,基于ANTLR4与ASM库编译
# 3.内置沙箱机制,非常安全
# https://github.com/antlr/antlr4
# https://zhuanlan.zhihu.com/p/575048391

## 查询参数
# lang,定义查询语言类型
# painless,查询语言
# source,查询语言表达式

# eg
GET kibana_sample_data_flights/_search
{"query":{"match_all": {}},"script_fields":{"AvgTicketPrice_100":{"script":{"lang": "expression","source": "doc['AvgTicketPrice']*10"}}}
}

### scripts/painless/_execute 测试接口
## 查询参数
# POST /scripts/painless/execute
# script,脚本表达式定义
# context,上下文逻辑表达式
# context_setup,上文参数,指定索引与字段替代等

## test-context
# 默认测试上下文
# 测试自定义变量

# eg 1
POST /_scripts/painless/_execute
{"script": {"source":"params.count/params.total","params": {"count":11.0,"total":1100.0}}
}# eg 2
POST /_scripts/painless/_execute
{"script": {"source":"""int i=10;float f=(float)i;float i_f=i*f;return i_f*params.p1;""","params": {"p1": 100,"p2": 1000}}
}

## filter-context
# 过滤上下文,查询逻辑表达式
# bool 表达式

# eg 
POST /_scripts/painless/_execute
{"script": {"source":"""int i=10;float f=(float)i;float i_f=i*f;float f1= i_f*params.p1;return f1<doc['AvgTicketPrice'].value;""","params": {"p1": 100,"p2": 1000}},"context":"filter","context_setup":{"index":"kibana_sample_data_flights","document":{"AvgTicketPrice":100.11}}
}

## score-context
# 数值上下文  

# eg 
POST /_scripts/painless/_execute
{"script": {"source":"""int i=10;float f=(float)i;float i_f=i*f;float f1= i_f*params.p1;return f1+doc['AvgTicketPrice'].value;""","params": {"p1": 100,"p2": 1000}},"context":"score","context_setup":{"index":"kibana_sample_data_flights","document":{"AvgTicketPrice":100.11}}
}

### 限制性条件
## 性能限制
# 脚本语言越复杂,性能原则上越差
## 权限限制
# 脚本执行是在沙箱中进行,不能超过java 或者 es 权限限制边界,如禁止访问 IO 等
  
  
  
#### 5、Java脚本应用自定义能力探查
## 当以上3种脚本无法满足特定诉求,可以基于java 语言自定义构造特殊的脚本,如需要突破IO 访问限制
## 或者与其它框架集成等

## eg 
# 1、编写java插件 ExpertScriptPlugin.java
# 参考官方案例
# https://www.elastic.co/guide/en/elasticsearch/reference/8.6/modules-scripting-engine.html

# 2、编译运行包
# 基于 gradle 构件程序包
# jar包位置:elasticsearch-8.6.2\plugins\examples\script-expert-scoring\build\distrlbutions

# 3、复制到 Plugins 目录
# 例如我的目录是D:\Software\elasticsearch-8.6.2
# 进该目录下的plugins文件夹,这个文件夹默认是空的,在plugins下创建一个插件目录
# 将自己的jar复制进来

# 4、新增配置文件
#  新增配置文件plugin-descriptor.properties
#(可以在elasticsearch-8.6.2\modules\x-pack-async目录下拷一份过来改改)


# 重启es,通过_script_language查看支持的脚本,比原先多一个
GET _script_language

## 官方插件原代码位置
# elasticsearch-8.6.2\plugins\examples\script-expert-scoring\src\main\java\org\elasticsearch\example\expertscript\ExpertScriptPlugin.java


  
#### 6、Script应用场景
### 应用场景
# 脚本应用场景
# 查询:query
# 自定义字段:script_field
# 排序:sort
# 聚合:aggs
# 上卷:transform
# 分值:scrore
  
  
  
  
#### 7、Script经验分享与总结
# 选择合适的脚本
# 注意脚本性能问题
  
  
# scripting 脚本模块
# https://www.elastic.co/guide/en/elasticsearch/reference/8.6/modules-scripting.html
# lucene-expressions 语法参考
# https://www.elastic.co/guide/en/elasticsearch/reference/8.6/modules-scripting-expression.html
# lucene-expressions 官方参考
# https://lucene.apache.org/core/8_8_2/expressions/index.html?org/apache/lucene/expressions/js/package-summary.html
# painless 语言参考
# https://www.elastic.co/guide/en/elasticsearch/painless/8.6/index.html
# painless-execute-api 测试接囗
# https://www.elastic.co/guide/en/elasticsearch/painless/8.6/painless-execute-api.html
# search-template 查询模板
# https://www.elastic.co/guide/en/elasticsearch/reference/8.6/search-template.html
# Java 脚本插件
# https://www.elastic.co/guide/en/elasticsearch/reference/8.6/modules-scripting-engine.html
# script-apis 执行接口
# https://www.elastic.co/guide/en/elasticsearch/reference/8.6/script-apis.html
# mapping-fields 索引元数据参考
# https://www.elastic.co/guide/en/elasticsearch/reference/8.6/mapping-fields.html

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

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

相关文章

海思烧录工具HITool电视盒子刷机详解

HiTool是华为开发的一款用于海思芯片设备的刷机和调试工具&#xff0c;可对搭载海思芯片的机顶盒、智能电视等设备进行固件烧录、参数配置等操作。以下为你详细介绍&#xff1a; 功能用途 固件烧录&#xff1a;这是HiTool最主要的功能之一。它能够将下载好的适配固件文件烧录到…

软考中级-软件设计师 23种设计模式(内含详细解析)

23种设计模式 &#x1f3af; 创建型设计模式&#x1f4cc; 抽象工厂&#xff08;Abstract Factory&#xff09; 设计模式&#x1f4cc; 工厂方法&#xff08;Factory Method&#xff09;设计模式&#x1f4cc; 单例&#xff08;Singleton&#xff09;设计模式&#x1f4cc; 生成…

软考笔记5——软件工程基础知识

第五章节——软件工程基础知识 软件工程基础知识 第五章节——软件工程基础知识一、软件工程概述1. 计算机软件2. 软件工程基本原理3. 软件生命周期4. 软件过程 二、软件过程模型1. 瀑布模型2. 增量模型3. 演化模型&#xff08;原型模型、螺旋模型)4. 喷泉模型5. 基于构建的开发…

Git入门——常用指令汇总

以下是一份精心整理的 Git常用指令速查表&#xff0c;基本覆盖日常开发使用场景&#xff0c;建议收藏备用&#x1f447; &#x1f527; 环境配置 指令作用git config --global user.name "你的名字"设置全局用户名git config --global user.email "你的邮箱&qu…

常见中间件漏洞攻略-Jboss篇

一、CVE-2015-7501-Jboss JMXInvokerServlet 反序列化漏洞 第一步&#xff1a;开启靶场 第二步&#xff1a;访问该接口&#xff0c;发现直接下载&#xff0c;说明接⼝开放&#xff0c;此接⼝存在反序列化漏洞 http://47.103.81.25:8080/invoker/JMXInvokerServlet 第三步&…

播放本地视频-实现视频画廊功能

实现一个视频画廊&#xff0c;播放本地视频 可以切换不同视频的功能 文章目录 需求&#xff1a;场景实现方案遇到的坑播放器选择界面显示不全视频友好显示问题缓存 总结 需求&#xff1a; 实现一个视频画廊&#xff0c;播放本地视频 可以切换不同视频的功能 场景 图片画廊的…

从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.2.2文本生成逻辑:Top-k采样与温度控制

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 2.2.2 文本生成逻辑:Top-k采样与温度控制1. 文本生成的核心挑战与数学框架1.1 自回归生成的基本流程2. `Top-k`采样原理与工程实现2.1 数学定义与算法流程2.2 PyTorch实现优化3. 温度控制的数学本质与参…

01 相机标定与相机模型介绍

学完本文,您将了解不同相机模型分类、内参意义,及对应的应用代码模型 标定的意义 建模三维世界点投影到二维图像平面的过程。标定输出的是相机模型。 相机模型 相机模型可以解理解为投影模型 +

Stereolabs ZED Box Mini:机器人与自动化领域的人工智能视觉新选择

在人工智能视觉技术快速发展的今天&#xff0c;其应用场景正在持续拓宽&#xff0c;从智能安防到工业自动化&#xff0c;从机器人技术到智能交通&#xff0c;各领域都在积极探索如何利用这一先进技术。而 Stereolabs 推出的ZED Box Mini&#xff0c;正是一款专为满足这些多样化…

K8S学习之基础五十九:部署gitlab服务

部署gitlab docker pull gitlab/gitlab-ce:latest docker tag gitlab/gitlab-ce:latest 172.16.80.140/gitlab/gitlab-ce:latest docker push 172.16.80.140/gitlab/gitlab-ce:latest docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/…

多线程 --- 多线程编程

在写代码的时候&#xff0c;可以使用多进程进行并发编程&#xff08;在Java中&#xff0c;不太推荐&#xff0c;很多很多关于进程相关的API&#xff0c;在Java标准库中&#xff0c;都没有提供&#xff09;&#xff0c;也可以使用多线程进行并发编程&#xff08;系统提供了多线程…

vue中上传接口file表单提交二进制文件流

1.使用elementui上传组件 要做一个选择文件后&#xff0c;先不上传&#xff0c;等最后点击确定后&#xff0c;把file二进制流及附加参数一起提交上去。 首先使用elementui中的上传组件&#xff0c;设置auto-uploadfalse&#xff0c;也就是选择文件后不立刻上传。 <el-uplo…

C++ map容器总结

map基本概念 简介&#xff1a; map中所有元素都是pair pair中第一个元素为key&#xff08;键值&#xff09;&#xff0c;起到索引作用&#xff0c;第二个元素为value&#xff08;实值&#xff09; 所有元素都会根据元素的键值自动排序 本质&#xff1a; map/multimap属于关…

【Zookeeper搭建(跟练版)】Zookeeper分布式集群搭建

&#xff08;一&#xff09;克隆前的准备 1. 用 xftp 发送文件 2. 时间同步&#xff1a; sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 3. zookpeeper 安装 部署 呼应开头发送的压缩包&#xff0c;解压&#xff1a; cd ~ tar -zxvf zookeeper-3.4.6.tar.g…

Flutter项目之页面实现以及路由fluro

目录&#xff1a; 1、项目代码结构2、页面编写以及路由配置main.dart(入口文件)page_content.dartindex.dart&#xff08;首页&#xff09;application.dart&#xff08;启动加载类&#xff09;pubspec.yaml&#xff08;依赖配置文件&#xff09;login.dart&#xff08;登录页&…

记录Jmeter 利用BeanShell 脚本解析JSON字符串

下载org.json包(文档说明) #下载地址 https://www.json.org/ # github 地址 https://github.com/stleary/JSON-java # api 文档说明 https://resources.arcgis.com/en/help/arcobjects-java/api/arcobjects/com/esri/arcgis/server/json/JSONObject.htmlBeanShell脚本 import…

uniapp动态循环表单校验失败:初始值校验

问题现象 &#x1f4a5; 在实现动态增减的单价输入表单时&#xff08;基于uv-form组件&#xff09;&#xff0c;遇到以下诡异现象&#xff1a; <uv-input>的v-model绑定初始值为数字类型时&#xff0c;required规则失效 ❌数字类型与字符串类型校验表现不一致 &#x1…

UML 图六种箭头含义详解:泛化、实现、依赖、关联、聚合、组合

目录 一、泛化&#xff08;Generalization&#xff09; 概念 表示方法 二、实现&#xff08;Realization&#xff09; 概念 表示方法 三、依赖&#xff08;Dependency&#xff09; 概念 表示方法 四、关联&#xff08;Association&#xff09; 概念 表示方法 五、…

Android Logcat总结

文章目录 Android Logcat总结日志格式过滤日志正向过滤反向过滤正则过滤日志等级 Android Logcat总结 日志格式 用法&#xff1a; Log.e("TAG", "hello") Log.i("TAG", "hello") Log.d("TAG", "hello")依次为&…

Unity UGUI - 六大基础组件

目录 一、Canvas上 1. Canvas&#xff1a;复制渲染子UI控件 2. ✨Canvas Scaler✨&#xff1a;画布分辨率自适应 3. Graphics Raycaster&#xff1a;射线事件响应 4. ✨Rect Transform✨&#xff1a;UI位置锚点对齐 二、Event System上 5. Event System 6. Standalone …