magento 1.6中的多字搜索

时间:2011-11-21 12:17:21

标签: magento

我最近将我的magento从1.4升级到1.6.1,修复了很多错误后我还有一个问题。当我搜索多个单词时,目录搜索将返回许多结果。 例如“samsung 2100”它将搜索三星OR 2100上的所有内容。

我尝试过编辑

-app / code / core / Mage / CatalogSearch / Model / Mysql4 / Fulltext.php(在腐败之后什么都没做)

-app / code / local / Mage / CatalogSearch / Model / Mysql4 / Fulltext.php(在腐败之后什么都没做)

-app / code / core / Mage / CatalogSearch / Model / Resource / Fulltext.php(做了些什么)

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

2 个答案:

答案 0 :(得分:3)

转到此文件:

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

第345行中的

改变OR - >和

删除现有搜索字词。刷新缓存......应该像魅力一样工作

在这里查看.... Dholo.com

尝试使用多字搜索...它只返回同时具有条件/

的产品

答案 1 :(得分:1)

我在Magento的默认搜索中找到的一件事是,它可以在“加权重要字段”方面更聪明一点 对我们来说,我们发现很多搜索查询都包含了品牌名称。例如。 '耐克跑鞋'。 我们还发现很多搜索短语与我们设置的类别有某种关联。例如。 '跑鞋'

我所做的是编写了一大块代码,用于从搜索查询中提取品牌名称和类别,并将其用作Fulltext.php保存到结果表中的产品ID的过滤器。

你想从

移动上面提到的php文件

/app/oode/core/Mage/CatalogSearch/Model/Resource/Fulltext.php 至 /app/code/local/Mage/CatalogSearch/Model/Resource/Fulltext.php

我所做的是将我的代码调整到:

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

在我们的情况下,这一点代码大大提高了搜索结果的准确性。上面的代码似乎也没有与Magento在synonmys和重定向等方面所做的任何事情相冲突。另外,下面的页面会说“搜索结果为'原始搜索短语'”,即使我们在此期间修改了搜索短语实际的MySQL查询使其更有效。它为处理搜索添加了几微秒,但是一旦结果被缓存,后续搜索就会很快。

如果你想看看我的代码如何调整用于将搜索结果插入结果表的MySQL,只需输入:

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

在函数末尾的“$ adapter-&gt;查询”之前。

相关问题