我想這個查詢:Mysql的比賽,對沒有返回正確的結果
SELECT * FROM `table_name` WHERE MATCH(`field_name`)
AGAINST('+san +city' IN BOOLEAN MODE)
我想應該包含SAN城市的所有記錄,但結果是不同的。結果得到所有包含「珠江城,鹽湖城等」的「城市」記錄。 我做錯了什麼。
我想這個查詢:Mysql的比賽,對沒有返回正確的結果
SELECT * FROM `table_name` WHERE MATCH(`field_name`)
AGAINST('+san +city' IN BOOLEAN MODE)
我想應該包含SAN城市的所有記錄,但結果是不同的。結果得到所有包含「珠江城,鹽湖城等」的「城市」記錄。 我做錯了什麼。
嘗試在SELECT
-part查詢的加入比賽獲得關於MySQL如何在這裏工作一握:
SELECT *, MATCH(field_name) AGAINST('+san +city' IN BOOLEAN MODE)
FROM table_name
WHERE MATCH(field_name) AGAINST('+san +city' IN BOOLEAN MODE)
你會看到在此列的優先級。
請記住,你的結果,如果你正在使用MyISAM和MySQL的< 5.6或InnoDB和MySQL的=> 5.6不同。關於它的Here's a good article。
那麼它是一個全文檢索,這就是爲什麼它顯示了所有城市的結果。如果只想搜索「聖城」結果,爲什麼不使用like子句? – Neo 2013-04-10 06:45:33