明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

對(duì)于MySQL的FULLTEXT完成全文檢索需要注意的事項(xiàng)

[摘要]對(duì)于英文,MySQL的FULLTEXT屬性來(lái)實(shí)現(xiàn)全文檢索是相當(dāng)方便且高效的,但是在使用過(guò)程中需要注意一些事項(xiàng)MySQL的FULLTEXT實(shí)現(xiàn)全文檢索的注意事項(xiàng)你知道多少嗎,其實(shí)這個(gè)東西小編測(cè)試過(guò)不支...

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

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

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

接下來(lái)查詢(xún)數(shù)據(jù):

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

此處涉及到一個(gè)很重要的注意事項(xiàng):

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

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

當(dāng)然,MySQL提供了更加強(qiáng)大的查詢(xún)結(jié)果過(guò)濾:

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

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

相關(guān)推薦:

mysql 全文檢索中文解決方法及實(shí)例代碼分享

PHP+MYSQL實(shí)現(xiàn)全文檢索及全文檢索工具

SQL Server全文檢索簡(jiǎn)介_(kāi)PHP教程

以上就是關(guān)于MySQL的FULLTEXT實(shí)現(xiàn)全文檢索需要注意的事項(xiàng)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。