社区
其他数据库
帖子详情
如何用Java实现Elasticsearch脚本排序
sky我的世界
2020-10-25 05:31:03
如下图所示的查询语句,用Java如何实现呀 我百度了官网也没看到如何实现,我用的是ES6.5.3 跪求
...全文
1121
2
打赏
收藏
如何用Java实现Elasticsearch脚本排序
如下图所示的查询语句,用Java如何实现呀 我百度了官网也没看到如何实现,我用的是ES6.5.3 跪求
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sky我的世界
2020-10-26
打赏
举报
回复
1
解决了 参考: 通过脚本排序 数据内容: "_source": { "userid": 123, "city": [ 102 ], "expection2": [ 2496 ], "sex": 1, "age": 31, "cate_score": [ "580:0.9", "581:0.5", "593:0.2", "706:0.1", "606:0.65" ], "lmodtime": 1459347878, } } 1 2 根据业务方传入的类型数据去cate_score字段里面去找,如果找到对应的类型那么根据返回的类型数据进行排序。比如传入580那么所有的数据按照cate_score中580的数据分值数据去排序 String scriptCode="脚本内容"; System.out.println(scriptCode); Map<String, Object> params = new HashMap<>(); params.put("cate", 606); Script script = new Script(ScriptType.INLINE,"painless",scriptCode,params); SortBuilder sortBuilder = SortBuilders.scriptSort(script, ScriptSortBuilder.ScriptSortType.NUMBER); sortBuilder.order(SortOrder.DESC); SearchSourceBuilder sb = new SearchSourceBuilder(); sb.sort(sortBuilder); System.out.println(sb.toString()); SearchResponse search = client.search(new SearchRequest(new String[] { "supin_index_test" }, sb)); SearchHit[] hits = search.getHits().getHits(); for (SearchHit hit : hits) { System.out.println(hit.getSourceAsMap()); } painless脚本: int size = doc['cate_score.keyword'].length; double score = -0.1; int targetCate = params.cate; for (int i = 0; i < size; i++) { def path = doc['cate_score.keyword'][i]; int flag = path.lastIndexOf(':'); double get_score = Double.parseDouble(path.substring(flag + 1)); int get_cate = Integer.parseInt(path.substring(0, flag)); if (get_cate == targetCate) { score = get_score; break; } } return score
sky我的世界
2020-10-26
打赏
举报
回复
急求大佬解答!!!
elasticsearch
Java
代码
实现
创建索引,删除索引,更新索引,模糊搜索,模糊全文搜索,精确查找
sort-script:
elasticsearch
排序
脚本
排序
脚本
SortScript是
ElasticSearch
的本机插件,用于
实现
自定义排名算法。
elasticsearch
离线
JAVA
API文档下载
elasticsearch
离线
JAVA
API文档下载
java
如何调用
Elasticsearch
(连接、查询、分页、
排序
、统计、模糊匹配、精准匹配、文字高亮)源码
java
如何调用
Elasticsearch
(连接、查询、分页、
排序
、统计、模糊匹配、精准匹配、文字高亮)源码
ElasticSearch
Java
中文文档 5.6
这个也是楼主在网上,找了很久很久找到的。。。感觉真心不错,所有分享给大家。在这里要非常感谢整理的这位作者。。
其他数据库
2,209
社区成员
9,519
社区内容
发帖
与我相关
我的任务
其他数据库
其他数据库开发 其他数据库
复制链接
扫一扫
分享
社区描述
其他数据库开发 其他数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章