我知道Doctrine 2不支持FULLTEXT索引。我实际上使用了一个结果集Map和原生查询来FULLTEXT搜索innodb表(MySQL 5.6)。但我仍然需要将一个或多个实体字段标记为索引的一部分。有没有什么方法可以使用注解添加索引?似乎@Index注解没有指定类型.
@Index
isr3a4wc1#
根据Doctrine的问题跟踪中的DDC-3014,使用注解指定全文索引的可能性已于4月14日实现,并将在2.5版中提供。如果你不喜欢等待,你可以尝试使用不稳定的开发版本,或者使用the commit实现该功能。下面是一个用法示例:
/** * @Entity * @Table(indexes={@Index(columns={"content"}, flags={"fulltext"})}) */ class Comment { /** * @Column(type="text") */ private $content; ... }
xurqigkl2#
下面是一个如何使用yamlMap驱动程序创建全文索引的示例。
Doctrine\Tests\ORM\Mapping\Comment: type: entity fields: content: type: text indexes: xy_fulltext: columns: ["name", "content", "keywords"] flags: fulltext
k97glaaz3#
从Doctrine 2.9开始使用PHP 8属性:
<?php #[ORM\Index(columns: ['name'], name: 'name_idx', flags: ['fulltext'])] #[ORM\Entity(repositoryClass: ItemRepository::class)] class Item { #[ORM\Column(type: Types::TEXT)] private string $name; }
来源:https://www.doctrine-project.org/projects/doctrine-orm/en/2.16/reference/attributes-reference.html#attrref_index
3条答案
按热度按时间isr3a4wc1#
根据Doctrine的问题跟踪中的DDC-3014,使用注解指定全文索引的可能性已于4月14日实现,并将在2.5版中提供。如果你不喜欢等待,你可以尝试使用不稳定的开发版本,或者使用the commit实现该功能。
下面是一个用法示例:
xurqigkl2#
下面是一个如何使用yamlMap驱动程序创建全文索引的示例。
k97glaaz3#
从Doctrine 2.9开始使用PHP 8属性:
来源:https://www.doctrine-project.org/projects/doctrine-orm/en/2.16/reference/attributes-reference.html#attrref_index