對(duì)于MySQL的FULLTEXT完成全文檢索需要注意的事項(xiàng)
發(fā)表時(shí)間:2023-07-23 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]對(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í)。