我遇到麻煩,理解MySql中的MATCH。我在「關鍵字」字段中有一個帶有全文索引的表格。關鍵字以逗號分隔。與關鍵字匹配的MySQL查詢
我3行測試,與關鍵詞:準備,大鼠,小鼠
當我搜索不是「準備」或「鼠」,我得到了我想要的結果。但是,如果我搜索「鼠標」,我沒有結果。這是我使用的查詢:
SELECT *, MATCH(Keywords) AGAINST('mouse') AS Score
FROM fs_Files
WHERE MATCH(Keywords) AGAINST('mouse')
ORDER BY score DESC;
我也試過用「鼠標」後IN BOOLEAN MODE
,但它是同樣的結果。
編輯 在我使用單詞「鼠標」的數據庫項中,我實際上使用了「mus」這個詞(它是挪威語中的鼠標)。我發現如果我將它改爲'musebart'(只是讓這個詞變長),搜索就會發現它。只有3個字符,它可能太短了嗎? MySql是否忽略它(停用詞?),因爲它只包含3個字符?
再次編輯: 賓果,它必須至少有4個字符才能被搜索。否則,您必須更改它(如果您有權這樣做)鏈接:http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html。
感謝您的澄清。但是,如果我搜索「鼠標,鼠標」,並將其存儲爲「鼠標,鼠標」的關鍵字呢?也許我在這裏是一個瘋狂的軌道..也許我應該把關鍵字放在它自己的表中,並保留對另一個表中「文章」的ID的引用。嗯 –
找到了我的問題的答案,看看「再次編輯」部分。儘管我會給你答案。由於我的問題有點不清楚(你不可能瞭解我的實際問題)。雖然謝謝! –