我對你所有的SQL主控者有一個非常有趣的問題。根據字段的聯合權重排序結果
大家都知道,任何基於電子商務的購物車的主要要求之一是一個很好的搜索。
幾天後,我瞭解了MySQL全文搜索,我必須說它很安靜有趣。
我想在搜索查詢中領先一步,並且需要爲字段提供權重。這些權重將允許對搜索結果進行排序。
例如:在產品表
productid
name
description
price
「名」和「說明」字段我有以下字段是全文索引。
對於任何搜索關鍵字,查詢都應該查看兩個字段:名稱,說明。但名稱字段應該比描述字段有更多的權重。如果你還沒有很好地理解我的問題,那麼下面的例子應該有所幫助。
productid name description price
1 nice keyboard this is a nice nice keyboard 10
2 nice nice keyboard this is a nice nice keyboard 10
3 keyboard this is a nice keyboard 10
當檢索關鍵詞是 '好',並且 '名稱' 字段具有權重:10,和 '描述' 字段已權重:1
爲產品編號:1,漂亮的被發現1(一次)在名稱中,2(兩次)的描述。所以組合權重爲(1 * 10 + 2 * 1 = 10 + 2 = 12)
對於productid:2,在名稱中找到2(兩次),在描述中找到2(兩次)。所以結合權重爲(2 * 10 + 2 * 1 = 20 + 2 = 22)
對於productid:3,在名稱中發現0(無),在描述中發現1(一次)。所以結合權重爲(0 * 10 + 1 * 1 = 0 + 1 = 1)
2個問題
(1)如何可以提供權重到特定場?我是否需要再次創建全文索引以提供權重?
(2)我需要查詢,它可以在desc中輸出結果。聯合權重的順序。