Mysql FULLTEXT 索引

ALTER TABLE `sqltable` ADD FULLTEXT `name` (`name`), ADD FULLTEXT `full_tag` (`tag`);
ALTER TABLE `sqltable` ADD FULLTEXT(name, tag);

 

Thinkphp8查询写法

class Blog extends Model
{
    public static function matchSearch($field, $keyword)
    {
        return self::whereExp("MATCH({$field}) AGAINST(? IN NATURAL LANGUAGE MODE)", [$keyword])->select()
    }
}
// 调用
$data = Blog:matchSearch('name', '小明');

 

对比redis-search插件方式,SQL可以额外免维护方式比较方便。