eugenem 11 Posted September 29, 2020 Report Share Posted September 29, 2020 При включении опции "Показывать похожие товары" получаем ошибку "1191 - Can't find FULLTEXT index matching the column list". В чем может быть проблема? Link to post Share on other sites
support 447 Posted September 29, 2020 Report Share Posted September 29, 2020 1 час назад, eugenem сказал: При включении опции "Показывать похожие товары" получаем ошибку "1191 - Can't find FULLTEXT index matching the column list". В чем может быть проблема? В таблицами в базе данных ничего не делали?! Например движок таблиц меняли с MyISAM на InnoDB?! Это видно если сделать резервную копию базы например и посмотреть sql файл, в таблице prodcuts_decription внизу что там, MyISAM или InnoDB Можно ещё попробовать FULLTEXT индекс добавить в таблицы. Типа: ALTER TABLE products_description ADD FULLTEXT(products_name, products_description); В общем, погуглите эту ошибку. Link to post Share on other sites
eugenem 11 Posted September 29, 2020 Author Report Share Posted September 29, 2020 Да, проблема именно в InnoDB. Нужно сменить тип таблиц. Запрос: ALTER TABLE products ENGINE=MyISAM; ALTER TABLE products_description ENGINE=MyISAM; Link to post Share on other sites
support 447 Posted September 29, 2020 Report Share Posted September 29, 2020 Хорошо, что разобрались. Link to post Share on other sites
boamasteruga 0 Posted April 1, 2021 Report Share Posted April 1, 2021 Добрый день, подскажите в чем может быть причина ошибки 1191 ошибка появляется сама, работ не каких не делаю Сделал запрос. Сейчас все восстановилось, спасибо. но в чем причина, какой работы написал в поддержку хостинга пока молчат. ALTER TABLE products ENGINE=MyISAM; ALTER TABLE products_description ENGINE=MyISAM; Link to post Share on other sites
support 447 Posted April 1, 2021 Report Share Posted April 1, 2021 2 часа назад, boamasteruga сказал: Добрый день, подскажите в чем может быть причина ошибки 1191 ошибка появляется сама, работ не каких не делаю Сделал запрос. Сейчас все восстановилось, спасибо. но в чем причина, какой работы написал в поддержку хостинга пока молчат. ALTER TABLE products ENGINE=MyISAM; ALTER TABLE products_description ENGINE=MyISAM; Здравствуйте! Видимо, таблицы были InnoDB. Link to post Share on other sites
boamasteruga 0 Posted April 2, 2021 Report Share Posted April 2, 2021 Добрый день каждый день меняется кодировка ядра таблиц. на Inno DB Где посмотреть ошибку, поддержка хостинга пищит что отрабатывается код магазина Link to post Share on other sites
support 447 Posted April 2, 2021 Report Share Posted April 2, 2021 6 часов назад, boamasteruga сказал: Добрый день каждый день меняется кодировка ядра таблиц. на Inno DB Где посмотреть ошибку, поддержка хостинга пищит что отрабатывается код магазина Здравствуйте! По умолчанию в VamShop все таблицы MyISAM. и в коде нигде нет замены на InnoDB. Даже ради интереса запустил писок по InnoDB По всем файлам VamShop, нигде ничего не находит. Может Вы у себя в коде что-то подобное добавляли? Link to post Share on other sites
boamasteruga 0 Posted April 2, 2021 Report Share Posted April 2, 2021 Да нечего не делал.. посмотрю логи ошибки... Link to post Share on other sites
support 447 Posted April 2, 2021 Report Share Posted April 2, 2021 4 часа назад, boamasteruga сказал: Да нечего не делал.. посмотрю логи ошибки... Зайдите в phpMyAdmin и в закладке SQL выполните код: ALTER TABLE products_description ENABLE KEYS; У меня стало работать после этого запроса. Пробовал на InnoDB таблицах products и products_description Link to post Share on other sites
boamasteruga 0 Posted April 2, 2021 Report Share Posted April 2, 2021 Благодарю, сегодня протестю. заметил что изменения происходят приблизительно в одно и тоже время. может кроны отрабатывают Link to post Share on other sites
support 447 Posted April 2, 2021 Report Share Posted April 2, 2021 55 минут назад, boamasteruga сказал: Благодарю, сегодня протестю. заметил что изменения происходят приблизительно в одно и тоже время. может кроны отрабатывают Да пусть отрабатывают, пусть будет InnoDB. Я специально таблицы перевлё на InnoDB, мне вот этот код помог, на InnoDB тоже без ошибок работает, если выполнить код. Link to post Share on other sites
boamasteruga 0 Posted April 3, 2021 Report Share Posted April 3, 2021 Каждую ночь, что-то отрабатывает и выходит ошибка. Нечего не изменял в ядре. все работало нормально в чем причина не пойму. меняю кодировку бызы , востанавливается работоспособность ALTER TABLE products ENGINE=MyISAM; ALTER TABLE products_description ENGINE=MyISAM; Делаю такой запрос ALTER TABLE products_description ENABLE KEYS; возвращает пустой запрос MYSQL ERROR REPORT - 03/04/2021 04:04:58 --------------------------------------- 1191 - Can't find FULLTEXT index matching the column list select p.products_id, p.label_id, p.products_image, p.products_quantity, p.products_price, p.products_fsk18, p.products_ordered, p.products_model, pd.products_name, pd.products_short_description, pd.products_meta_title, pd.products_meta_description, pd.products_description, pd.products_keywords, IF(pd.products_name LIKE '%классическ брюк артикул%',0,IF(pd.products_keywords LIKE '%классическ брюк артикул%',1,IF(pd.products_name LIKE ('% классическ%') or pd.products_name LIKE ('% брюк%') or pd.products_name LIKE ('% артикул%'),2,IF(pd.products_description LIKE ('% классическ%') or pd.products_description LIKE ('% брюк%') or pd.products_description LIKE ('% артикул%'),3,4)))) AS searchorder, match (pd.products_name, pd.products_description, pd.products_keywords) against ('Классические брюки Артикул' IN BOOLEAN MODE) AS head_relevance from products_description pd left join products p on (p.products_id = pd.products_id) where (match (pd.products_name) against ('Классические брюки Артикул' IN BOOLEAN MODE) or match (pd.products_description) against ('Классические брюки Артикул' IN BOOLEAN MODE) or match (pd.products_keywords) against ('Классические брюки Артикул' IN BOOLEAN MODE) ) and p.products_status = '1' and pd.language_id = '1' and pd.products_id NOT IN ('1594') order by head_relevance desc, searchorder limit 20 --------------------------------------- Server Name : mydomen.ru Remote Address: 37.192.115.175 Referer : https://mydomen.ru/zhenskie-brjuki.html Requested : /article_30_00.html Trace Back : #0 vam_db_error() called at [/home/n/mydomen/public_html/inc/vam_db_query.inc.php:34] #1 vam_db_query() called at [/home/n/mydomen/public_html/includes/classes/product.php:396] #2 product->getSimilarProducts() called at [/home/n/mydomen/public_html/includes/modules/similar_products.php:7] #3 include(/home/n/mydomen/public_html/includes/modules/similar_products.php) called at [/home/n/mydomen/public_html/includes/modules/product_info.php:351] #4 include(/home/n/mydomen/public_html/includes/modules/product_info.php) called at [/home/n/mydomen/public_html/product_info.php:58] #5 include(/home/n/mydomen/public_html/product_info.php) called at [/home/n/mydomen/public_html/manager.php:109] ========================================================================== *********************************** Ответ Хостера Проблема вызвана автоматической конвертацией myisam таблиц в innodb на серверах с zfs, перенос на который был осуществлен при смене тарифного плана. В качестве решения проблемы мы можем перенести ваш аккаунт на сервер с другой файловой системой. Пожалуйста, внимательно ознакомьтесь с информацией ниже и сообщите, в какое время мы можем выполнить перенос. Обратите внимание на пункт о резервных копиях. Link to post Share on other sites
support 447 Posted April 3, 2021 Report Share Posted April 3, 2021 5 часов назад, boamasteruga сказал: Каждую ночь, что-то отрабатывает и выходит ошибка. Нечего не изменял в ядре. все работало нормально в чем причина не пойму. меняю кодировку бызы , востанавливается работоспособность ALTER TABLE products ENGINE=MyISAM; ALTER TABLE products_description ENGINE=MyISAM; Делаю такой запрос ALTER TABLE products_description ENABLE KEYS; возвращает пустой запрос MYSQL ERROR REPORT - 03/04/2021 04:04:58 --------------------------------------- 1191 - Can't find FULLTEXT index matching the column list select p.products_id, p.label_id, p.products_image, p.products_quantity, p.products_price, p.products_fsk18, p.products_ordered, p.products_model, pd.products_name, pd.products_short_description, pd.products_meta_title, pd.products_meta_description, pd.products_description, pd.products_keywords, IF(pd.products_name LIKE '%классическ брюк артикул%',0,IF(pd.products_keywords LIKE '%классическ брюк артикул%',1,IF(pd.products_name LIKE ('% классическ%') or pd.products_name LIKE ('% брюк%') or pd.products_name LIKE ('% артикул%'),2,IF(pd.products_description LIKE ('% классическ%') or pd.products_description LIKE ('% брюк%') or pd.products_description LIKE ('% артикул%'),3,4)))) AS searchorder, match (pd.products_name, pd.products_description, pd.products_keywords) against ('Классические брюки Артикул' IN BOOLEAN MODE) AS head_relevance from products_description pd left join products p on (p.products_id = pd.products_id) where (match (pd.products_name) against ('Классические брюки Артикул' IN BOOLEAN MODE) or match (pd.products_description) against ('Классические брюки Артикул' IN BOOLEAN MODE) or match (pd.products_keywords) against ('Классические брюки Артикул' IN BOOLEAN MODE) ) and p.products_status = '1' and pd.language_id = '1' and pd.products_id NOT IN ('1594') order by head_relevance desc, searchorder limit 20 --------------------------------------- Server Name : mydomen.ru Remote Address: 37.192.115.175 Referer : https://mydomen.ru/zhenskie-brjuki.html Requested : /article_30_00.html Trace Back : #0 vam_db_error() called at [/home/n/mydomen/public_html/inc/vam_db_query.inc.php:34] #1 vam_db_query() called at [/home/n/mydomen/public_html/includes/classes/product.php:396] #2 product->getSimilarProducts() called at [/home/n/mydomen/public_html/includes/modules/similar_products.php:7] #3 include(/home/n/mydomen/public_html/includes/modules/similar_products.php) called at [/home/n/mydomen/public_html/includes/modules/product_info.php:351] #4 include(/home/n/mydomen/public_html/includes/modules/product_info.php) called at [/home/n/mydomen/public_html/product_info.php:58] #5 include(/home/n/mydomen/public_html/product_info.php) called at [/home/n/mydomen/public_html/manager.php:109] ========================================================================== *********************************** Ответ Хостера Проблема вызвана автоматической конвертацией myisam таблиц в innodb на серверах с zfs, перенос на который был осуществлен при смене тарифного плана. В качестве решения проблемы мы можем перенести ваш аккаунт на сервер с другой файловой системой. Пожалуйста, внимательно ознакомьтесь с информацией ниже и сообщите, в какое время мы можем выполнить перенос. Обратите внимание на пункт о резервных копиях. Ну можно ещё 2 первых sql запроса добавить в /inc/vam_db_connect.inc.php Что б постоянно выполнялись они если кто на сайт заходит. Но наверное лучше пусть Вас переведут куда-то без автоперевода таблиц. Странно как-то, в прнудительном порядке лезут в Вашу базу данных и меняют таблицы каждый день. Что-то я сомневаюсь, что дело в zfs Link to post Share on other sites
boamasteruga 0 Posted April 3, 2021 Report Share Posted April 3, 2021 Это цитата от тех поддержки хостинга. Сегодня протестирую, дальше уже подумаю с запросами Link to post Share on other sites
support 447 Posted April 3, 2021 Report Share Posted April 3, 2021 Удачи Link to post Share on other sites
boamasteruga 0 Posted May 20, 2021 Report Share Posted May 20, 2021 В 03.04.2021 в 13:53, support сказал: Ну можно ещё 2 первых sql запроса добавить в /inc/vam_db_connect.inc.php Что б постоянно выполнялись они если кто на сайт заходит. Но наверное лучше пусть Вас переведут куда-то без автоперевода таблиц. Странно как-то, в прнудительном порядке лезут в Вашу базу данных и меняют таблицы каждый день. Что-то я сомневаюсь, что дело в zfs Добрый день. Просто дабавить как запросы SQL, или их нужно обернуть в код? //Start VaM db-error изменение кодировки базы данных if ($$link){ @mysqli_query($$link, "ALTER TABLE products ENGINE=MyISAM;"); @mysqli_query($$link, "ALTER TABLE products_description ENGINE=MyISAM;"); } $$link = mysqli_connect($server, $username, $password, $database); if ($$link){ @mysqli_query($$link, "SET SQL_MODE= ''"); @mysqli_query($$link, "SET SQL_BIG_SELECTS=1"); @mysqli_query($$link, "SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); @mysqli_query($$link, "ALTER TABLE products ENGINE=MyISAM;"); @mysqli_query($$link, "ALTER TABLE products_description ENGINE=MyISAM;"); } ************************************************** Вот так? Link to post Share on other sites
support 447 Posted May 20, 2021 Report Share Posted May 20, 2021 37 минут назад, boamasteruga сказал: Добрый день. Просто дабавить как запросы SQL, или их нужно обернуть в код? //Start VaM db-error изменение кодировки базы данных if ($$link){ @mysqli_query($$link, "ALTER TABLE products ENGINE=MyISAM;"); @mysqli_query($$link, "ALTER TABLE products_description ENGINE=MyISAM;"); } $$link = mysqli_connect($server, $username, $password, $database); if ($$link){ @mysqli_query($$link, "SET SQL_MODE= ''"); @mysqli_query($$link, "SET SQL_BIG_SELECTS=1"); @mysqli_query($$link, "SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); @mysqli_query($$link, "ALTER TABLE products ENGINE=MyISAM;"); @mysqli_query($$link, "ALTER TABLE products_description ENGINE=MyISAM;"); } ************************************************** Вот так? Да, по идее, правильно. Link to post Share on other sites
boamasteruga 0 Posted May 20, 2021 Report Share Posted May 20, 2021 СПАСИБО! ВЫ ВОЛШЕБНИКИ! Link to post Share on other sites
support 447 Posted May 20, 2021 Report Share Posted May 20, 2021 Не за что, хорошо, что разобрались. Link to post Share on other sites
support 447 Posted August 20, 2021 Report Share Posted August 20, 2021 В 29.09.2020 в 10:02, eugenem сказал: Да, проблема именно в InnoDB. Нужно сменить тип таблиц. Запрос: ALTER TABLE products ENGINE=MyISAM; ALTER TABLE products_description ENGINE=MyISAM; По умолчанию вся база переведена на InnoDB таблицы. и код исправлен, со следующей версии такой проблемы в принципе не будет нигде и никогда. В 20.05.2021 в 06:32, boamasteruga сказал: Добрый день. Просто дабавить как запросы SQL, или их нужно обернуть в код? //Start VaM db-error изменение кодировки базы данных if ($$link){ @mysqli_query($$link, "ALTER TABLE products ENGINE=MyISAM;"); @mysqli_query($$link, "ALTER TABLE products_description ENGINE=MyISAM;"); } $$link = mysqli_connect($server, $username, $password, $database); if ($$link){ @mysqli_query($$link, "SET SQL_MODE= ''"); @mysqli_query($$link, "SET SQL_BIG_SELECTS=1"); @mysqli_query($$link, "SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); @mysqli_query($$link, "ALTER TABLE products ENGINE=MyISAM;"); @mysqli_query($$link, "ALTER TABLE products_description ENGINE=MyISAM;"); } ************************************************** Вот так? По умолчанию вся база переведена на InnoDB таблицы. и код исправлен, со следующей версии такой проблемы в принципе не будет нигде и никогда. Link to post Share on other sites
Recommended Posts