Symfony2 and Match Against, table InnoDB



我在用symfony2实现Match Against时遇到了一个问题,但多亏了stackoverflow,我几乎解决了这个问题:MATCH ACTION脚本不适用于Symfony2

我照Picoss说的做了,但现在我有另一个问题:

SQLSTATE[HY000]:一般错误:1214所用的表类型没有支持FULLTEXT索引

在谷歌上搜索了一下,我想原因是InnoDB表类型,但我不知道如何在Symfony2中更改它(我必须在fosuserbundle实体生成的表上搜索一些东西。第二个解决方案可以是升级我的mysql版本(我实际上在5.1.66-0版本上,但不确定它是否能解决问题)。

你还有其他想法吗?

感谢

您可以在@ORM/Table定义中添加引擎选项:

公告:

<?php
namespace MyBundleEntity;
use DoctrineORMMapping as ORM;
/**
 * MyEntity
 *
 * @ORMTable(name="my_entity", options={"engine"="MyISAM"})
 * @ORMEntity(repositoryClass="MyBundleEntityRepositoryMyEntityRepository")
 */
class MyEntity
{
    //...
}

希望这能帮助

有一种方法可以用条令做到这一点:

/**
 * @ORMTable(name="your_table_name", indexes={@ORMIndex(name="escape", columns={"name"}, flags={"fulltext"})})
 * @ORMEntity(repositoryClass="...YourRepository")
 */
class YourEntity extends SomeClass {
}

最新更新