2012-01-10 110 views
8

我有一个问题,我迫切需要您的帮助。我在Magento版本。 1.6.1.0,每当我在magento上搜索一个像“宝宝的可爱鞋子”这样的句子时,结果并不准确,但是当我只搜索“cute”或“shoes”这样的单词时,它会给出结果。magento搜索问题

我有一种感觉,magento无法搜索一个句子,但它能够搜索带有单词的产品。有什么我可以做的,以更好地优化在magento搜索?

+0

Magento的搜索不做词组匹配。您可以使用SQL Like匹配,通过对查询中的每个单词遍历来搜索%word%,然后应用AND/OR逻辑(AND会给出最佳结果,因为每个单词必须与结果匹配),或者应该给出更好的全文结果比它。 – 2012-01-10 18:04:00

回答

4

搜索选项可以在系统>目录>目录搜索的后端找到,您可能将搜索类型设置为LIKE。使用FULLTEXT模式可能会获得更好的结果。

+0

当通过MySql my.cnf设置正确设置时,使用FULLTEXT模式可能会获得更好的结果... – 2012-01-10 17:48:05

+0

我将其更改为组合LIKE和FULLTEXT。对我来说工作得很好。 – PiTheNumber 2012-09-25 08:21:25

0

股票Magento搜索需要一些调整才能使其功能。 Like搜索在1.5/1.6中从AND逻辑改变为OR逻辑,并在返回到AND逻辑时给出更好的结果。这已经在Magento网站上的Magento论坛的几个主题中得到了解决。另一个解决办法是将复数形式的复本切掉,这也是在那里写的。

削减trailin“s”的原因是大多数人不会搜索“油压表”,而是“油压表”,当您销售“0-100 psi油压力计”。还将以“ies”结尾的所有项目都别名为它们的单数。你几乎不会销售“rc飞机电池”,它会像“1200aH飞机电池”那样具体,所以你不那么聪明的客户的搜索从来不匹配。

“宝贝的可爱鞋子”永远不会注册一个命中,除非它显示在用来填充全文搜索索引的项目中。谁卖出一件名为“宝贝可爱的鞋子”的东西?我通常将这些类型的搜索同义为命中列出项目的特定类别。一些顾客的搜索过于主观,不符合产品搜索的客观性(实际项目与模糊的想法)。

2

我得到了我的问题,通过这个链接解决 - https://stackoverflow.com/questions/1953715/magento-search-not-returning-expected-results

我去了这条线在应用程序/代码/核心/法师/ CatalogSearch /型号/资源/ Fulltext.php

,这样做,(以下)

拷贝应用程序/代码/核心/法师/ CatalogSearch /型号/ Mysql4/Fulltext.php到APP /代码/本地/法师/ CatalogSearch /型号/ Mysql4/Fulltext.php

线341 - 343应用/code/local/Mage/CatalogSearch/Model/Mysql4/Fulltext.php

if($ like){likeCond ='('。加入('OR',$ like)。 ')'; } 变化成

如果($等){$ = likeCond '(' 加入( 'AND',$等)。 ')'; }

+1

仅供参考,您不应该修改Magento内核...根据需要使用重写文件的模块进行扩展。 – Storsey 2014-01-23 15:26:14

1

此外请确保更改显示结果的顺序。默认Magento是向后服务。

将以下内容添加到/ app/design/frontend/default/default/layout/catalogsearch。XML

<reference name="search_result_list"> 
    <action method="setDefaultDirection"><string>asc</string></action> 
    <action method="setDefaultOrder"><string>relevance</string></action> 
</reference> 

以下之间:

<catalogsearch_result_index translate="label"> 
    ... 
</catalogsearch_result_index> 
4

Magento的不搜索输入的字符串作为一个完整的句子。相反,它会将搜索字符串分割(标记)为单词,并搜索包含任何这些单词的产品(实现“或”逻辑)。因此,如果您搜索“红色鞋子”,它会找到包含“红色”字样或包含“鞋子”字样的所有内容。显然它在大多数情况下并不是很有用,因为它会产生很多完全不相关的结果。

您可以检查这个免费的分机以细化您的搜索:Catalog Search Refinement FREE。这个扩展名修改了搜索行为,以便仅查找具有所有关键字的产品(换句话说就是“AND”逻辑)。这会找到只有“红色”和“鞋子”关键字的产品。另外还有Advanced Search version of that extension,它还根据语音距离以及加权搜索属性查找类似的词,从而可以泡出最相关的产品。