Mysql yii全文索引匹配查询
我想在yii框架中创建一个sql查询,如下所示:Mysql yii全文索引匹配查询,mysql,sql,yii,match,against,Mysql,Sql,Yii,Match,Against,我想在yii框架中创建一个sql查询,如下所示: mysql> SELECT id, body, MATCH (title,body) AGAINST -> ('Security implications of running MySQL as root') AS score -> FROM articles WHERE MATCH (title,body) AGAINST -> ('Security implications of running MySQL as ro
mysql> SELECT id, body, MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root') AS score
-> FROM articles WHERE MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root');
我尝试过这个,但不起作用:
$dataProvider = new CActiveDataProvider('data', array(
'criteria'=>array(
'condition' => 'MATCH (title,body) AGAINST ('Security implications of running MySQL as root') AS score',
WHERE MATCH (title,body) AGAINST ('Security implications of running MySQL as root')
'limit' => '20', ),
'pagination' => false
));
这是指SQL语句中的WHERE子句
因此,应该只有匹配(title,body)与('MySQL作为root运行的安全性影响')
这是指SQL语句中的SELECT子句
在这里,您可以将
id、body、MATCH(title、body)与('MySQL作为root运行的安全影响')作为分数进行比较
首先,您需要执行ALTER query for search列
ALTER TABLE item ADD FULLTEXT(title,description,location);
要搜索的查询
$query = \common\models\Item::find()
->where(['is_active'=>'1']);
$query->andWhere("MATCH(title,description,location) AGAINST
('$searchKeywords' IN BOOLEAN MODE)");
Try model()->findAllBySql(“查询”)