-1

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

有什么办法可以加快速度,比如 5 秒。

请帮忙。

4

3 回答 3

2

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

微调搜索设置:

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

清理搜索查询也是一个好主意(例如,从花园家具到花园,如果家具是您网站的冗余术语,即如果您只销售家具并且您的所有产品都是家具,唯一重要的术语是“花园") 使用可用的目录搜索词和重定向选项。

Mysql微调:

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

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

索引技术:

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

覆盖搜索功能:

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

于 2013-06-21T11:42:44.160 回答
1

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

于 2013-07-24T12:48:35.020 回答
0

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

根据我的观点,EAV 模型风格会导致性能问题。Magento 在内置数据库中使用 EAV 属性。

于 2013-06-21T10:01:42.010 回答