[英]mysql FULLTEXT search multiple words
我从来没有真正听到过关于这个的直接答案,我只需要 FULLTEXT 搜索带有多个单词“Firstname Lastname”的几列
$sql = mysql_query("SELECT * FROM
patient_db
WHERE MATCH ( Name, id_number )
AGAINST ('% $term %' IN BOOLEAN MODE);");
但如果我在此处输入多个单词,它将无法运行查询。
$sql = mysql_query("SELECT * FROM
patient_db WHERE
MATCH ( Name, id_number )
AGAINST ('+first_word +second_word +third_word' IN BOOLEAN MODE);");
如果您想进行精确搜索:
$sql = mysql_query("SELECT *
FROM patient_db
WHERE MATCH ( Name, id_number )
AGAINST ('"exact phrase"' IN BOOLEAN MODE);");
SELECT *
FROM patient_db
WHERE MATCH ( Name, id_number )
AGAINST ("Firstname Lastname" IN BOOLEAN MODE);
双引号很重要。 这从字面上查找短语“Firstname Lastname”。 您不需要百分号。
如果您查找“Firstname blahblahblah Lastname blahblah”,则AGAINST()
子句必须如下所示:
AGAINST ('+Firstname +Lastname' IN BOOLEAN MODE);
查看全文搜索中的 MySQL 文档以获取更多信息。
另一件事:为什么你的比赛中有id_number
列?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.