Перейти к содержанию
Форум поддержки пользователей VamShop

Похожие товары выдают ошибку


Рекомендуемые сообщения

При включении опции "Показывать похожие товары" получаем ошибку "1191 - Can't find FULLTEXT index matching the column list".
В чем может быть проблема?

Ссылка на сообщение
Поделиться на другие сайты
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);

В общем, погуглите эту ошибку.

 

Ссылка на сообщение
Поделиться на другие сайты

Да, проблема именно в InnoDB. Нужно сменить тип таблиц. Запрос:
 

ALTER TABLE products ENGINE=MyISAM;
ALTER TABLE products_description ENGINE=MyISAM;

 

Ссылка на сообщение
Поделиться на другие сайты
  • 6 months later...

Добрый день, подскажите в чем может быть причина ошибки 1191

ошибка появляется сама, работ не каких не делаю

Сделал запрос.

Сейчас все восстановилось, спасибо.

но в чем причина, какой работы написал в поддержку хостинга пока молчат.

ALTER TABLE products ENGINE=MyISAM;
ALTER TABLE products_description ENGINE=MyISAM;
Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, boamasteruga сказал:

Добрый день, подскажите в чем может быть причина ошибки 1191

ошибка появляется сама, работ не каких не делаю

Сделал запрос.

Сейчас все восстановилось, спасибо.

но в чем причина, какой работы написал в поддержку хостинга пока молчат.


ALTER TABLE products ENGINE=MyISAM;
ALTER TABLE products_description ENGINE=MyISAM;

Здравствуйте!

Видимо, таблицы были InnoDB. 

Ссылка на сообщение
Поделиться на другие сайты

Добрый день каждый день меняется кодировка ядра таблиц. на Inno DB

Где посмотреть ошибку, поддержка хостинга пищит что отрабатывается код  магазина

 

Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, boamasteruga сказал:

Добрый день каждый день меняется кодировка ядра таблиц. на Inno DB

Где посмотреть ошибку, поддержка хостинга пищит что отрабатывается код  магазина

 

Здравствуйте!

По умолчанию в VamShop все таблицы MyISAM.

и в коде нигде нет замены на InnoDB.

Даже ради интереса запустил писок по InnoDB

По всем файлам VamShop, нигде ничего не находит.

Может Вы у себя в коде что-то подобное добавляли?

Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, boamasteruga сказал:

Да нечего не делал.. посмотрю логи ошибки...

 

Зайдите в phpMyAdmin и в закладке SQL выполните код:

 ALTER TABLE products_description ENABLE KEYS;

У меня стало работать после этого запроса.

Пробовал на InnoDB таблицах products и products_description

Ссылка на сообщение
Поделиться на другие сайты

Благодарю, сегодня протестю. заметил что изменения происходят приблизительно в одно и тоже время. может кроны отрабатывают

Ссылка на сообщение
Поделиться на другие сайты
55 минут назад, boamasteruga сказал:

Благодарю, сегодня протестю. заметил что изменения происходят приблизительно в одно и тоже время. может кроны отрабатывают

Да пусть отрабатывают, пусть будет InnoDB.

Я специально таблицы перевлё на InnoDB, мне вот этот код помог, на InnoDB тоже без ошибок работает, если выполнить код.

Ссылка на сообщение
Поделиться на другие сайты

Каждую ночь, что-то отрабатывает и выходит ошибка.

Нечего не изменял в ядре. все работало нормально в чем причина не пойму.

меняю кодировку бызы , востанавливается работоспособность

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, перенос на который был осуществлен при смене тарифного плана.
В качестве решения проблемы мы можем перенести ваш аккаунт на сервер с другой файловой системой.
Пожалуйста, внимательно ознакомьтесь с информацией ниже и сообщите, в какое время мы можем выполнить перенос. Обратите внимание на пункт о резервных копиях.

Ссылка на сообщение
Поделиться на другие сайты
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

Ссылка на сообщение
Поделиться на другие сайты

Это цитата от тех поддержки хостинга. Сегодня протестирую, дальше уже подумаю с запросами:100_pray:

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...
В 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;");
}

**************************************************

Вот так?

Ссылка на сообщение
Поделиться на другие сайты
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;");
}

**************************************************

Вот так?

Да, по идее, правильно.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 months later...
В 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 таблицы.

и код исправлен, со следующей версии такой проблемы в принципе не будет нигде и никогда.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...