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

中网可信网站是真的吗seo新手入门教程

中网可信网站是真的吗,seo新手入门教程,智能产品设计案例,新建网站需要多少钱脚本查询 概念 Scripting是Elasticsearch支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能,ES支持多种脚本语言,如painless,其语法类似于Java,也有注释、关键字、类型、变量、函数等,其就要相对于其他脚本高出几倍的性…

脚本查询

  1. 概念

    Scripting是Elasticsearch支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能,ES支持多种脚本语言,如painless,其语法类似于Java,也有注释、关键字、类型、变量、函数等,其就要相对于其他脚本高出几倍的性能,并且安全可靠,可以用于内联和存储脚本。

  2. 支持的语言

    1. groovy:ES 1.4.x-5.0的默认脚本语言

    2. painless:JavaEE使用java语言开发,.Net使用C#/F#语言开发,Flutter使用Dart语言开发,同样,ES 5.0+版本后的Scripting使用的语言默认就是painless,painless是一种专门用于Elasticsearch的简单,用于内联和存储脚本,是ES 5.0+的默认脚本语言,类似于Java,也有注释、关键字、类型、变量、函数等,是一种安全的脚本语言。并且是Elasticsearch的默认脚本语言。

    3. 其他

      expression:每个文档的开销较低:表达式的作用更多,可以非常快速地执行,甚至比编写native脚本还要快,支持javascript语法的子集:单个表达式。缺点:只能访问数字,布尔值,日期和geo_point字段,存储的字段不可用

      mustache:提供模板参数化查询

  3. 特点

    1. 语法简单,学习成本低
    2. 灵活度高,可编程能力强
    3. 性能相较于其他脚本语言很高
    4. 安全性好
    5. 独立语言,虽然易学但仍需单独学习
    6. 相较于DSL性能低
    7. 不适用于复杂的业务场景
  4. 应用场景:各种复杂的应用场景,如自定义评分、自定义聚合查询等。

  5. 正则:

    早先某些版本正则表达式默认情况下处于禁用模式,因为它绕过了painless的针对长时间运行和占用内存脚本的保护机制。而且有深度对战行为。如果需要开启正则,需要配置:script.painless.regex.enabled: true

    注意:通常正则的使用范围比较小,应用范围基本限制在数据量比较小和并发量比较小的应用场景下。

  6. doc[‘field’].value和params[‘_source’][‘field’]:

    理解之间的区别是很重要的,doc[‘field’].value和params[‘_source’][‘field’]。首先,使用doc关键字,将导致该字段的条件被加载到内存(缓存),这将导致更快的执行,但更多的内存消耗。此外,doc[…]符号只允许简单类型(不能返回一个复杂类型(JSON对象或者nested类型)),只有在非分析或单个词条的基础上有意义。但是,doc如果可能,使用仍然是从文档访问值的推荐方式,因为_source每次使用时都必须加载并解析。使用_source非常缓慢

脚本查询-实战教程

1、对索引中的数据进行修改

价格减一
POST product/_update/2
{"script": {"source": "ctx._source.price-=1"}
}小米10出了新款 新增了tag 叫做“无线充电”
POST product/_update/6
{"script": {"lang": "painless","source": "ctx._source.tags.add('无线充电')"}
}

2、将文档从一个索引复制到另一个索引。它允许用户将数据从一个索引重新索引到另一个索引

POST _reindex
{"source": {"index": "product"},"dest": {"index": "product2"}
}

3、删除索引中的数据
执行delete操作

POST product/_update/10
{"script": {"lang": "painless","source": "ctx.op='delete'"}
}

4、upsert有则更新否则插入

POST product/_update/19
{"script": {"lang": "painless","source": "ctx._source.price += 100"},"upsert": {"name" : "小米手机10","desc" : "充电贼快掉电更快,超级无敌望远镜,高刷电竞屏","price" : 1999}
}

5、参数化操作索引数据

POST product/_update/6
{"script": {"lang": "painless","source": "ctx._source.tags.add(params.tag_name)","params": {"tag_name":"无线秒充"}}
}

6、对索引数据进行多次操作

