出云伴月 2021-09-10 01:33 采纳率: 0%
浏览 48
已结题

elasticsearch上生产环境应该注意哪些呢。(JAVA)

系统有个比较常用查询实在太慢了,需要优化。
本来数据量也不大的,但是由于最开始表的设计问题,再加上需求问题,查询条件分散到了各个表中,并且还是左右like,join了20+张表,导致非常慢
自己想过的优化方式:
1.改需求,去掉一些查询条件,适当的增加一些数据冗余,不过这样不行,系统跑了两年,去掉查询条件不现实。
2.优化表,但是由于条件实在太分散了,增加的数据也挺多的,而且还涉及到工作流,工作流的节点也要冗余,这样并且觉得这样效率并不高,实现起来也很有难度,所以也排除。
3.改sql,里面的sql查询已经是很复杂了,都快看不懂了,再加上查询条件都是左右like通过关键字的形式去查找,也改不动!
4.通过使用第三方插件,像ES这种,在查询的时候转发到查询服务,这样就可以不用动以前的表,也不用在表里增加冗余数据。而且这个插件使用起来貌似也不难(看了一些demo,单单本地测试,用起来没问题)。
相对来说,这是最方便也是最稳妥的实现方式,但是考虑到环境不一样,到时候会不会出问题,我自己也是第一次使用es,然后有点担心,请教一下英雄好汉 ,哈哈,看看怎么说。
现在的应用环境:
bs架构,服务端三台服务器搞了个集群,nginx做转发,redis做缓存,mongo做文件服务器,数据库用的mysql。
springboot2.0.3 对应的es打算用5.0.0。
目前大概知道es,要做好日志跟data的数据路径修改,想来备份应该是不用的叭。
如果查询服务宕机,再转到以前的查询接口。
现在不知道es如果按照现在我了解的使用还会有哪些坑,请教一下啦~
谢谢~

  • 写回答

2条回答 默认 最新

  • 关注

    建议外键关联的字段建立索引。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月17日
  • 创建了问题 9月10日

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题