1798
MySQLERRORNotableFull-Text SearchHIGH confidence

InnoDB FULLTEXT does not support user-defined parsers

Production Risk

Low — DDL rejected.

What this means

An attempt was made to create an InnoDB FULLTEXT index using a user-defined parser plugin, which is not supported. User-defined FTS parsers are only supported with MyISAM.

Why it happens
  1. 1CREATE FULLTEXT INDEX ... WITH PARSER custom_parser on an InnoDB table.
How to reproduce
trigger — this will error
trigger — this will error
ALTER TABLE docs ENGINE=InnoDB;
ALTER TABLE docs ADD FULLTEXT INDEX ft_body (body) WITH PARSER ngram; -- ngram is built-in, but custom plugins fail

expected output

ERROR 1798 (HY000): InnoDB FULLTEXT index does not support user-defined InnoDB FTS parser.

Fix 1

Use the built-in InnoDB ngram or MeCab parser instead of custom plugins

Use the built-in InnoDB ngram or MeCab parser instead of custom plugins
ALTER TABLE docs ADD FULLTEXT INDEX ft_body (body) WITH PARSER ngram;

Why this works

Built-in parsers are supported by InnoDB FTS.

Fix 2

Switch to MyISAM if a custom parser is required

Switch to MyISAM if a custom parser is required
ALTER TABLE docs ENGINE=MyISAM;
ALTER TABLE docs ADD FULLTEXT INDEX ft_body (body) WITH PARSER custom_parser;

Why this works

MyISAM supports user-defined FTS parsers.

What not to do

Sources
Official documentation ↗

MySQL 8.0 — 1798 ER_INNODB_NO_FT_USES_PARSER

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All MySQL errors