- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ранее писал на форуме о проблеме. Советовали смотреть в сторону FULLTEXT и BOOLEAN MODE.
В общем создал индекс в таблице dle_post
CREATE FULLTEXT INDEX srchtitle ON dle_post (title);
Затем отправился редактировать файл search.php -
было -
Стало -
Сама форма запроса -
Пытался искать, легче не стало. Так же 20 секунд на поиск. Может чего неправильно сделал?
Вот лог MySQL
572 Query SET NAMES utf8mb4
572 Query SET NAMES 'utf8mb4'
572 Query SELECT @@SESSION.sql_mode
572 Query SELECT * FROM dle_users WHERE user_id='1'
572 Query SELECT COUNT(*) as count FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND e.disable_search=0 AND (MATCH(title) AGAINST ('joker' IN BOOLEAN MODE))
572 Query SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND e.disable_search=0 AND (MATCH(title) AGAINST ('joker' IN BOOLEAN MODE)) ORDER BY date desc LIMIT 0,10
572 Quit
man explain итп... вы что думаете кто-то будет эти ваши портянки разбирать ?
Упс. Это не его портянки, это портянки DLE и тех кто этот DLE делал..
да ладно, поставлю поиск от гугла)
скорее тут пробема не в ДЛЕ, а в том, что сервер БД медленно работает
сколько у вас новостей
оптимизируйте таблицу пост.
в режиме boolean mode должно быстро работать
могу помочь. только для быстрого поиска.
сколько у вас новостей
оптимизируйте таблицу пост.
в режиме boolean mode должно быстро работать
могу помочь. только для быстрого поиска.
1800 000 новостей) думаю для этого объема 15 с это норма
Полноценный индекс не работает с другими индексами вместе.
Поэтому вам сначала надо делать поиск полноценный, и потом уже из имеющихся данных делать выборку.
Также, рекомендую кэш прикручивать к такому поиску, иначе поднимать полноценный индекс очень "дорого".
1800 000 новостей) думаю для этого объема 15 с это норма
Как же без гравицапы:D Просто в другую табличку с правильным фултекст индексом перенесите и "в любую точку вселенной за пять секунд" (с)
5 сек, нет 1 максимум для 2кк текстов.