Ошибка b search content stem

Добрый день, при сохранении информации в визуальном редакторе появляется ошибка
код ошибки

File: /bhome/part3/03/vh38721/domen.ru/www/bitrix/modules/search/classes/mysql/search.php
Line: 796
MySQL Query Error: SELECT LANGUAGE_ID,STEM FROM b_search_content_stem WHERE SEARCH_CONTENT_ID = 414[Table ‘./domen_ru/b_search_content_stem’ is marked as crashed and should be repaired]

в настройках проверки базы данных вот что

[Предупреждение] Таблица помечена как испорченная
[Предупреждение] 2 клиенты используют или не закрыли таблице правильно
[Ошибка] Найдено 29394 ключей 29793
[Ошибка] Коррумпированные

подскажите как исправить ситуацию?

 

При попытке залить базу , частенько выдает ошибки на таблицы b_search_content_stem, b_sale_fuser
Подскажите за что они отвечают, и может их просто надо очищать перед заливкой?
Те кто уже имеет опыт, подскажите может еще какие таблицы есть, с какими может возникнуть трудности по заливки )

 

Mihail Mitrofanov

Администратор

Сообщений: 1433
Баллов: 216
Регистрация: 31.10.2007

#2

21.04.2008 14:12:56

Добрый день,

Цитата
Вячеслав Шабанов пишет:
При попытке залить базу , частенько выдает ошибки на таблицы b_search_content_stem, b_sale_fuser

Какие именно возникают ошибки при обращении к этим таблицам?

Цитата
Вячеслав Шабанов пишет:
Подскажите за что они отвечают, и может их просто надо очищать перед заливкой?

b_search_content_stem — отвечает за поиск контента на сайте при морфологическом поиске.
b_sale_fuser — а здесь содержится информация о пользователях интернет-магазина.

 

Пользователь 1656

Заглянувший

Сообщений: 1
Регистрация: 06.05.2005

#3

23.11.2008 13:26:29

Цитата
Mihail Mitrofanov пишет:
b_sale_fuser — а здесь содержится информация о пользователях интернет-магазина.

А нельзя поточнее. Что за пользователи?
У меня, например, эта таблица уже содержит больше миллиона строк — нет у меня столько пользователей. Почти у всех USER_ID = NULL. И это проблема. Вечно не хватает памяти и рушится именно эта таблица. Вопрос: если очистить её, что будет? Подозрение, что это поисковики ходят по ссылочке «купить».

 

b_sale_fuser — а здесь содержится информация о пользователях интернет-магазина.

следовательно поле USER_ID — это ID пользователя сайта. NULL — значит он удален)

предположение

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

 

Евгений Жуков

Администратор

Сообщений: 9141
Баллов: 1767
Регистрация: 05.08.2005

Epic fail — сказать «это так просто» и не суметь сделать

#5

24.11.2008 15:12:54

Цитата
Вячеслав Шабанов пишет:
следовательно поле USER_ID — это ID пользователя сайта. NULL — значит он удален)

Восхитительная логика.

Таблица b_sale_user содержит идентификатор для привязки корзины к пользователю. Большое обилие записей с USER_ID = NULL означает, что у Вас на сайте шарилась куча неавторизованного народа (когда USER_ID не определен). Вы можете ее очистить (убрать записи с USER_ID = NULL), только если в таблице b_sale_basket нет привязок к соотв. записям из таблицы b_sale_user. А лучше написать в ТП и попросить совета.

Не надо сверлить зубы через задний проход дрелью от Сваровски

 

Пользователь 37120

Заглянувший

Сообщений: 1
Регистрация: 05.02.2009

#6

10.06.2009 01:24:59

То есть можно просто сделать так:

Код
DELETE FROM b_sale_fuser WHERE ID NOT IN (SELECT FUSER_ID FROM b_sale_basket)
 

Администратор

Сообщений: 1433
Баллов: 216
Регистрация: 31.10.2007

Штатно уменьшить количество записей в b_sale_fuser можно следующим образом:
1. Значительно уменьшить значение поля «Сохранять корзину (дней):» в настройках модуля «Интернет магазин».
2. Отредактировать агент CSaleUser::DeleteOldAgent и установить ему периодичность запуска 10-20 сек.

В результате у Вас начнут быстрее удаляться записи старых корзин (если такое имеются). После уменьшения размера b_sale_fuser рекомендуем оставить  в поле «Сохранять корзину (дней)» корректное значение дней, потому, что 30 дней для хранения корзины, честно говоря, много.

 

Пользователь 43717

Заглянувший

Сообщений: 29
Баллов: 1
Регистрация: 07.06.2009

#8

24.07.2010 23:16:20

