我正在創建一個使用php和mySQL的在線FAQ類型系統。以下SQL用於根據用戶輸入的內容$term
來查找相關問題。mySQL全文學習
當用戶搜索某些內容並點擊相關問題以顯示答案時,他們有機會根據搜索到的內容對給出的問題進行評分。
SQL的第一部分從實際問題表中獲取相關問題ID。第二部分着眼於收視表,並試圖匹配人們以前搜索的內容以查找相關的問題ID。
這些結果的聯合然後用於獲取存儲在數據庫中的實際問題標題。
(SELECT id_question,
MATCH(question, tags) AGAINST ('%$term%') as rank
FROM question
WHERE MATCH(question, tags) AGAINST ('%$term%')
AND category = '$category')
UNION
(SELECT id_question,
MATCH(customer_search_query) AGAINST ('%$term%') as rank
FROM rating
WHERE MATCH(customer_search_query) AGAINST ('%$term%')
AND (customer_rating = 1))
ORDER BY rank DESC LIMIT 5;");
我遇到的問題是系統沒有真正學習正確。例如,如果我鍵入「三個用戶」,系統將在問題表中找到一個匹配項。
如果我輸入「3個用戶」,系統將在問題表中找到一個匹配項(基於關鍵字「users」)。如果我點擊「是,這回答了我的問題」,它會在評分表中存儲「3個用戶」,並將其與「三個用戶」的問題相關聯。
問題是「3」只與「三個用戶」關聯。有沒有辦法將本例中的數字3與單詞「three」的每個實例相關聯。
意味着你要給出替換舊字(三級)的所有實例字(3)。我對嗎? – diEcho