2011-08-10 205 views
0

搜索Magento全文搜索引擎和類似的方法,它會將結果存儲在「data_index」字段中的catalogsearch_fulltext表中,它存儲的值格式爲 ,每個可搜索的屬性用|分隔。 如Magento無效搜索結果

3003 |啓用|無||產品名稱| 1.99 |黃色| 0

這裏存儲SKU,地位,納稅類別,產品名稱,價格,顏色等等等等 它存儲所有的搜索屬性值。

現在的問題是可配置的產品,它也將在同一塊存儲相關產品的名稱,價格,狀態像

3003 |啓用|啓用|啓用|啓用|無|無|無|無|產品名稱|產品名稱|相關產品名稱1 |相關產品名稱2 |相關產品名稱3 | 1.99 | 2.00 | 2.99 | 3.99 |黃色|黑色|黃色|綠色| 0 | 0 | 0 | 0

那麼,如果我從相關產品搜索任何單詞,它還會列出主要可配置產品,因爲它在「data_index」字段中包含該單詞。

需要一些建議如何避免相關產品被包含在data_index中,以便我可以有完美的搜索結果。

感謝

回答

0

,我們也在考慮我們的搜索,以及和它已經令人驚訝地看到包含在全文表中的低效率。我們也有一些可配置的產品,它們有很多變體,他們在全文搜索中的人口是非常可怕的。

至於解決方案,我只能提供我的方法來解決問題(未完成,而是在過程中)。

我正在擴展Magento以包含一個事件偵聽器來索引產品的過程(因爲目錄搜索索引是在全文本數據庫被填充的時候)。一旦這個過程發生,我正在編寫自己的模塊來刪除相關產品中的重複條目,並添加從CSV文件填充的添加其他搜索關鍵字術語的功能。

這應該會顯着提高搜索速度,並返回更多相關的搜索結果。因爲到目前爲止,可配置產品正在搜索結果中獲得「搜索偏好」。

這不像一個評論的答案,但它太長,不適合評論,但我認爲這可能對你有益。一旦我得到我的模塊工作,如果你願意,我可以給你指導如何你可以自己實現一個類似的模塊。

希望有幫助(如果只是爲了道德支持,在magento的搜索鬥爭中)