Doctrine 2はFULLTEXTインデックスをサポートしていません。実際には、結果セットマッピングとネイティブクエリを使用して、innodbテーブル(MySQL 5.6)をFULLTEXT検索します。ただし、マークを付ける必要があります。インデックスの一部としての1つ以上のエンティティフィールド。
注釈を使用してインデックスを追加する方法はありますか?のようだ @Index
注釈は...のタイプを指定しません.
DoctrineのIssueTrackerの DDC-3014 によると、注釈を使用してフルテキストインデックスを指定する機能は、4月14日に実装され、リリース2.5で利用可能になります。待ちたくない場合は、不安定な開発バージョンを使用するか、バックポート コミット 機能の実装を試みることができます。
使用例は次のとおりです。
/**
* @Entity
* @Table(indexes={@Index(columns={"content"}, flags={"fulltext"})})
*/
class Comment
{
/**
* @Column(type="text")
*/
private $content;
...
}
Yamlマッピングドライバーを使用してフルテキストインデックスを作成する方法の例を次に示します。
Doctrine\Tests\ORM\Mapping\Comment:
type: entity
fields:
content:
type: text
indexes:
xy_fulltext:
columns: ["name", "content", "keywords"]
flags: fulltext