• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 1.1 xf_search TABLE crash

#1
Is there a way to replace the xf_search table after it has crashed? I have run check/analyze/repair, and while the forum comes back up and will allow searches, it continues to crash. No mods, running 1.1.2, mysqli. Nothing has changed recently with my server lineup. Wondering if there is an option to drop the xf_search table, and add it back in.

Thanks.

John
 

borbole

Well-known member
#2
Is there a way to replace the xf_search table after it has crashed? I have run check/analyze/repair, and while the forum comes back up and will allow searches, it continues to crash. No mods, running 1.1.2, mysqli. Nothing has changed recently with my server lineup. Wondering if there is an option to drop the xf_search table, and add it back in.

Thanks.

John
Yes, you can readd it again but that would be a temporarily solution. A db table should not keep crashing like that. The best way to go about it would be to talk to your host.
 
#3
Concur. Right now I just want to get the search funtion working again on my site. And getting this table running again (without rolling back to a previous backup) is my goal. Then I will investigate what may have caused that table to crash, right now nothing in the server logs point to anything. I suspect I may be dealing with a hardware issue.

Is there a table schema for xf_search, and are there any interdependencies with other tables that would prevent a drop and add?

Thank you for your time.
 

borbole

Well-known member
#4
Concur. Right now I just want to get the search funtion working again on my site. And getting this table running again (without rolling back to a previous backup) is my goal. Then I will investigate what may have caused that table to crash, right now nothing in the server logs point to anything. I suspect I may be dealing with a hardware issue.

Is there a table schema for xf_search, and are there any interdependencies with other tables that would prevent a drop and add?

Thank you for your time.
After you drop the current search table from the db, you can recreate a fresh one with this query:

Code:
CREATE TABLE xf_search (
        search_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
        search_results MEDIUMBLOB NOT NULL,
        result_count SMALLINT UNSIGNED NOT NULL,
        search_type VARCHAR(25) NOT NULL,
        search_query VARCHAR(200) NOT NULL,
        search_constraints MEDIUMBLOB NOT NULL,
        search_order VARCHAR(50) NOT NULL,
        search_grouping TINYINT NOT NULL DEFAULT 0,
        user_results MEDIUMBLOB NOT NULL,
        warnings MEDIUMBLOB NOT NULL,
        user_id INT UNSIGNED NOT NULL,
        search_date INT UNSIGNED NOT NULL,
        query_hash varchar(32) NOT NULL DEFAULT '',
        PRIMARY KEY (search_id),
        KEY search_date (search_date),
        KEY query_hash (query_hash)
    ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
Afterwards you might want to rebuilt the search indexes as well.