首先对我们对需要进行检索的字段添加fulltext属性(假设已经建表):
alter table table_name add fulltext index(filed_1,filed_2);
接下来查询数据:
select * from table_name where match (filed_1,filed_2) against ('keyword');
此处涉及到一个很重要的注意事项:
mysql规定全文搜索中被搜索的单词所在的行数大于等于被搜索的所有行数的一半时候,就将被搜索单词作为common word,即不被显示。(具体条件需要查阅资料确定)
因此,假设在测试的时候,表中只有一行数据,所以无论怎么执行上述查询语句,返回的结果总是为空。不必惊慌,多加几条没有待查关键词的数据就会有结果啦~
当然,mysql提供了更加强大的查询结果过滤:
select * from table_name where match (filed_1,filed_2) against (' keyword_1 -keyword_2' in boolean mode);
这样,就会返回包含keyword_1的数据,而包含keyword_2的数据就会被过滤掉。
相关推荐:
mysql 全文检索中文解决方法及实例代码分享
php+mysql实现全文检索及全文检索工具
sql server全文检索简介_php教程
以上就是关于mysql的fulltext实现全文检索需要注意的事项的详细内容。