[英]Full Text Search MySQL
我知道如何使用“全文搜索MySQL”。 我想知道的是如何在文本中搜索单词。 例如:-我们在mysql中有以下三个记录,如下所示
1.)这是程序员的地方。
2.)人们前往旅游目的地。
3.)程序员出于编码目的访问此场所。
现在,当用户搜索“程序员的住所”时
以下应该是输出
它应该以任意顺序输出包含句子中所有单词的行
1.)这是程序员的地方 。
2.) 程序员 出于编码目的访问此场所 。
感谢您的帮助 。
MySQL具有MATCH..AGAINST用于全文搜索。 尝试以下方法
SELECT * FROM <table> WHERE MATCH(<column>) AGAINST('+place +for +programmers' IN BOOLEAN MODE)
+的基本含义是AND(您可以使用-表示OR)
https://dev.mysql.com/doc/refman/5.6/en/fulltext-boolean.html
在使用全文搜索之前,请对各列进行索引
ALTER TABLE <table> ADD FULLTEXT(column);
验证它是否已为全文
SELECT index_name, group_concat(column_name) as columns FROM information_Schema.STATISTICS WHERE table_schema = 'your_db_name' AND table_name = 'table_name' AND index_type = 'FULLTEXT' GROUP BY index_name;
然后使用以下SQL
SELECT * FROM <table> WHERE MATCH(<column>) AGAINST('+place +for +programmers' IN BOOLEAN MODE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.