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

学网站建设的专业叫什么互联网广告销售

学网站建设的专业叫什么,互联网广告销售,小游戏推广接单平台,wordpress 仿煎蛋目录 Painless简介 Painless的用途 通过Painless脚本访问字段 案例1:script processor 案例2:查看views计数 案例3:保存脚本在Cluster State 案例4:在search中应用 脚本缓存 Inline scripts VS Stored Scripts Painless简介 自ES5.x之后,专门为ES设计,扩展了Java语法 6.…

目录

Painless简介

Painless的用途

通过Painless脚本访问字段

案例1:script processor

 案例2:查看views计数

案例3:保存脚本在Cluster State

 案例4:在search中应用

 脚本缓存

 Inline scripts VS  Stored Scripts


Painless简介

  • 自ES5.x之后,专门为ES设计,扩展了Java语法

  • 6.0开始,ES只支持PainLess

  • PainLess支持所有Java的数据类型及Java API子集

  • PainLess Script具备一下特性

    • 高性能 /安全

    • 支持显示类型或者动态定义类型

Painless的用途

  •  可以对文档字段进行加工处理
    • 更新或者删除字段,处理数据聚合操作
    • Script Field:对返回的字段提前计算
    • Function Score:对文档的算分进行处理
  • 在Ingest Pipeline中执行脚本
  • 在ReindexAPI,UpdateByQuery时,对数据进行处理

通过Painless脚本访问字段

上下文语法
ingestionctx.field_name
Updatectx.source.field_name
Search & Aggregationdoc["field_name"]

案例1:script processor

  • 通过simulate指定我们进行pipeline模拟测试,将painless 脚本当成processors中的一个环节,对我们的文档数据进行处理 在source:""" … “”"中定义我们的脚本
  • 具体的脚本逻辑:我们的数据的key中包含content 则计算他的长度,否则,他的长度为0
     

 POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "description": "to spilt blog tags",
    "processors": [
      {
        "split": {
          "field": "tags",
          "separator": ","
        }
      },
      {
        "script": {
          "source": """
          if(ctx.containsKey("content")){
            ctx.content_length = ctx.content.length();
          }else{
            ctx.content_length = 0;
          }
          
          """
        }
      },
      {
        "set": {
          "field": "views",
          "value": "0"
        }
      }
    ]
  },
   "docs": [
    {
      "_index": "index",
      "_id": "id",
      "_source": {
        "title": "Introducing big data......",
        "tags": "hadoop,elasticsearch,spark",
        "content": "You konw, for big data"
      }
    },
    {
      "_index": "index",
      "_id": "idxx",
      "_source": {
        "title": "Introducing cloud computering",
        "tags": "openstack,k8s",
        "content": "You konw, for cloud"
      }
    }
  ]
}

 

 案例2:查看views计数

#添加数据
PUT tech_blogs/_doc/1
{
  "title":"Introducing big data......",
  "tags":"hadoop,elasticsearch,spark",
  "content":"You konw, for big data",
  "views":0
}

#通过script更新文档
POST tech_blogs/_update/1
{
  "script": {
    "source":"ctx._source.views += params.new_views",
    "params": {
      "new_views":100
    }
  }
}

#通过script更新文档:根据文档id的_source中是否有views字段更新文档
POST tech_blogs/_update/1
{
  "script": {
      "source": """
        if(ctx._source.containsKey("view")){
          ctx._source.views += params.new_views;
        }else{
          ctx._source.views = 0;
          }
          
          """,
    "params": {
      "new_views":100
    }
  }
}

案例3:保存脚本在Cluster State

 #保存脚本在 Cluster State
POST _scripts/update_views
{
  "script": {
    "lang": "painless",
    "source": "ctx._source.views += params.new_views"
  }
}

#通过脚本id应用脚本
POST tech_blogs/_update/1
{
  "script": {
    "id": "update_views",
    "params": {
      "new_views": 1000
    }
  }
}

 案例4:在search中应用

#在search中更新views的值
GET tech_blogs/_search
{
  "script_fields": {
    "random_fields": {
      "script": {
        "lang": "painless",
        "source": """
        java.util.Random rnd = new Random();
        doc['views'].value + rnd.nextInt(1000);
        """
      }
    }
  },
  "query": {
    "match_all": {}
  }
}

 脚本缓存

  • 编译的开销相较⼤
  • Elasticsearch 会将脚本编译后缓存在Cache 中
  • Inline scripts 和 Stored Scripts 都会被缓存
  • 默认缓存 100 个脚本

 Inline scripts VS  Stored Scripts

  • 在线模式Inline脚本

POST tech_blogs/_update/1
{
  "script": {
    "source": "ctx._source.views += params.new_views",
    "params": {
      "new_views": 100
    }
  }
}

  • 将脚本保存在cluster state中:通过id使用 使用params 减少编译的条数

 
POST _scripts/update_views
{
  "script": {
    "lang": "painless",
    "source": "ctx._source.views += params.new_views"
  }
}
### 通过id使用 使用params 减少编译的条数
POST tech_blogs/_update/1
{
  "script": {
    "id": "update_views",
    "params": {
      "new_views": 1000
    }
  }

http://www.lbrq.cn/news/2715157.html

相关文章:

  • 公司网站怎么做能被别人搜索到企业网站推广的一般策略
  • 门户网站建设模式包括网站群和目前在哪个平台做推广好
  • 专业做网站的深圳企业网站制作公司
  • 西安营销型网站建设seo外包优化
  • 在线视频网站 一级做爰片安卓优化清理大师
  • php网站开发技术题目河南做网站的公司
  • 做网站怎么赚钱seo的定义
  • 哈尔滨网站建设nsstd.com免费网站制作成品
  • 做网站怎么兼容所有浏览器淘宝搜索关键词排名
  • 如何做旅游网站怎样做网络推广营销
  • 网线制作ppt夫唯seo培训
  • wordpress评论系统网站页面seo
  • 黄页网站大全免费网在线昆明做网站的公司
  • 做网站公司 陕西渭南百度电话号码查询平台
  • 外国人做的篆字网站女教师遭网课入侵直播录屏曝
  • 网站建设需要哪些职位培训网页
  • 网络系统的价值跟用户数量的关系关键词优化策略有哪些
  • 如何请人创建一个网站排名
  • 网站建设包含项目南宁网络推广外包
  • wordpress多站点无法访问网络营销相关工作岗位
  • 深圳做网站公司排名最新军事新闻最新消息
  • 商城网站建设二次开发网站推广的软件
  • 加强档案网站建设网站关键词快速排名优化
  • 品牌网站建设蔻大蝌蚪哪个平台可以免费推广
  • 网页设计与网站建设在线测试搜狗网页
  • 企业网站设计html百度下载安装到桌面上
  • 印刷网站建设北京seo代理计费
  • 西安搜建站科技网站站长工具名称查网站
  • 网站建设新闻 常识百度的营销推广
  • 新疆建设兵团卫计委网站专长考核什么是网络营销平台
  • 综合案例:Python 函数知识整合 — 学生成绩管理系统
  • 分布式系统架构设计模式:从微服务到云原生
  • Elasticsearch 中如何配置 RBAC 权限-实现安全的访问控制
  • MCP协议更新:从HTTP+SSE到Streamable HTTP,大模型通信的进化之路
  • 【物联网】基于树莓派的物联网开发【26】——树莓派开启串口并配置串口助手Minicom
  • C# WPF本地Deepseek部署