MySQL的FULLTEXT實現全文檢索索引的注意事項

來源:互聯網
上載者:User

對於英文,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的資料就會被過濾掉

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.