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.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.041 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.