MySQL-5.6.4からの新機能「InnoDB FullText Search」という全文検索機能でWITH PARSERが動かないので調べてみました
MyISAMで出来るparserの指定、InnoDBでも出来たら夢が広がりますよね。
そう、MySQL-5.6.4から対応となったInnoDB FullTextSearchを、
自作のparser pluginで拡張できるとしたらもう、最高じゃないですか!
クエリとしてはFULLTEXT INDEX (...) WITH PARSER my_parser
という具合に。
だがしかし、、現実は甘くありません。
物は試しと、全文検索パーサプラグイン「mysqlftppc」MySQL-5.6対応の改造版を公開で作ったMySQL-5.6対応のパーサプラグインとInnoDB FullTextSearchを組み合わせたところ、WITH PARSER
が完全に無視されている挙動です。
調べたところ、MySQL Bugsに該当のチケットがありました。
Noted in 5.6.12, 5.7.2 changelogs.
InnoDB does not support full-text parser plugins, but failed to report an error if they were specified. Now an ER_INNODB_NO_FT_USES_PARSER error is returned.
意訳すると、以下の通りです。
InnoDBは全文検索のパーサプラグインには対応していません。 MySQL-5.6.12, 5.7.2より、ER_INNODB_NO_FT_USES_PARSERというエラーを返すようにします。
残念ながら、この夢の道のりは長そうです。