@ibloom
Thank you, this is actually the thing which I would like to recommend you to do.
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 KEYtid_tsrc_unique
(tid
,tsrc
),
KEYtid
(tid
),
KEYbuild_time
(build_time
),
KEYforce_rebuild
(force_rebuild
),
KEYlocked_dt
(locked_dt
),
KEYtsrc
(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_tablesselect VERSION();
returns:
10.1.45-MariaDB-0+deb9u1So 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