Таблица xf_search_index в XF

john_j

Проверенные
Сообщения
422
Решения
8
Реакции
133
Баллы
745
Вопрос собственно флеймовый, поэтому запощу сюда.

Суть в том, что посмотрев xf_search_index обнаружил что там куча слов и символов, которые собственно не нужны в поисковом индексе.
Я конечно далеко не спец в программировании, но как-бы догадываюсь что из этой таблицы делается выборка при поиске.
Отсюда вопрос - зачем все это там? Или это только у меня что-то не корректно влезло в эту таблицу ?
 
А зачем Вы вообще в базе копаетесь?
Всё, по чему возможен поиск - да, попадает в эту таблицу.
 
  • Мне нравится
Реакции: Hope
Последнее редактирование:
Не понятно зачем там одно-символьные слова, символы типа точка, запятая, скобки, двойные пробелы, бб-коды, и тд.
 
Это всё то, что создают Ваши пользователи на форуме. В эту таблицу агрегируются все темы, посты из них, переписки и многое другое.
 
В эту таблицу агрегируются все темы, посты из них, переписки и многое другое.
Ну переписок и многого другого я там не увидел.
У меня собственно два вида - посты и темы.
Попробовал вычистить от мусора одну большую тему, и проблем ни с поиском, ни с подсветкой поиска по ней не увидел. Кстати подсвечивает сообщения уже из таблицы xf_post
 
Вы какой именно "мусор" чистили? content?
 
Вы какой именно "мусор" чистили? content?
Ради эксперимента в таблице xf_search_index почистил содержимое полей title и message.
Очистил bb-коды, различные символы, переводы строк, и тд
 
Последнее редактирование:
А искали хоть не то же самое, что и до очистки? Оно поисковые запросы Ваши - кеширует, и при попытке поискать тоже самое спустя небольшой промежуток времени с того же аккаунта - выдаёт кешированный результат.
 
Разные запросы пробовал.
Позже попробую еще. Просто пока возник вопрос по необходимости всего что там находится.
 
В общем, на локальной копии оптимизировал таблицу, после удалил почти весь мусор из таблицы, опять оптимизировал.
Размер таблицы ужался с 1.2 GB до 900 MB. Тестировал по всякому, но пока проблем с поиском не обнаружил. Зачем он там, не понятно.
 
Долго расписывать, но вот взять хотя-бы только символы CHAR(10) .
В mysql они занимают 10 байт каждый. А там CHAR(10) + CHAR(13) .
Зачем они там ? Это не печатные символы возврата каретки и переноса строки. Они нужны только для корректного отображения текста на экране. Кто-нибудь ищет возврат каретки ?
Ну будет в индексе запись одной строкой. Она же не выводится на экран. На экран выводятся записи из таблицы xf_post.
Уважаемые гуру, можете объяснить тупому нубу ?
 
Последнее редактирование:
Вообще смешно пользоваться стандартным поиском, когда есть Эластик, который ищет намного лучше.
 
Для него как я понял нужен типа VDS, а это лишние расходы + время на администрирование.
Да и как там с таблицами тоже вопрос.
Все это конечно мелочи, но вопросов по оптимизации xf куча.
Некоторые мне удалось решить своими силами, хотя почему эти простейшие вещи не сделали разрабы - не понятно.
 
Вы не оптимизировали, а сократили размер базы. Это разные вещи.
Я про другие моменты, хотя бегать по маленькой базе движку веселее.
Например сделал статичный css,
Создаваемая нагрузка значительно уменьшилась, и гуглу понравилось - lighhouse стал 90 -100.
Да кучу мелких моментов допиливал.

Да. Поисковый движок.
Зачем? Я думаю что все непечатные символы он вырезает из запроса.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу