Перейти к публикации

Поиск на сайте почти не работает


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

Доброго времени суток. Не так давно (пару месяцев назад) у старого хостера произошло разрушение рейд массива. Они восстановили данные, но БД была сильно повреждена, и, ясное дело, что мы от них быстро свалили. Нормально рабочей осталась только таблица новостей, комментариев да форума. Пользователей сделали (вытянули ники и e-mail адреса из комментариев, после чего люди восстанавливали доступ через восстановление пароля). Но вот поиск работать стал вообще преужасно. Вводишь в поиск новость, которая на главной первая - а он может выдать ее на последней странице результатов. Может в БД что нарушилось? Просто раму свести не можем уже. БД большая, более 1 Гб. ДЛЕ 9.6. Надеюсь на вашу помощь.

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

В настройках включен полнотекстовый поиск. Пробовали и простой. Результат не меняется. Нужно, чтоб по заголовкам только искало вовсе. Но сделать это так и не вышло, даже использовав советы с этого форума.

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

solar.ivan,

При полнотекстовом поиске ищет MySQL сервер по своим индексам, DLE в поиске не участвует. Убедитесь что в таблицах присутсвуют всех необходимые индексы, также сделайте оптимизацию и анализ таблиц в phpMyAdmin.

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

Вот индексы. Все нормально или что-то не так?

Да у вас все нормально со структурой БД.

Вводишь в поиск новость, которая на главной первая - а он может выдать ее на последней странице результатов.

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

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

Еще такой момент. Так и не понял, когда это произошло и важно ли, но половина таблиц в MyISAM а половина в InnoDB. Есть разница или нет?

Вот индексы. Все нормально или что-то не так?

Да у вас все нормально со структурой БД.

Вводишь в поиск новость, которая на главной первая - а он может выдать ее на последней странице результатов.

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

А как настроить, чтоб искало ТОЛЬКО по названию?

Изменено пользователем solar.ivan
Ссылка на сообщение
Поделиться на других сайтах

Еще такой момент. Так и не понял, когда это произошло и важно ли, но половина таблиц в MyISAM а половина в InnoDB. Есть разница или нет?

Конечно есть. Все таблицы должны быть в MyISAM

А как настроить, чтоб искало ТОЛЬКО по названию?

При расширенном поиске есть соответствующий пункт где искать. Если хотите сразу с сайта, то в шаблоне main.tpl где у вас форма поиска добавляйте поле

<input type="hidden" name="titleonly" value="3" />[/CODE]

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

Ох... странное тут дело. Есть на сайте новость с названием


Batman: Arkham City - Game of the Year Edition (ENG/RUS/MULTi9) [L]

Вставляю в поиск "Batman: Arkham City", а оно мне выдает "К сожалению, поиск по сайту не дал никаких результатов. Попробуйте изменить или сократить Ваш запрос.".

Сайт - http://solarvip.info

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

solar.ivan,

Простой тип поиска в настройках включите, а не расширенный. При расширенном поиске ищет MySQL и он сам решает какие слова вносить в индекс, какие нет. от DLE это не зависит.

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

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...