簡體   English   中英

MySQL布爾全文搜索

[英]MySQL Boolean Full-Text Searches

我目前正在為我的網站使用布爾全文搜索。 但是,此方法將忽略少於2個字符的單詞。

例:

標題:iphone 4最后出售

$raw_results = mysqli_query($conn,"SELECT * FROM memberpost WHERE MATCH(title) AGAINST('4' IN BOOLEAN MODE )") or die("no result found");

如果我在搜索框中輸入:“ 4”,則不會返回任何結果。

哪怕只有1個字符,我該如何使其正常工作?

謝謝

通過添加到my.ini文件中的[mysqld]來解決,重新啟動mysql服務。

innodb_ft_min_token_size = 1
innodb_ft_enable_stopword = OFF
ft_min_word_len = 1
ft_stopword_file = ''

然后運行此查詢來修復表:

ALTER TABLE table_name FORCE;

控制它的變量是ft_min_word_len在此處記錄 您將其設置為1,並且可能還會覆蓋停用詞列表。

注意三件事。 重置后,您需要重建索引。 其次,如果您已經處理了兩個字符的單詞,則該值已更改為默認值。 第三,還有一個停用詞列表,該列表也將術語從索引中過濾掉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM