2015-12-14 30 views
0

我在使用Magento管理產品搜索時遇到了一些麻煩!基本上我需要以下內容:修改Magento搜索以匹配任何關鍵字

如果產品名稱爲「Microsoft無線鼠標和鍵盤」,並且用戶鍵入管理產品屏幕「無線鍵盤」,則我希望該產品出現。目前,除非我按照出現的順序(例如「無線鼠標」)鍵入兩個單詞,否則我不會收到搜索結果。

我曾嘗試將Magento Catalog設置設置爲Like,Fulltext和Combine,並且所有結果都完全相同。在更改每個結果後,我已清除緩存和重新編制索引,並且它們不影響搜索的工作方式。

我正在運行Magento 1.9.2並運行VES Superstore主題。

任何關於哪個文件的建議我可以重寫並更改MySql查詢以執行我所需的操作?

感謝

回答

0

/app/code/core/Mage/Adminhtml/etc/config.xml你會發現定義的車型爲全球管理搜索。

如果您通過控制器/app/code/core/Mage/Adminhtml/controllers/IndexController.php方法globalSearchAction,您會發現Magento讀取配置並在其上應用搜索併合並整個結果。

既然你正在尋找具體的產品被搜查地方,它位於/app/code/core/Mage/Adminhtml/Model/Search/Catalog.php

和查詢如下:

$collection = Mage::helper('catalogsearch')->getQuery()->getSearchCollection() 
    ->addAttributeToSelect('name') 
    ->addAttributeToSelect('description') 
    ->addSearchFilter($this->getQuery()) 
    ->setCurPage($this->getStart()) 
    ->setPageSize($this->getLimit()) 
    ->load(); 
+0

嗨,謝謝你。爲了得到我需要的結果,我將改變什麼? – Shaun

+0

您可以查看集合正在構建爲查詢,http://magento.stackexchange.com/questions/9464/display-a-sql-query-being-generated然後從那裏您可以進行編輯 – Rabea

+0

真的很抱歉,請你稍微詳細解釋一下,我仍然正在處理Magento系統。 – Shaun