Bug #62004 InnoDB fulltext search not calling into fulltext parser plugins
Submitted: 27 Jul 2011 10:39 Modified: 25 Mar 2013 18:23
Reporter: Hartmut Holzgraefe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: FULLTEXT search Severity:S3 (Non-critical)
Version:5.6.3-labs-innodb-fts OS:Linux
Assigned to: CPU Architecture:Any

[27 Jul 2011 10:39] Hartmut Holzgraefe
Description:
Index definitions that request indexing using a certain fulltext parser plugin like 

  FULLTEXT INDEX (...) WITH PARSER `my_parser`

are accepted without warning with ENGINE=innodb, but when data is inserted or queries against the indexed column are performed there are no calls into the specified plugin

How to repeat:
create a minimal fulltext parser that just logs itself being called to the error log before invoking the default parser:

  static int my_parser_parse(MYSQL_FTPARSER_PARAM *param)
  {
    fprintf(stderr, "my_parser_parse\n");
    return param->mysql_parse(param, param->doc, param->length);  
  }

then create two identical tables using MyISAM and InnoDB as storage engiens:

  CREATE TABLE t1
  (
    id INT AUTO_INCREMENT PRIMARY KEY,
    doc CHAR(255),
    FULLTEXT INDEX (doc) WITH PARSER my_parser
  ) ENGINE=MyISAM;

  CREATE TABLE t2
  (
    id INT AUTO_INCREMENT PRIMARY KEY,
    doc CHAR(255),
    FULLTEXT INDEX (doc) WITH PARSER my_parser
  ) ENGINE=innodb;

Insert into t1 and check the mysqld error log to see that a call to my_parser_parse() was logged, insert into t2 and see that no additional log line occured in the error log

Suggested fix:
Either support fulltext parser plugins like MyISAM does (preferred, else InnoDB FTS still can't be considered a full replacement for MyISAM FTS),
or at least throw a warning on CREATE TABLE that "WITH PARSER" is not supported with InnoDB FTS
[6 Aug 2011 11:48] Sveta Smirnova
Thank you for the report.

Verified as described.
[4 Sep 2012 14:13] Sheeri Cabral
Is there an ETA on this feature?
[11 Mar 2013 12:37] Erlend Dahl
Bug#68622 was marked as a duplicate
[25 Mar 2013 18:23] Paul DuBois
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.