Magento的搜索产品默认结果集是按查询的词去分词了再OR查询(具体按Catalog Search设置的查询模式)。 比如搜索“magento 产品”这词的话,结果是可能包括“magento”或者包括“产品”的结果集。 如果想要查询的结果是精准的,既准确的搜索结果为“magento 产品”,可以改下 app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php 这文件(自己重写到local域) 在prepareResult函数里,找到"$likeCond = '';" 下面的IF语句,整个注释掉,再在下面添加
$likeCond = '`s`.`data_index` LIKE :likew'; 就可以了。 具体大概看下图:
P,这个修改是在Magento 1.7.0.2测试,其他版本搜索结果不准确 改法差不多一样。 (责任编辑:好模板) |