Get WPFTS Pro today with 50% discount!

Trying to setup on a utf8mb4 site



  • Hi,

    A fantastic plugin. I've just updated from (I think) a version 1.1 of the plugin, to the latest 1.32.90 - along with updating to WP 5.5 🙂

    Unsurprisingly it was asking to rebuild the index, so I clicked the rebuilt button, but it never completed.

    Doing a bit of detective work, it seems to be, where it drops all the tables, then recreates them I'm getting the following:

    [12-Aug-2020 13:38:08 UTC] WordPress database error Specified key was too long; max key length is 767 bytes for query CREATE TABLE wpftsi_index (
    id int(10) unsigned NOT NULL auto_increment,
    tid bigint(10) unsigned NOT NULL,
    tsrc varchar(255) NOT NULL,
    tdt datetime NOT NULL default '1970-01-01 00:00:00',
    build_time int(11) NOT NULL default '0',
    update_dt datetime NOT NULL default '1970-01-01 00:00:00',
    force_rebuild tinyint(4) NOT NULL default '0',
    locked_dt datetime NOT NULL default '1970-01-01 00:00:00',
    PRIMARY KEY (id),
    UNIQUE KEY tid_tsrc_unique (tid,tsrc),
    KEY tid (tid),
    KEY build_time (build_time),
    KEY force_rebuild (force_rebuild),
    KEY locked_dt (locked_dt),
    KEY tsrc (tsrc)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci made by do_action('wp_ajax_wpftsi_submit_rebuild'), WP_Hook->do_action, WP_Hook->apply_filters, WPFTS_Core->ajax_submit_rebuild, WPFTS_Index->create_db_tables

    select VERSION();
    returns:
    10.1.45-MariaDB-0+deb9u1

    So for now I'm stuck. I think the problem, is utf8mb4 doesn't seem to allow an index longer than 191 characters when using utf8mb4 😞

    https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade/

    Talks about making sure indexes are the less that 191 long. Is there a way out of this, other than going back to the old version?!

    Many thanks.

    Rupert



  • Thank you for this report. We are working on this fix now. Should be ready in the nearest hours.



  • Well, first of all, MariaDB 10.1.x that you're using is equal to MySQL 5.6, exactly has the limitation of 767 bytes for index prefix. In MySQL 5.7 and higher (MariaDB 10.2+) this limitation was extended to 3072 bytes which is covering the issue.

    But since we still have a lot of users who are using MySQL 5.6 currently, we going to limit index size to 191 symbols. Because nobody actually uses such long text values.



  • Hi, @ruperte
    We just released a new version of WPFTS v1.33.92. It has the index size issue fixed.

    Please, could you try it and tell me if it fixes your problem?



  • Hi,

    Just installed, it's re-indexed everything fine and is working great now.

    Many thanks for the fast turn around.

    Rupert


Log in to reply