我正在制作一个拥有100,000多种产品的magento网站。在搜索列中搜索产品需要10秒以上。
有没有办法加快速度,比如5秒钟。
请帮忙。
答案 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属性。