Задать вопрос
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
Подскажете как решить данную проблему?
  • Вопрос задан
  • 639 просмотров
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Тестировщик на Python
    9 месяцев
    Далее
  • Компьютерная академия «TOP»
    WEB разработка Fullstack
    12 месяцев
    Далее
  • beONmax
    Профессия Веб программист - Быстрый старт
    4 месяца
    Далее
Решения вопроса 1
JastaFly
@JastaFly Автор вопроса
В итоге это оказалось косяком разработчиков модуля Сотбит: SEO умного фильтра – мета-теги, заголовки, карта сайта. Пофиксилось удалением хуков на индексацию которые вешаем данный модуль при установке:
65b9f9cee82d7255909341.jpeg
Данные хуки нужны чтобы на сайте работал поиск по SEOшным тайтлам но эта фича нередко ломает индексацию на сайте и по сути является маловостребованной. Может в будущих версиях баг пофиксят, но пока только так
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@My1Name
Duplicate entry 'iblock-seometa_99_4062_063_99_1'

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

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

Похожие вопросы