ElasticSearch 使用groovy动态脚本性能低下
由于业务需要,我在ElasticSearch中使用了scriptScore,使用的是Groovy,里面动态从es中取到field的值再代入运算。现在发现这样的操作对CPU消耗非常大,我该怎么解决这个问题呢,我现在用的es版本是2.3.4
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
夜行侠老师视频教学:es问题汇总
http://www.itjoin.org/
1、如何防止索引被删除
2、搜索的精准性控制
3、解决搜索中英文数字混合
4、搜索中in查询
5、安装问题
6、es源码内部是如何做到插件化扩展
7、统计时展示不全
8、搜索条件过多,内容过长报错
9、索引某一字段内容太大
10、自动补全设计
11、es的分布式如何实现RPC底层
12、es的分片机制
13、head插件的使用
14、es分片和副本级的是原理
15、如何做到只更新部分数据
16、数组在index中如何制定
17、es搜索结果窗口太大
18、group by里如何
19、es底层新增和删除索引的全过程
20、es底层检索的全过
我用的是代码中动态写入的,也就是说每个请求都会编译一遍。脚本大概是这个样子的。 "param1 = 1.0;param1 = param1 + (doc['grade_id'].value==8?0.25:0); 我要怎么做才能提高效率呢?谢谢大侠~~~
你的脚本是代码中动态写入使用的, 还是提前写的脚本文件函数放在es的类似script目录里? 这两种有一个小差别是,每次请求的都动态编译groovy脚本呢,还是第一次请求时预编译好,以后都不再重复编译。
另外,建议你也试试function score。