9
回答
Magento搜索结果不准确,怎么办?

据说Magento的搜索结果本来不是很准确,但可以通过修改代码修补这方面的缺陷。而我司的商城网站的搜索结果很让我无语、抓狂!!! 

平台:Magento 

版本:Magento ver. 1.7.0.2 

主题:BUYSHOP - Premium Responsive Retina Magento theme 

后台System → Configuration → Catalog → Catalog Search的设置如下


搜索方式采取“Like

后台System Configuration Catalog Frontend面板中的Product Listing Sort by设置如下图,即产品默认排列方式

它还有下面这些排列方式

也有修改代码,文件目录app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php

此文件中的下面这段代码

其中的一行 “$likeCond = '(' . join(' OR ', $like) . ')';” 已改成“$likeCond = '(' . join(' AND ', $like) . ')';”,即把“OR”改成了“AND”

好了,到前台去搜索一下*-*,网址:www.elijahstore.com(我不是来打广告的,我是想让大伙们感受下:)

1.搜索“phone”,出来的结果还算令人满意,有几个手机保护套的也跑出来了,它的标题并没有包含“phone”这个关键词



2.再搜索品牌关键词“zopo”,这次搜索比较准确,zopo手机以及它的保护套都出来了,全部是这个品牌的产品(我木有收他们一分钱代言费哦:))


3.上面的搜索结果还算令人满意吧,但是,奇葩的事情来了~~~大家试试搜索“lenovo”,搜索结果让人无法直视(我正在吐血中)


出来的都是些什么东西呀,假发、纹身机、美容仪好不容易出来几个平板电脑、保护套,却没一个跟“lenovo”有关的!

上面的结果都是在All Categories条件下搜索的

4.如果我选择具体的分类呢?比如“Cell Phones”,请看图


在选定分类的情况下搜索出来的,大部分都是lenovo的产品,有手机、保护套,当然也有少数与lenovo无关的产品,这是可以容忍的,总的来说还算OK的,对比之前在All Categories条件下搜索,总算让人有点安慰。

相信大家都了解是什么问题了吧,这货怎么对lenovo这么不待见呢?!

这个问题一直都在,我也有一直网上搜索解决办法,无奈这方面的参考资料不多,试了几个都没有什么效果。比如下面的例子:

http://sjolzy.cn/The-Magento-Search-product-results-are-not-accurate.html

http://www.magento.la/thread-338-1-1.html

 

这奇葩的问题到底是什么原因造成的呢?跟属性设置有关吗?跟产品信息有关吗?

本人对Magento研究不深,还得多向大家学习,望各位高手出谋献策,救小弟于水深火热中!!!

谢谢!:)
举报
法子
发帖于5年前 9回/2K+阅
共有9个答案 最后回答: 5年前
属性设置的问题 , 回答来自专业的Magento爱好者。
--- 共有 6 条评论 ---
蟋蟀哥哥回复 @小甘童鞋 : 请把我的答案设置为最佳答案。thx 5年前 回复
法子回复 @蟋蟀哥哥 : 最后保留了一个name属性是设为可搜索的。我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你! 5年前 回复
蟋蟀哥哥回复 @小甘童鞋 : 产品名肯定是属性里能搜索的啊。你把不想加入搜索结果的,才关闭。 5年前 回复
法子回复 @蟋蟀哥哥 : 清了缓存,重新索引了,然后就什么也搜索不到了,嘿嘿,是要等一段时间吗 5年前 回复
蟋蟀哥哥回复 @小甘童鞋 : reindex 5年前 回复

终极解决办法来了!!!!!!!!

1.用默认安装的app\code\core\Mage\CatalogSearch覆盖现有的整个CatalogSearch文件夹

2.后台System  Configuration  Catalog  Frontend面板中的Product Listing Sort by设置为Best Value,后台System Configuration Catalog Catalog SearchSearch Type选择Fulltext

3.name以外,把所有属性的 Use in Quick SearchUse in Advanced Search 都关了

4.安装插件http://www.magentocommerce.com/magento-connect/searchanise-connector-add-on-2652.html 

5.清除缓存,重新索引

引用来自“hellogirl”的答案

把属性都设置为不能搜索!
最后保留了一个name属性是设为可搜索的。我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!  我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你! 

引用来自“吕秀才”的答案

http://www.magentocommerce.com/magento-connect/searchanise-connector-add-on-2652.html  这个免费插件也很不错,我测试过的,但就是需要建立索引,我第一次建立索引的时候,用的时间比较长,支持搜索自动补全!!!
你推荐的插件简直好爆天了!太感谢你啦!最后保留一个name属性为搜索的,然后再加上你推荐的插件,反反复复调试,终于成功了!!!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!我爱你!
顶部