如何加速magento搜索超过一万种产品的产品?

时间:2013-06-21 09:44:37

标签: php mysql magento

我正在制作一个拥有100,000多种产品的magento网站。在搜索列中搜索产品需要10秒以上。

有没有办法加快速度,比如5秒钟。

请帮忙。

3 个答案:

答案 0 :(得分:2)

Magento使用EAV因此查询非常全面,您可以通过微调搜索设置,mysql微调,索引技术来减少搜索功能所消耗的时间,最后您还可以覆盖搜索功能并重新考虑它您自己的优化搜索功能。

微调搜索设置:

导航至系统»目录»目录搜索»搜索 将搜索类型设置为全文,全文被认为是三个选项中最有效的。对于全文搜索,Magento使用MyISAM引擎中维护的单独索引,因为InnoDB引擎不支持全文索引。启用全文搜索后,应确保“目录搜索索引”索引是最新的。这可以通过系统»索引管理完成,然后单击“重新索引数据”对“目录搜索索引”。

同样最好清理搜索查询(例如,Garden Furniture to Garden,如果家具是您网站的冗余术语,即如果您只销售家具,所有产品都是家具,唯一重要的术语是“花园”)使用目录搜索术语和可用的重定向选项。

Mysql微调:

只是拥有高规格数据库服务器可能无法开箱即用,您可能需要调整一些设置以充分利用服务器的功能。

http://turnkeye.com/blog/magento-performance-optimize-mysql/

索引技术:

您可以使用Sphinx索引器它是一个非常可扩展的搜索服务器,并且有各种插件可以帮助您将其集成到magento中。我认为这可能非常有用,可能会产生很大的影响。

覆盖搜索功能:

然而,最好的方法是覆盖搜索功能并重写模型类并使用mySQL附带的全文搜索。

答案 1 :(得分:1)

您可以使用sphinx搜索服务器加快速度。 有关详细信息,请参阅http://en.wikipedia.org/wiki/Sphinx_%28search_engine%29;有关易于安装的magento扩展程序,请参阅https://github.com/fheyer/sphinxsearch

答案 2 :(得分:0)

Magento 1.7.2默认情况下内置了一个编译工具。首次配置Magento时,编译器将被禁用,并且您的文件尚未编译。编译工具允许您编译Magento 1.7.2安装中的所有文件以创建单个包含路径。这可以提高性能,并且在Magento开发团队进行的初始测试中,它可以将性能提高25%-50%。编译Magento 1.7.2安装文件是通过Magento管理面板完成的。 here

上的详细信息

根据我的观点,EAV模式风格会导致性能问题。 Magento在构建数据库时使用EAV属性。