簡體   English   中英

Mysql匹配,反對沒有返回正確的結果

[英]Mysql match, against is not returning proper results

我正在嘗試這個查詢:

SELECT * FROM `table_name` WHERE MATCH(`field_name`)
AGAINST('+san +city' IN BOOLEAN MODE)

我想得到應該包含san city的所有記錄,但結果是不同的。 結果我得到所有包含“城市”的記錄,如“珍珠城,鹽湖城等”。 我做錯了什么。

嘗試在SELECT -part查詢中添加MATCH,以掌握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,則結果會有所不同。 這是一篇關於它的好文章

暫無
暫無

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

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