相关疑难解决方法(0)

Magento搜索"相关性"值始终为0

我注意到我似乎无法对默认搜索中的相关性进行排序.无论我是尝试ASC还是DESC,结果总是相同的,而且相关性很差.

经进一步调查,我发现addSearchFilter()方法Mage_CatalogSearch_Model_Resource_Fulltext_Collection:

/**
 * Add search query filter
 *
 * @param string $query
 * @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
 */
public function addSearchFilter($query)
{
    Mage::getSingleton('catalogsearch/fulltext')->prepareResult();

    $this->getSelect()->joinInner(
        array('search_result' => $this->getTable('catalogsearch/result')),
        $this->getConnection()->quoteInto(
            'search_result.product_id=e.entity_id AND search_result.query_id=?',
            $this->_getQuery()->getId()
        ),
        array('relevance' => 'relevance')
    );

    Zend_Debug::dump($this->getData());exit;

    return $this;
}
Run Code Online (Sandbox Code Playgroud)

我的数据转储结果显示结果很好,但"相关性"列始终为0.00000.我没有对目录搜索进行任何更改,这是Magento 1.6.0.

我也抛弃了实际的SQL:

SELECT `e`.*, `search_result`.`relevance` FROM `catalog_product_entity` AS `e` INNER JOIN `catalogsearch_result` AS `search_result` ON search_result.product_id=e.entity_id AND search_result.query_id='33'
Run Code Online (Sandbox Code Playgroud)

如果其他人有更多计算相关性的经验,我会非常感谢方向.

magento

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

magento ×1