繁体   English   中英

全文搜索MySQL

[英]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

  1. 在使用全文搜索之前,请对各列进行索引

     ALTER TABLE <table> ADD FULLTEXT(column); 
  2. 验证它是否已为全文

     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; 
  3. 然后使用以下SQL

     SELECT * FROM <table> WHERE MATCH(<column>) AGAINST('+place +for +programmers' IN BOOLEAN MODE) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM