GitHub перевёл улучшенный поиск по Issues в общий доступ: теперь можно описывать проблему обычным языком и получать релевантные задачи, даже если в них другие формулировки. Семантический и гибридный режимы доступны не только в интерфейсе, но и через API — пригодится и командам, и разработчикам внутренних инструментов.
Большие репозитории со временем превращаются в «архив решений»: ответы на похожие проблемы уже есть, но найти их по ключевым словам бывает сложнее, чем решить заново. GitHub вывел улучшенный поиск по Issues в общий доступ — он умеет находить задачи по смыслу, а не только по совпадению слов.
Что изменилось в поиске
Новый режим строится на индексации заголовков и текстов задач и помогает искать «по смыслу». Это полезно, когда:
- в команде разные привычки именования (например, кто-то пишет i18n, а кто-то — «локализация»);
- проблему описывают по-разному (симптомы vs причина);
- в старых задачах использовались другие термины.
В GitHub приводят метрику из периода превью: если поиск удаётся, то нужный результат попадает в топ‑3 в 75% случаев — против 66% у классического поиска по ключевым словам.
Где это работает: репозиторий и общий список задач
Семантический поиск доступен:
- внутри конкретного репозитория;
- на панели задач (Issues dashboard) — сразу по нескольким вашим репозиториям.
По умолчанию результаты сортируются по релевантности, чтобы наверху оказывались наиболее подходящие обсуждения и тикеты.
Два режима: «семантика» и «гибрид»
GitHub разделяет два сценария:
- Semantic — когда вы формулируете запрос естественным языком, и система ищет концептуально похожие задачи (даже без совпадения слов).
- Hybrid — когда GitHub объединяет два подхода: смысловой матчинг плюс точные совпадения. Это удобно, если вы хотите и «похожие кейсы», и «точно такие же слова» в одном списке.
При этом запросы, которые состоят только из фильтров или используют кавычки для строгого совпадения, остаются в «классическом» (лексическом) режиме — для точности.
Теперь это можно использовать в API
Изменение важно не только для веб‑интерфейса: поиск по смыслу стал доступен через REST и GraphQL. Это открывает сценарии для команд, которые строят свои инструменты вокруг GitHub: внутренние порталы поддержки, боты в чатах, автоподсказки в трекере задач.
REST: используется стандартный эндпоинт поиска по issues, но добавляется тип поиска:
/search/issues?search_type=semantic
/search/issues?search_type=hybrid
В ответе GitHub указывает, какой тип поиска был применён, а если произошёл откат к лексическому режиму — объясняет причину. Если параметр не задан, выполняется обычный лексический поиск.
GraphQL: у запроса поиска появился аргумент searchType со значениями SEMANTIC или HYBRID.
Уточнять область поиска можно привычными квалификаторами org:, user:, repo:. Для семантических и гибридных запросов действует отдельное ограничение: 10 запросов в минуту (у обычного поиска лимиты остаются прежними).
Что это даёт в реальной работе
Самый заметный эффект — меньше дублей. Когда человек не находит старую задачу, он создаёт новую, и команда начинает обсуждать одно и то же параллельно в двух местах. Поиск «по смыслу» снижает этот шум: проще наткнуться на старое обсуждение, решение, обходной путь или объяснение, почему «так делать нельзя».
Второй плюс — быстрее онбординг. Новичку не обязательно знать внутренний словарь команды (как вы называете подсистемы, сокращения, кодовые имена), чтобы найти нужные обсуждения.
Небольшие, но приятные улучшения вокруг Issues
- Редактор шаблонов задач в интерфейсе сохраняет поле
Typeпри редактировании. - В фильтрах поиска по issues корректно работает упоминание назначенных исполнителей через
@. - Перечисление нескольких
repo:,org:,user:через запятую больше не ломает поиск на панели задач. - Диаграммы Mermaid внутри свернутых блоков отображаются корректно.
