最近有一个关于ES的排序问题,想问下大佬们:

目前我的排序是用es的painless的自定义排序去做的,但是我在脚本return的时候加了一个double类型的数,接口性能从平均500ms,慢到了1s~2s,非常奇怪,想问问大佬们有没有什么解决方案

操作前的脚本:

double total = doc['score1'].value;
long m=params.m
total /= Math.log(m);
total+=doc['score2'].value;
return Math.rint(total*10000)/10000;

操作后的脚本

double total = doc['score1'].value;
long m=params.m
total /= Math.log(m);
total+=doc['score2'].value+doc['score3'].value;
#这里就多了一个score3 是double类型的,score1也是double, score2是long
return Math.rint(total*10000)/10000;

查了很多也没有发现是哪里的问题,球球各位大佬帮忙分析下

关于ES自定义script painless的问题相关推荐

  1. ES中script脚本的使用

    一.script脚本的作用 通过使用脚本,可以在 Elasticsearch 计算自定义表达式.例如,可以使用脚本作为字段返回计算值,或者计算查询的自定义得分. 小结: 1.字段的提取 2.表达式计算 ...

  2. ES自定义评分机制:function_score查询详解

    一.function_score介绍 主要用于让用户自定义查询相关性得分,实现精细化控制评分的目的. 在ES的常规查询中,只有参与了匹配查询的字段才会参与记录的相关性得分score的计算.但很多时候我 ...

  3. java中定义score方法_elasticsearch 自定义 script score JavaAPI查询详解

    一:自定义score的应用场景 先打个比方,比如新产品上架了,我想让最新上架的产品搜索时候,排在前面,怎么办呢?很简单按时间排序.嗯这种方法很好实现. 但下面又有个需求,比如我要求排序中上架时间的比重 ...

  4. 【elasticsearch】 Regexes are disabled. Set [script.painless.regex.enabled] to [true]

    本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 文章目录 1.场景1 1.1 概述 1.场景1 1.1 概述 本问题是做这个的时候出现的:[Elasti ...

  5. ES自定义Analyzer扩展IK分词

    IPS产品关键词搜索需求要对英文标题.品牌(英文).规格属性(英文).产品型号.描述属性.商品特征.关键搜索词等字段进行模糊匹配搜索 前期由于拿不到数据也不清楚具体数据是什么样的,并且线上集群也没有安 ...

  6. 谷粒商城ES自定义词库(十八)

    具体的IK分词可以查看博客:https://www.cnblogs.com/dalianpai/p/12694298.html 122.全文检索-ElasticSearch-分词-分词&安装i ...

  7. es自定义拼音分词器处理中文拼音排序问题

    1.先上结论,如下mapping可以解决es拼音排序问题 {"settings": {"number_of_shards": "3",&qu ...

  8. es自定义分词器对数字分词

    背景:就是一个搜索框,可以输入产品名称.产品code.产品拼音.产品缩写等内容来查询. 问题:就是像产品code这种,比如00034,分词完还是00034,直接查询00是查不到的. 一开始的方案一,就 ...

  9. es自定义分词器和分词规则

    1.analysis 和 analyzer analysis是指把全文本转换成一系列单词(term/token)的过程,也叫分词. analysis是通过分词器analyzer来实现的 2.分词 St ...

最新文章

  1. IDEA 及 Gradle 使用总结
  2. 谷歌chrome浏览器的源码分析(四)
  3. 望城——民营经济的“旺城”
  4. 【原】[webkit移动开发笔记]之如何去除android上a标签产生的边框
  5. vs最好的版本_Win10 环境下,LightGBM GPU 版本的安装
  6. 从VC++到GCC移植:谈两者的语法差异
  7. redis 管理工具_Redis桌面管理工具Redis Desktop Manager 2019.2发布
  8. 20-linux下ElasticSearch.6.2.2集群安装与head、Kibana、X-Pack..插件的配置安装
  9. Jenkins打卡Day19-Jenkins重启关闭服务
  10. 入侵感知系列之弱口令检测思路
  11. vlc linux静态版本,vlc 在ubuntu 14下的linux版本编译
  12. poj -- 1042 Gone Fishing(枚举+贪心)
  13. angular 和 backbone 区别
  14. EF架构~看看下面这代码,你还敢用它的延时加载吗?
  15. 地铁服务器的系统,地铁综合监控系统
  16. 【python学习】python实现利用pygame绘画基本图形、显示图片,实现图形图片随机效果。python绘制行列图片
  17. ajax有哪些回调函数
  18. java syn包_TCP攻击之SYN攻击
  19. glassfish 配置 mysql_GlassFish MySql连接池配置 | 学步园
  20. Couch的MapReduce查询

热门文章

  1. solr中英文分词模糊查询
  2. HTTP概念协议报文结构请求响应数据报分析
  3. Vss、Vdd和Vcc
  4. 10大APP界面框架设计模式详解
  5. Portainer -- Docker可视化管理工具的安装配置及使用
  6. Educational Codeforces Round 121 (Rated for Div. 2) unr场 A B C
  7. 为什么要上机械制造业ERP系统?对企业有什么帮助?
  8. 英语学习网站超级大全
  9. springboot邮件发送 端口587/465不同配置
  10. 【替代XShell】WindTerm 工具 【免费】【开源】