我在搜索框輸入問題,怎麼在數據庫匹配符合的內容,就比如說CSDN的問題搜索,這裡需要什麼算法呢?
首先你需要分詞算法,這個算是核心算法了,
比如你輸入“怎麼在數據庫匹配符合的內容”
你需要對用戶的輸入進行分詞, 比如分成“怎麼” “怎麼在”“數據”“數據庫”“匹配”“符合”“內容”,分成一系列的關鍵詞,然後關鍵詞有優先級,比如“數據”“數據庫”的優先級比較高,“匹配”“符合”“內容”的優先級中等,“怎麼” “怎麼在”的優先級比較低
優先級高的關鍵詞要優先匹配
你還需要對數據庫保存的貼子的內容進行分詞,數據庫中保存帖子的url,還需要保存其內容對應的關鍵詞,
比如是你提的這個問題的帖子,這個網頁,在數據庫中除了保存這個頁面的url之外,比如關鍵詞還出現了"數據庫",還出現了“autocomplete”還出現了“ajax”,等等,然後用關鍵詞去匹配,
也就是說有有人搜數據庫,可能會出現這個帖子,有人搜autocomplete,也會出現這個帖子