0
有谁知道是否有任何方法排除在Magento中搜索某些字词?例如:假设我有一家销售帽子的商店,我想排除单词“帽子”被搜索,所以如果有人搜索“黑色帽子”,它只会返回“黑色”的结果,因为无论如何,所有的产品都是帽子,如果它在搜索字词中允许“帽子”,那么它会返回所有帽子。Magento - 排除搜索字词
任何想法?
有谁知道是否有任何方法排除在Magento中搜索某些字词?例如:假设我有一家销售帽子的商店,我想排除单词“帽子”被搜索,所以如果有人搜索“黑色帽子”,它只会返回“黑色”的结果,因为无论如何,所有的产品都是帽子,如果它在搜索字词中允许“帽子”,那么它会返回所有帽子。Magento - 排除搜索字词
任何想法?
鉴于您列出的情况,我不确定您是否真的需要这样做。 Magento使用like
或fulltext
作为可用的搜索选项(通过管理>系统>配置>目录>目录搜索进行设置),如果搜索查询是“黑帽子”,那么这两个都不会返回所有帽子。
如果您仍然觉得需要排除某些搜索词,您可以在本地代码池中扩展app/code/core/Mage/CatalogSearch/Model/Query.php
,并添加一种方法来删除任何不需要的搜索词。或者 - 这是我将采取的方法 - 创建一个带有观察者的小模块,以捕获controller_action_predispatch
事件。这可以让您在查询传递到ResultController.php
之前清理/修改查询参数,以删除任何应排除的搜索项。
我可以确认这两个Magento搜索选项都不能解决这个问题。喜欢和全文都会返回所有产品。您可以在http://twistedtime.com – a1anm
上输入“Pink Watches”来查看此问题:发现问题:http://www.magentocommerce.com/bug-tracking/issue?issue=10580 – a1anm
@ a1anm使用您的示例搜索查询“Pink Watches”实际上似乎非粉红色的Rakumi(IDEA)Watch仍包含“short_description”中的Pink作品,该作品通常会被搜索到。从“short_description”属性中删除“Pink”或将该属性设置为不可搜索(至少用于快速搜索)应该可以解决您的问题。 –