關(guān)于MySQL的FULLTEXT實現(xiàn)全文檢索需要注意的事項

對于英文,mysql的FULLTEXT屬性來實現(xiàn)全文檢索是相當方便且高效的,但是在使用過程中需要注意一些事項MySQL的FULLTEXT實現(xiàn)全文檢索的注意事項你知道多少嗎,其實這個東西小編測試過不支持中文了,不過既然用了還是有一些事項要注意了。

首先對我們對需要進行檢索的字段添加fulltext屬性(假設(shè)已經(jīng)建表):

alter?table?table_name?add?fulltext?index(filed_1,filed_2);

接下來查詢數(shù)據(jù):

?SELECT?*?FROM?table_name?WHERE?MATCH?(filed_1,filed_2)?AGAINST?('keyword');

此處涉及到一個很重要的注意事項:

MySQL規(guī)定全文搜索中被搜索的單詞所在的行數(shù)大于等于被搜索的所有行數(shù)的一半時候,就將被搜索單詞作為Common word,即不被顯示。(具體條件需要查閱資料確定)

因此,假設(shè)在測試的時候,表中只有一行數(shù)據(jù),所以無論怎么執(zhí)行上述查詢語句,返回的結(jié)果總是為空。不必驚慌,多加幾條沒有待查關(guān)鍵詞的數(shù)據(jù)就會有結(jié)果啦~

當然,MySQL提供了更加強大的查詢結(jié)果過濾:

?SELECT?*?FROM?table_name?WHERE?MATCH?(filed_1,filed_2)?AGAINST?('?keyword_1?-keyword_2'?IN?BOOLEAN?MODE);

這樣,就會返回包含keyword_1的數(shù)據(jù),而包含keyword_2的數(shù)據(jù)就會被過濾掉。

相關(guān)推薦:

mysql?全文檢索中文解決方法及實例代碼分享

mysql?全文檢索中文解決方法及實例代碼分享

mysql?全文檢索中文解決方法及實例代碼分享

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊7 分享