2017-02-24 73 views
0

在Mysql全文搜索中,我在索引字段中搜索短語「it department」。但它會返回包含詞部門而不是「it部門」的結果。請指導我解決此問題。MySql:全文忽略代詞詞

以下是我使用的語法,

SELECT * FROM僱員WHERE匹配(內容)反對( 「IT部門」)

在此先感謝

+0

http://stackoverflow.com/questions/10931701/mysql-where -match-against – JustOnUnderMillions

+0

並在這裏閱讀https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html'帕特里克奧倫在2002年12月9日發佈'似乎在你的情況下兩個詞都是匹配的即匹配'it'並匹配'department',你必須解決這個問題。 – JustOnUnderMillions

+0

簡單的做'select *從僱員那裏的內容像'%it department%'',如果沒有得到它的修復 – JustOnUnderMillions

回答

0

MySQL全文索引使用常用英語單詞的列表。您最喜歡的單詞it已在排行榜上。阻止列表的目的是保持索引大小合理。

如果您使用的是MySQL版本5.7+和InnoDB,您可以創建自己的停止列表。

這解釋瞭如何。

https://dev.mysql.com/doc/refman/5.7/en/fulltext-stopwords.html

+0

感謝您的答案球員。這對我來說真的很有用。 – kumaranc

0

你應該使用 '喜歡' 或 '正則表達式',而不是

select * from employee where contents regexp'^it department$'; 

select * from employee where contents like 'it department';