0
請告訴我在哪裏我錯了,這個查詢:MySQL的全文搜索:「證明」被「證明」,而不是「證明」
SELECT * FROM `pages` WHERE MATCH (abstrak) AGAINST ('+"prove"' IN BOOLEAN MODE)
沒有得到「證明」,當我想要的時候就會得到「證明」。
請告訴我在哪裏我錯了,這個查詢:MySQL的全文搜索:「證明」被「證明」,而不是「證明」
SELECT * FROM `pages` WHERE MATCH (abstrak) AGAINST ('+"prove"' IN BOOLEAN MODE)
沒有得到「證明」,當我想要的時候就會得到「證明」。
試試這個:
SELECT * FROM `pages` WHERE MATCH (abstrak) AGAINST ('prove*' IN BOOLEAN MODE)
這將匹配以prove
開始的所有單詞,包括proves
。
更多信息在:
http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html
必要的_matching_字(S)是在引號,因爲它可能是多個單詞。 – dewara 2012-02-26 10:26:03
'在雙引號(「」「)字符中包含的短語僅匹配包含短語的行,因爲它是鍵入的。全文引擎將短語拆分爲單詞並在FULLTEXT索引中執行搜索單詞不需要完全匹配:短語搜索只需要匹配包含與短語完全相同的單詞並且順序相同,例如,「測試短語」與「測試短語」匹配「 – 2012-02-26 10:30:30
是的,這就是我打算,如果訪客需要「證明」,我需要'證明'或'證明'訪客得到,但是如果他/她搜索'證明什麼',我只需要與'證明一無所有'的行匹配,而不是例如'證明什麼' 希望你明白,對不起我的英文。 – dewara 2012-02-26 10:47:11