對於英文,MySQL的FULLTEXT屬性來實現全文檢索是相當方便且高效的,但是在使用過程中需要注意一些事項MySQL的FULLTEXT實現全文檢索的注意事項你知道多少嗎,其實這個東西小編測試過不支援中文了,不過既然用了還是有一些事項要注意了。
首先對我們對需要進行檢索的欄位新增FULLTEXT屬性(假設已經建表):
alter table table_name add fulltext index(filed_1,filed_2);
接下來查詢資料:
SELECT * FROM table_name WHERE MATCH (filed_1,filed_2) AGAINST ('keyword');
這裡涉及到一個很重要的注意事項:
MySQL規定全文搜尋中被搜尋的單字所在的行數大於等於被搜尋的所有行數的一半時候,就將被搜尋單字當作Common word,也就是不被顯示。 (具體條件需要查閱資料確定)
因此,假設在測試的時候,表中只有一行數據,所以無論怎麼執行上述查詢語句,返回的結果總是為空。不必驚慌,多加幾個沒有待查關鍵字的資料就會有結果啦~
當然,MySQL提供了更強大的查詢結果過濾:
SELECT * FROM table_name WHERE MATCH (filed_1,filed_2) AGAINST (' keyword_1 -keyword_2' IN BOOLEAN MODE);
這樣,就會回傳包含keyword_1的數據,而包含keyword_2的數據就會被過濾掉。
相關推薦:
以上是關於MySQL的FULLTEXT實作全文檢索需要注意的事項的詳細內容。更多資訊請關注PHP中文網其他相關文章!