php - 是否可以使用 Propel2 进行全文(匹配)查询?

标签 php mysql full-text-search propel

使用 Propel2 和 MySQL/InnoDB,我想对 VARCHAR 执行全文查询栏目titledirector table 的movies 。在普通 SQL 中,这将显示为

SELECT * FROM movies WHERE
    MATCH(title, director) AGAINST("big lebowski" IN NATURAL LANGUAGE MODE);

如何使用 Propel2 框架构建此查询?


有关在 schema.xml 中创建 FULLTEXT 索引的注意事项

我成功创建了FULLTEXT Propel2 索引 schema.xml文件包括:

<index name="fulltext">
  <index-column name="title"/>
  <index-column name="director"/>
  <vendor type="mysql">
    <parameter name="Index_type" value="FULLTEXT"/>
  </vendor>
</index>

所缺少的只是查询。 :) 有什么想法吗?

最佳答案

您可以使用以下代码:

$movies = MovieQuery::create()
    -> where('MATCH(Movie.title, Movie.director) AGAINST(? IN BOOLEAN MODE)',
             'big lebowski')
    -> find();

请参阅Propel documentation .

关于php - 是否可以使用 Propel2 进行全文(匹配)查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28921023/

相关文章:

mysql - SQL 计算具有多个Where 可能性的表中的不同值

php - MySQLi 全文搜索多列类别

php - 使用 PHP 从文件夹中获取图片名称 - 然后在其中查找数字,然后分别将每个数字插入 MySQL 表中

mysql - ActiveRecord3 死锁重试

MySQL查询需要优化

mongodb - Mongoose 中权重的全文搜索

mysql - 修改mysql 5.6 innodb表中FTS的订单类型

php - MySQL 计数匹配行数总是返回 1

php - wordpress 中的国家和州列表

php - 我试图显示数据库中的数据