我被要求蒐集一個我們的數據庫。正在搜索SQL Server
條件是用戶鍵入到搜索框中,然後SQL需要分割搜索中的所有單詞並在多個字段(可能是2或3)中搜索它們中的每一個,然後需要對結果進行加權例如,出現所有單詞的結果將成爲最高結果,如果只出現1個單詞,則它將被加權得更低。
例如,如果你搜索「這是一個演示後」
結果將被排在這樣
Rank Field1 Field2
1: "This is a demo post" ""
2: "demo post" ""
3: "demo" "post"
4: "post" ""
希望這是某種形式的意義,它的實物基礎谷歌一樣的搜索。
無論如何,我可以想到做到這一點非常混亂。
任何建議將是偉大的。
您可能需要考慮按照TitleRanks.Rank進行排序,這是隱含列(範圍從0到100),表示每行與搜索條件匹配的程度。 – JonoW
抱歉應該是TitleRanks.Rank DESC(100是最相關的,至少0) – JonoW