Цитата
Михаил Митрофанов пишет:
1. Значительно уменьшить значение поля «Сохранять корзину (дней):» в настройках модуля «Интернет магазин». 2. Отредактировать агент CSaleUser::DeleteOldAgent и установить ему периодичность запуска 10-20 сек.

Не помогло. Размеры таблиц не стали уменьшаться и продолжают увеличиваться каждые 2 секунды в среднем :(
С чем это может быть связано?

======
проблему решил. нужно было помимо эти настроек изменить время «Следующего запуска» агента. Оно у меня было установлено на более позднее время.

 

Как-то странно работает агент CSaleUser::DeleteOldAgent. Интервал запуска установлен в 10 сек, но агент не срабатывает. Таблицы очень медленно очищаются с неизвестной периодичностью. Такое ощущение, что агент живет своей жизнью.

 

Пользователь 11072

Посетитель

Сообщений: 43
Баллов: 5
Регистрация: 16.04.2007

#10

05.10.2010 03:15:11

Использовал команду:
delete from b_sale_fuser where (USER_ID is null) limit <номер>;
где <номер> число записей.

С некоторых пор у меня при добавлении контента стала появляться ошибка:

File: ../bitrix/modules/search/classes/mysql/search.php
Line: 1118
MySQL
 Query Error: ins ert into b_search_content_stem (SEARCH_CONTENT_ID, 
LANGUAGE_ID, STEM, TF,PS) val ues (115, 'ru', 895, 0.1191, 140.0000), 
(115, 'ru', 720, 0.1191, 142.0000), (115, 'ru', 7804, 0.1191, 143.0000),
 (115, 'ru', 2033, 0.1191, 144.0000), (115, 'ru', 7805, 0.1191, 
145.0000), (115, 'ru', , 0.1191, 146.0000), (115, 'ru', 2263, 0.1191, 
147.0000), (115, 'ru', 6, 0.4534, 242.8462), (115, 'ru', 7, 0.1888, 
156.0000), (115, 'ru', 7807, 0.1191, 150.0000), (115, 'ru', 376, 0.1191,
 151.0000), (115, 'ru', 2221, 0.1191, 152.0000), (115, 'ru', 7808, 
0.1191, 153.0000), (115, 'ru', 4651, 0.1191, 154.0000), (115, 'ru', 
2880, 0.1191, 155.0000), (115, 'ru', 5554, 0.1888, 157.5000), (115, 
'ru', 7809, 0.1191, 157.0000), (115, 'ru', 2063, 0.2382, 186.0000), 
(115, 'ru', 7810, 0.1191, 161.0000), (115, 'ru', 1767, 0.1191, 
162.0000), (115, 'ru', 7811, 0.1191, 164.0000), (115, 'ru', 2965, 
0.1191, 165.0000), (115, 'ru', 7812, 0.1191, 166.0000), (115, 'ru', 
2953, 0.1888, 170.5000), (115, 'ru', 7813, 0.1191, 168.0000), (115, 
'ru', 7814, 0.1191, 170.0000), (115, 'ru', 7815, 0.1191, 171.0000), 
(115, 'ru', 7816, 0.1191, 172.0000), (115, 'ru', 7817, 0.1191, 
173.0000), (115, 'ru', 5033, 0.1888, 276.5000), (115, 'ru', 1139, 
0.1888, 277.5000), (115, 'ru', 987, 0.1191, 177.0000), (115, 'ru', 7818,
 0.1191, 178.0000), (115, 'ru', 7819, 0.1191, 179.0000), (115, 'ru', 
840, 0.1191, 180.0000), (115, 'ru', 1548, 0.1191, 182.0000), (115, 'ru',
 1808, 0.1191, 183.0000), (115, 'ru', 1034, 0.3343, 346.1667), (115, 
'ru', 4721, 0.1191, 185.0000), (115, 'ru', 7820, 0.1191, 186.0000), 
(115, 'ru', 4868, 0.1191, 188.0000), (115, 'ru', 4160, 0.1191, 
189.0000), (115, 'ru', 1803, 0.1191, 190.0000), (115, 'ru', 1448, 
0.1191, 191.0000), (115, 'ru', 2384, 0.1191, 192.0000), (115, 'ru', 
7821, 0.1191, 193.0000), (115, 'ru', 7822, 0.1191, 195.0000), (115, 
'ru', 7823, 0.1191, 196.0000), (115, 'ru', 7824, 0.1191, 197.0000), 
(115, 'ru', 2521, 0.1191, 198.0000), (115, 'ru', 54, 0.1191, 199.0000), 
(115, 'ru', 7825, 0.1191, 201.0000), (115, 'ru', 297, 0.1191, 202.0000),
 (115, 'ru', 7826, 0.1191, 208.0000), (115, 'ru', 3063, 0.1191, 
209.0000), (115, 'ru', 7827, 0.1191, 210.0000)[You have an error in your
 SQL syntax; check the manual that corresponds to your MySQL server 
version for the right syntax to use near ' 0.1191, 146.0000), (115, 
'ru', 2263, 0.1191, 147.0000), (115, 'ru', 6, 0.4534, ' at line 9]

DB query error.
Please try later.

Файл /bitrix/modules/search/classes/mysql/search.php 

Строка: 1108 

Код
.", ".(BX_SEARCH_VERSION > 1? CSearch::RegisterStem($word): "'".$DB->ForSQL($word)."'") 

Меняем на 

Код
.", ".(BX_SEARCH_VERSION > 1? "'".CSearch::RegisterStem($word)."'": "'".$DB->ForSQL($word)."'") 

Если не поменять, создается не совсем корректная строка MySQL: 

Код
(116, 'ru', , 0.1079, 402.0000), 

Должно быть так: 

Код
(116, 'ru', '', 0.1079, 402.0000), 

Таблицы пустые:

b_search_content_freq
b_search_content_stem
b_search_content_text
b_search_custom_rank
.b_search_stem
b_search_suggest
b_search_user_right

и что надо сделать, чтобы данные таблицы заполнились?
используется поиск на сфинксе.(галочки «При ранжировании результатов учитывать расстояние между словами», «При ранжировании результатов учитывать рейтинг» проставлены)

И за что отвечают данные таблицы?


  • Вопрос задан

    более трёх лет назад

  • 2385 просмотров

Пригласить эксперта

А сайт недавно не был перенесен с помощью бекапа? Там при создании бекапа есть настройка
Исключить из базы данных:

  • статистику
  • поисковый индекс
  • журнал событий

Попробуйте зайти в Настройки > Поиск > Переиндексация поиска и нажать «Переиндексация». Данные появились?

Про настройки модуля можно почитать тут


  • Показать ещё
    Загружается…

24 июн. 2023, в 10:51

5000 руб./за проект

24 июн. 2023, в 10:40

10000 руб./за проект

24 июн. 2023, в 10:30

20000 руб./за проект

Минуточку внимания

Обновил старый битрикс до 1С-Битрикс: Управление сайтом 22.600.100., в проверке системы ошибка
Ошибка! Структура базы данных имеет ошибки. Всего 1, автоматически могут быть исправлены: 0.
В таблице b_search_content_stem поле STEM «`STEM` varchar(50) NOT NULL» не соответствует описанию на диске «`STEM` int NOT NULL»
После выполнения запроса в базе данных получаю ошибку дублирующаяся запись по ключу
ALT ER   TABLE `b_search_content_stem` CHANGE `STEM` `STEM` int NOT NULL;
Ответ MySQL: Документация
#1062 — Дублирующаяся запись ‘0-ru-0.1686-1084’ по ключу ‘UX_B_SEARCH_CONTENT_STEM’

Как исправить эту проблему?

Выполнить удаление модуля «Поиск» без сохранения таблиц. А затем установить его снова. Это пересоздаст все таблицы данного модуля и после этого сложностей с ними не будет.
После переустановки модуля нужно выполнить переиндексацию данных с отключенным параметром «Переиндексировать только измененные», чтобы поиск работал корректно.

11.06.2023
Проблема кеширования битрикс меню подразделов
В новой версии обновления битрикс вылезла проблема с кешем меню выпадающих пунктов раздела (меню вида .тип_меню.menu_ext.php). При переходе по ссылкам в боковом меню раздела всегда будет подменю раздела на который зашли впервые и после этого наглухо закешируется, т.е. пункты подменю всегда одни и теже и не меняются. Отключать кеширование компонента не есть правильно, и не рекомендуется.
ID: 459

08.06.2023
Один важный Seo совет владельцам битрикс сайтов
Владельцам битрикс сайтов редакции от Стандарт и выше, я рекомендую отключать редиректы в проактивной защите для /bitrix/redirect.php и /bitrix/rk.php
ID: 458

04.06.2023
SLAM Продуманная форма обратной связи
На днях обнаружил, что многие бесплатные модули пропали из маркетплейс когда битрикс отключил их из-за отсутствия поддержки РНР 8.1. Хороший модуль SLAM Продуманная форма обратной связи пал в неравной борьбе
ID: 457

  • Ошибка azure devops не удается найти указанный файл
  • Ошибка azk 4796 как исправить
  • Ошибка azk 4621 что делать
  • Ошибка azk 4621 как исправить
  • Ошибка azk 4124 что делать