Поиск

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

Последние несколько месяцев мы плавно и достаточно незаметно улучшаем наш поиск. Если вы пробовали пользоваться им ещё полгода-год назад, то наверное помните, что найти что-то было практически нереально, а в самом топе выдачи могли спокойно попадаться сильно заминусованные посты и не относящиеся к запросу комментарии.

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

Что изменилось

Алгоритм поиска

В первую очередь, мы начали работать над самим алгоритмом. Теперь при сортировке результатов поиска во вкладке «по релевантности» мы учитываем рейтинг материала, дату его публикации, количество комментариев и ещё много других параметров. Если коротко, наверху в выдаче показываются свежие результаты с точными совпадениями и высоким рейтингом, ниже — более давние или с более низким рейтингом. Формулу рассчитывали сами и постепенно продолжаем её улучшать, подкручивая коэффициенты разных параметров.

Сортировка с учётом точности совпадения

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

Работа с опечатками и правки в поиске «по дате»

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

Однако, при сортировке «по дате» из-за работы с опечатками поисковый запрос мог очень сильно «размываться». Из-за этого по нужному запросу выдавались абсолютно не подходящие результаты, например при вводе «губка боб» показывались посты с совпадением по слову «гибкой», а на запрос «3080» показывались комментарии и посты про все остальные видеокарты (1080, 3070, 3060 и т.д.). Подправили работу с опечатками в этой сортировке, что помогло сильно улучшить выдачу «по дате».

Работа с запросами из нескольких слов и очень короткими запросами

Возникали проблемы с запросами, которые состоят из нескольких слов. Чтобы решить проблему подняли приоритет постов, где слова из выдачи находятся близко друг к другу и дополнительно добавили релевантности результатам с прямым совпадением

Была и обратная ситуация, например при вводе условного запроса «лего» топовые результаты приходились на выдачу по «лёг» или «Лема» и так работало для всех коротких запросов. Улучшили выдачу и для таких случаев.

Транслитерация

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

Смена раскладки при неправильном вводе

Теперь поиск умеет автоматически менять раскладку в запросе, если пользователь забыл её переключить. Например, при вводе «сниукзгтл» покажутся результаты по запросу «cyberpunk». Вместе с этим поправили смену раскладки для коротких запросов, когда поиск пытался заменить условный «vfx» на «мач».

Заглавные буквы в запросах

Были проблемы с поиском по запросам «nft», «npc» и похожими, например нельзя было найти подсайт по запросу «Улучшаем dtf». Убрали чувствительность к регистру для коротких запросов, теперь в таких случаях поиск отрабатывает корректно.

Дальнейшие планы

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

Поисковые фильтры

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

Страница выдачи

Сейчас страница с результатами поиска по функциональности и дизайну совсем не соответствует новому алгоритму поиска. В первую очередь, планируем переработать сами острова с материалами, чтобы не было такого шума с выделенными совпадениями. Поработаем ещё и над сортировками и новыми вкладками для удобства поиска по разным категориям.

Работа над алгоритмом

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

Собираем фидбек

С нами уже связался инициативный читатель, который провёл консультацию по поиску и помог собрать некоторые баги. Теперь мы дополнительно хотим попросить помощи у вас, чтобы собрать наиболее частые проблемы и продолжать дальше улучшать поиск.

Будет здорово, если вы попробуете поискать что-то в обновлённом поиске (лучше не присылать старые скриншоты, они могут быть не актуальны) и пришлете проблемы, с которыми столкнулись. Желательно делать это в таком виде:

  • поисковый запрос, с которым возникли проблемы;
  • скриншот выдачи или ссылка на эту выдачу
  • что хотели найти.

Соберём самые популярные проблемы, сгруппируем их и начнём работать над новыми обновлениями. Спасибо!

2121 показ
2.5K2.5K открытий
11 репост
111 комментарий

Неужели сложно добавить поиск только по заголовкам как функцию?

Ответить

Об этом написано в дальнейших планах: «Поисковые фильтры». Сделаем

Ответить

Тоже первое что сделал. Опять льют в уши что делают и меняют что-то.

Ответить

лучший

Ответить

и достаточно незаметносогласен.

Ответить

Брат, не унижай. Лучше укажи, что самое приоритетное.

Ответить

Ну, теперь после вложений от Бухманов придётся делать заметнее, ну или хотя бы имитировать бурную деятельность, ведь они читают DTF ¯\_( ͡° ͜ʖ ͡°)_/¯ В общем на этом пара лямов баксов и закончатся, можно расходиться, на допиливание поиска нужно будет ещё пару лямов.

Ответить