JastaFly
@JastaFly

Ошибка Mysql query error: (1062) Duplicate entry 'iblock-seometa_99_4062_063_99_1' for key 'UX_B_SEARCH_CONTENT' при переиндексации?

При запуске переиндексации поиска в базе данных возникает следующая ошибка:
2024-01-26 19:44:17 - Host: enex.market - UNCAUGHT_EXCEPTION - [Bitrix\Main\DB\SqlQueryException] 
Mysql query error: (1062) Duplicate entry 'iblock-seometa_99_4062_063_99_1' for key 'UX_B_SEARCH_CONTENT' (400)
UPDATE `b_search_content` SET `MODULE_ID` = "iblock" WHERE `MODULE_ID` = "sotbit.seometa"
/home/bitrix/ext_www/enex.market/bitrix/modules/main/lib/db/mysqliconnection.php:153
#0: Bitrix\Main\DB\MysqliConnection->queryInternal
	/home/bitrix/ext_www/enex.market/bitrix/modules/main/lib/db/connection.php:327
#1: Bitrix\Main\DB\Connection->query
	/home/bitrix/ext_www/enex.market/bitrix/modules/sotbit.seometa/classes/general/seometa_event_handler.php:484
#2: CSeoMetaEvents::OnAfterIndexAddHandler
	/home/bitrix/ext_www/enex.market/bitrix/modules/main/classes/general/module.php:483
#3: ExecuteModuleEventEx
	/home/bitrix/ext_www/enex.market/bitrix/modules/search/classes/general/search.php:1425
#4: CAllSearch::Index
	/home/bitrix/ext_www/enex.market/bitrix/modules/search/classes/general/search.php:3274
#5: CSearchCallback->Index
	
#6: call_user_func
	/home/bitrix/ext_www/enex.market/bitrix/modules/sotbit.seometa/lib/link/reindexwriter.php:86
#7: Sotbit\Seometa\Link\ReindexWriter->Write
	/home/bitrix/ext_www/enex.market/bitrix/modules/sotbit.seometa/lib/helper/linker.php:279
#8: Sotbit\Seometa\Helper\Linker->generate
	/home/bitrix/ext_www/enex.market/bitrix/modules/sotbit.seometa/classes/general/seometa_event_handler.php:461
#9: CSeoMetaEvents::OnReindexHandler
	/home/bitrix/ext_www/enex.market/bitrix/modules/main/classes/general/module.php:483
#10: ExecuteModuleEventEx
	/home/bitrix/ext_www/enex.market/bitrix/modules/search/classes/general/search.php:1045
#11: CAllSearch::ReIndexAll
	/home/bitrix/ext_www/enex.market/bitrix/modules/search/admin/search_reindex.php:55
#12: require(string)
	/home/bitrix/ext_www/enex.market/bitrix/admin/search_reindex.php:2
----------

Ошибка возникает из-за запроса:
UPDATE `b_search_content` SET `MODULE_ID` = "iblock" WHERE `MODULE_ID` = "sotbit.seometa"

Найти причину ошибки в связях талицы b_search_content не удаётся:
65b769b5cbbb5181902769.png
Подскажете как решить данную проблему?
  • Вопрос задан
  • 388 просмотров
Решения вопроса 1
JastaFly
@JastaFly Автор вопроса
В итоге это оказалось косяком разработчиков модуля Сотбит: SEO умного фильтра – мета-теги, заголовки, карта сайта. Пофиксилось удалением хуков на индексацию которые вешаем данный модуль при установке:
65b9f9cee82d7255909341.jpeg
Данные хуки нужны чтобы на сайте работал поиск по SEOшным тайтлам но эта фича нередко ломает индексацию на сайте и по сути является маловостребованной. Может в будущих версиях баг пофиксят, но пока только так
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@My1Name
Duplicate entry 'iblock-seometa_99_4062_063_99_1'

Поле помечено как PRIMARY KEY или UNIQUE KEY. Посмотрите как вы создаёте таблицу... Эти ключи запрещают дубликаты. Используйте просто INDEX или вспомогательную таблицу если данные могут быть одинаковы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект