首页 / SOLR / Solr与MySQL的自动完成性能
Solr与MySQL的自动完成性能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Solr与MySQL的自动完成性能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1570字,纯文字阅读大概需要3分钟。
内容图文
![Solr与MySQL的自动完成性能](/upload/InfoBanner/zyjiaocheng/901/fe0e8a309edf4f1ab2edffb77e2287ba.jpg)
在我们的一个应用程序中,我们需要保存一些简单的表格数据,我们需要能够在其中一个列上执行用户端自动完成.
我们提出的初始解决方案是将MySQL与Solr连接起来实现这一目标(MySQL保存数据,Solr只保留标记化列并返回id作为结果).但最近发生了一些不愉快的事情(开发人员开始在Solr中存储一些数据,因为MySQL表及其上所做的操作不是Solr无法提供的),我们认为也许我们可以将它们合并在一起并消除其中的一个.
所以我们不得不:(1)将所有数据移到Solr(2)使用MySQL进行自动完成
(1)听起来很糟糕,所以我给了它一个镜头(2),我开始将这个单列的数据加载到MySQL,禁用MySQL和Solr上的所有缓存,编写了一个能够执行非常类似查询的小型webapp [1 ]在两个数据库上,并在本地和类似环境中针对这两种情况启动了一些JMeter方案.结果显示Solr有2.5-3.5倍的优势,但是,我认为结果可能完全错误且容易出错.
那么,你会建议什么:
>我认为你需要正确地对这两个系统进行基准测试
为JVM提供类似[MySQL]的环境.
>设计这个系统.
感谢任何线索.
[1] SELECT列FROM表WHERE列LIKE’USER-INPUT%’在MySQL和列上:“USER-INPUT”在Solr上.
解决方法:
我最近移动了一个网站,从数据库(postgres)获取数据到获取Solr的所有数据.速度令人难以置信的差异.我们还有澳大利亚郊区的自动完成(大约15K)并且它在几毫秒内找到它们,所以ajax自动完成(我们使用jQuery)几乎立即做出反应.
所有更新都是针对原始数据库完成的,但我们的站点是一个主要读取的站点.我们使用触发器在记录更新时触发事件,并将重新索引生成到记录的Solr中.
另一个很大的速度提升是预渲染数据所需的数据 – 即我们对数据进行非规范化并在Solr索引时预先计算大量内容,因此渲染对于网络人员而言非常快速.
另一个优点是,如果由于某种原因需要使数据库脱机,我们可以将我们的站点置于只读模式 – 我们只是回到Solr.至少该网站没有完全失效.
我建议尽可能使用Solr,以提高速度和可扩展性.
内容总结
以上是互联网集市为您收集整理的Solr与MySQL的自动完成性能全部内容,希望文章能够帮你解决Solr与MySQL的自动完成性能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。