1、es版本用的是5.1由于需要使用es的script的inline功能,需要修改es yml的配置文件,增加如下配置使其支持inline

script.inline: on

script.stored: on

script.file: on

script.engine.groovy.inline.aggs: on

增加完成上述配置需要重启es 注:不同的es版本配置不同

2、java代码

# 定义传入script的参数

Map params = new HashMap<>();

Map map=new HashMap();

map.put('1','a');

map.put('2','b');

parans.put('m',map);

# 定义script字符串

String script="id = doc[id].value;return m[id+'']";

# 定义script 注意不同的es版本参数顺序不一样

Script script = new Script(ScriptType.INLINE,"groovy",script , params);

# 定义ScriptSortBuilder

ScriptSortBuilder builder = new ScriptSortBuilder(script, sortType).order(sortOrder);

# 设置由spring创建 这里不详细说明了

private Client client;

client.prepareSearch()

...

.addSort(builder)

...

完成!

本人初学es的小白,有啥问题多多交流哦

es修改排序_java 如何实现ElasticSearch自定义排序相关推荐

  1. java 怎么自定义排序_Java如何实现List自定义排序

    Java如何实现List自定义排序,自定义,即为,详细内容,相关文章,更多关于 Java如何实现List自定义排序 易采站长站,站长之家为您整理了Java如何实现List自定义排序的相关内容. 实体类 ...

  2. java面试排序都考哪几种排序_java算法面试题:排序都有哪几种方法?

    一.冒泡排序 [java] view plain copy package sort.bubble; import java.util.Random; /** * 依次比较相邻的两个数,将小数放在前面 ...

  3. java给xyz大小排序_java递归实现string xyz排序

    先用上面的一张图说明逻辑,这就是递归的逻辑. xy排序就相当于在x的空位插上y,x只有两个空位,y插前面得带yx,y插后面得到xy xyz排序就相当于在xy排序的所有结果插上z,结果如图 代码实现如下 ...

  4. java 链接重排序_JAVA中JVM的重排序详细介绍

    重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段.重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境 在并发程序中,程序员会特别关注不同进程或 ...

  5. arraylist从大到小排序_java基础算法之二叉树排序(递归)

    一.二叉树介绍 在计算机科学中,二叉树是每个结点最多有两个子树的树结构.二叉树由各种节点组成,如下图所示: 每个节点都可以有左子节点,右子节点 每一个节点都有一个值 二叉树遍历: 二叉树的遍历分左序, ...

  6. java 鸡尾酒排序_Java实现几种常见排序方法

    日常操作中常见的排序方法有:冒泡排序.快速排序.选择排序.插入排序.希尔排序,甚至还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.归并排序等. 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一 ...

  7. java数组元素的排序_java学习之数组元素排序,冒泡排序和选择排序

    java学习之数组元素排序 选择排序 *返回值类型 void *参数列表 int[] arr * 分析:选择排序 * 第一次arr[0]与arr[1-4]比较,总共比较4次 * 第二次arr[1]与a ...

  8. java8 treemap 排序_Java中TreeMap按照KEY排序实现讲解

    TreeMap 是一个有序的key-value集合,它是通过红黑树实现的,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法.继承于A ...

  9. java 姓排序_Java中先按照姓名排序在按照年龄排序 代码

    package cn.Home; import java.util.Arrays; import java.util.Comparator; import org.junit.Test; public ...

最新文章

  1. 十分钟带你入门最具Python风格的Gui库
  2. SAP HUM事务代码 HUMAT 之初探
  3. 订阅号助手App发布 手机也能管理公众号了
  4. Three.js中使用材质覆盖属性
  5. 设计模式学习笔记--解释器模式
  6. 【C语言】构建一个校园交通查询系统程序。能够规划出任意出发地和目的地之间的最短路径。...
  7. 一张图看懂VnTrader的数据流
  8. ActiveMQ - spring集成jms
  9. 关于vue自定义事件中,传递参数的一点理解
  10. 傅里叶光学导论_激光位移传感器的光学系统设计
  11. 阿里巴巴早期发展简史
  12. 密码学基础知识(一)
  13. Office EXCEL如何批量把以文本形式存储的数字转换为数字
  14. Rockstar Games遭黑客攻击,《侠盗猎车手6》90个开发视频外泄
  15. 1万元左右理财方法有那些
  16. linux设备驱动七(时间、延迟及延缓操作)
  17. 计算机四级等级考试必备知识点总结
  18. Debug-PC之开山老祖[转]
  19. 数据结构精录总结Episode.6 数据结构入门之树(基于Visual C++)
  20. 不会聊天,怎么可能找到女朋友?

热门文章

  1. Linux之因BASH造成的键盘错误和环境问题
  2. logstash 自动重新加载配置
  3. JQuery用户名无刷新验证
  4. BZOJ2498 : Xavier is Learning to Count
  5. Percona Cluster集群讲解
  6. 【100】新学年的学习安排
  7. 遇java.lang.OutOfMemoryError: PermGen space之解决方案
  8. Redis常见面试题总结
  9. 喝不起奶茶,咱就为奶茶店开发个会员积分收银系统
  10. spark-submit参数说明--on YARN