GET product/_search
{"script_fields": {"price": {"script": {"lang": "painless","source": "doc['price'].value"}},"discount_price": {"script": {"lang": "painless","source": "[doc['price'].value* params.discount_8,doc['price'].value* params.discount_7,doc['price'].value* params.discount_6,doc['price'].value* params.discount_5]","params": {"discount_8": 0.8,"discount_7": 0.7,"discount_6": 0.6,"discount_5": 0.5}}}}
}

7、模板脚本

#创建脚本模板
POST _scripts/calculate_discount
{"script": {"lang": "painless","source": "doc.price.value * params.discount"}
}
#查看
GET _scripts/calculate_discount
#使用模板进行数据运算
GET product/_search
{"script_fields": {"price": {"script": {"lang": "painless","source": "doc['price'].value"}},"discount_fields": {"script": {"id": "calculate_discount","params": {"discount":0.8}}}}
}

8、函数式编程

#Scripting的函数式编程
GET product/_search
GET product/_doc/1
POST product/_update/1
{"script": {"lang": "painless","source": "ctx._source.tags.add(params.tag_name)","params": {"tag_name":"无线秒充"}}
}POST product/_update/1
{"script": {"lang": "painless","source": """ctx._source.tags.add(params.tag_name);ctx._source.price-=100;""","params": {"tag_name":"无线秒充1"}}
}

9、正则表达式

#正则like %小米% /[\s\S]*小米[\s\S]*/
POST product/_update/4
{"script": {"lang": "painless","source": """if(ctx._source.name ==~ /[\s\S]*小米[\s\S]*/) {ctx._source.name+="***|"}else{ctx.op="noop"}"""}
}
#/\d{4}-\d{2}-\d{2}[\s\S]*/
GET product/_doc/1
POST product/_update/1
{"script": {"lang": "painless","source": """if(ctx._source.createtime ==~ /\d{4}-\d{2}-\d{2}[\s\S]*/) {ctx._source.name+="|***"}else{ctx.op="noop"}"""}
}

10、聚合查询一起使用

GET product/_search
#统计所有价格小于1000的商品的tag的数量 不考虑重复的情况
GET product/_mapping
GET product/_search
{"query": {"constant_score": {"filter": {"range": {"price": {"lte": 1000}}}}},"aggs": {"tag_agg": {"sum": {"script": {"lang": "painless","source": """int total = 0;for(int i = 0; i <doc['tags.keyword'].length; i++){total++;}return total;"""}}}}
}

在这里插入图片描述

http://www.dinnco.com/news/15083.html

相关文章:

  • 运城可以做网站的公司seo优化设计
  • 党建网站建设方案广东公司搜索seo哪家强
  • 南昌网站建设服务真实有效谷歌seo网站建设
  • 长图制作网站免费软文推广平台
  • wordpress文章导出衡水seo优化
  • 怎么做网站公众号互联网广告优化
  • 扁平化网站设计方案站长工具seo综合查询广告
  • 哪里可以捡到玉石seo营销培训咨询
  • 购买网站域名空间seo业务培训
  • 帝国新闻网站模板seo资料站
  • 网站建设万首先金手指12googleseo优化
  • 全国建设厅网站整合营销理论
  • 如何查看网站是哪家公司做的800元做小程序网站
  • 连云港做网站制作首选公司网络推广赚钱平台有哪些
  • 有前景的长沙企业网站建设网络营销的优势是什么
  • 蓝色网站建设关键词推广
  • 丹东淘宝做网站百度联盟项目看广告挣钱
  • 如何做网站测试seo顾问公司
  • 学习做网站济南seo外贸网站建设
  • 济南网站制作平台泰安网站seo
  • 计算机做网站毕业论文重庆seo网站收录优化
  • 轻量云做网站怎么样今日头条官网首页
  • 免费教做面食的网站网站如何发布
  • 哪些网站可以做爬虫实验网站排名查询alexa
  • seo网站推广电话爱站关键词挖掘查询工具
  • wordpress 整站源码清博大数据舆情监测平台
  • 武汉做网站的故事式软文范例500字
  • 网站建设费用计入哪个科目种子搜索
  • 深圳网站建设 卓互联网广告投放代理公司
  • 普陀网站建设推广资源网