2011-11-21 25 views
1

在修复大量的错误后,我最近将我的magento从1.4升级到了1.6.1,但仍然有一个问题。当我搜索多个单词时,目录搜索将返回许多结果。 如 “三星2100” 它会搜索所有三星OR 2100magento中的多字搜索1.6

我曾尝试编辑

-app /代码/核心/法师/ CatalogSearch /型号/ Mysql4/Fulltext.php(什么也没做,即使不破坏后)

-app /代码/本地/法师/ CatalogSearch /型号/ Mysql4/Fulltext.php(甚至没有损坏后)什么也没做

-app /代码/核心/法师/ CatalogSearch /型号/ Resource/Fulltext.php(做了些什么)

http://www.magentocommerce.com/boards/viewthread/233799/#t360244

+0

如果你要显示你的代码“做了什么”(Fulltext.php),那么可能会有所帮助,所以我们知道你尝试了什么。 –

+0

第345行...它没有这个选项?
prepareTerms($ queryText,$ query-> getMaxQueryWords()); – 2012-03-23 08:07:51

回答

3

到这个文件:

/app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php

在线路345改变或 - >及

删除现有的搜索条件。刷新缓存....应该像一个魅力

看看这里.... Dholo.com

尝试使用多字搜索......它只返回其中有两个方面的产品/

1

我在Magento的默认搜索中发现的一件事情是,它在“加权重要字段”中可能会更智能一些。 对于我们来说,我们发现很多搜索查询都包含品牌名称。例如。 '耐克跑鞋'。 我们还发现很多搜索短语与我们设置的类别有关。例如。 '跑步鞋'

我所做的是编写了一段代码,它将从搜索查询中提取品牌名称和类别,并将它们用作产品ID的筛选器,将Fulltext.php保存到结果表格中。

你想上面提到的PHP文件从

/app/oode/core/Mage/CatalogSearch/Model/Resource/Fulltext.php 移动到 /应用/代码/本地/法师/ CatalogSearch /型号/资源/ Fulltext.php

我所做的是什么把我的代码调整为:

https://gist.github.com/jaseclamp/10083937

在我们的情况的代码只是这一点点大大提高了精度我们的搜索结果。上面的代码似乎也没有与Magento在synonmys和重定向等方面做的任何冲突。下面的页面会说“搜索原始搜索结果的结果”,即使我们在实际的MySQL查询使其更有效。它将几微秒添加到搜索处理中,但是一旦结果被缓存,后续搜索将会很快。

如果你想看看我的代码调整的MySQL用于插入搜索结果到结果表只是把:

echo "<pre>"; print_r($sql); die; 

的“$适配器 - >查询”以前在函数结束。