我正在使用Magento 1.5.1而且突然之间,搜索结果停止了返回。我在http://www.optimiseblog.co.uk/magento-catalog-search-broken-not-working/找到了一个对我有用的修复程序。
真正的踢球者是在不超过2或3天后,该解决方案停止工作,现在没有返回任何结果。我搜索了每个可能与远程相关的Google搜索结果,但没有发现其他任何可以解决此问题的结果。
我的产品已启用,可见性设置为搜索或编目/搜索产品,我已刷新缓存并重新编制索引多次。我真的可以使用一些帮助。提前谢谢。
答案 0 :(得分:5)
bleacherbum17(OP)已经自我回答了这个问题。
引用:
实际上,我想我只是想通了。我发誓我曾尝试过这个 之前,但这次它奏效了。我所要做的就是去索引 管理然后刷新任何需要它,然后选择全部 - >重建。 之后,转到缓存管理 - >选择全部 - >刷新。然后冲洗 两个缓存。出于某种原因,这有效。
我认为这与此有关 实际上刷新所有索引和缓存,无论他们是否 状态表明它是否需要。我现在甚至有索引禁用 我正在构建网站,但选择所有并刷新它们, 然后清空缓存工作。
注意:这绝对是OK to self-answer你自己的问题。请将其作为真实答案发布,但在问题或评论中不。发布真实答案有助于使“未答复”列表更加清晰(避免让其他人浪费时间)。谢谢。
答案 1 :(得分:3)
我在Magento 1.8.1上的搜索问题上没有返回任何产品,并通过设置' is_anchor'来解决它。在默认类别(ID 2)上为true,然后重新编制类别产品索引。
在幕后,查询返回的搜索结果数量大致如下:
SELECT COUNT(DISTINCT e.entity_id) FROM `catalog_product_flat_1` AS `e`
INNER JOIN `catalogsearch_result` AS `search_result`
ON search_result.product_id=e.entity_id
AND search_result.query_id='11'
INNER JOIN `catalog_category_product_index` AS `cat_index`
ON cat_index.product_id=e.entity_id
AND cat_index.store_id='1'
AND cat_index.visibility IN(3, 4)
AND cat_index.category_id = '2';
这是在catalog_category_product_index上的连接,其中category_id = 2阻止了结果。该类别未包括在索引中。
使类别成为锚点并重新索引修复了问题。
答案 2 :(得分:0)
当存在缓存的搜索字词时,也会发生这种情况。如果清除缓存和重建/刷新索引不起作用,请尝试删除搜索条件。如果您依赖搜索字词来返回搜索结果,则会破坏该功能,但如果您不这样做,那么就可以了。
我在构建自定义索引和使用SOLR时多次遇到此问题,其中Magento仍在缓存搜索结果,无论它应该还是不应该。我构建了一个客户索引器,以便对搜索术语进行精细控制,并为通用全文搜索提供显着的性能提升。