Перейти к содержанию

AI-поиск — Руководство пользователя

Где найти: вкладка AI beta на странице поиска ({host}/spa/search?searchBy=vector)

Умный поиск в 1Форме. Понимает русский язык, категории, ДП, имена сотрудников, статусы. Четыре режима — переключаются автоматически по тексту запроса.


Четыре режима поиска

Режим Что ищет Как активируется Пример
Задачи Задачи по фильтрам и тексту По умолчанию пресейлы клиент ригла
Комментарии Комментарии по автору и тексту Слова: писал, обсуждал, комментарий, переписка Матвеев писал про интеграцию
Содержимое файлов OCR-текст внутри вложенных файлов Фразы: «в файлах», «по вложениям», «содержимое файлов» в файлах протокол совещания
Файлы по имени Файлы по имени и расширению Расширение в запросе: .xlsx, .pdf, .docx и др. отчёт.xlsx

1. Поиск задач (по умолчанию)

Всё что не попадает в другие режимы — ищет задачи. Парсер разбирает запрос на структурные фильтры. Что не разобрано — уходит в полнотекстовый поиск.

Категории и разделы

Просто напиши название — парсер распознает:

пресейлы                          → задачи категории «Пресейлы»
ошибки хд                         → задачи категории «Ошибки ХД»
в разделе Поддержка               → все задачи раздела
в категории Мобильная разработка  → точное указание

Склонения работают: «пресейлов», «мобильной разработке», «поддержки» — всё распознаётся.

Люди

Фамилия в любом падеже:

задачи Тимонова             → задачи где Тимонов исполнитель
исполнитель Храповицкий     → явная роль
заказчик Тимонова           → задачи где Тимонов заказчик

Фильтры по ДП (дополнительным параметрам)

Если указана категория — можно фильтровать по ДП этой категории. Парсер знает имена ДП и их типы:

пресейлы клиент ригла       → EP «Клиент» contains "ригла"
клиенты КМ Игошин           → EP «КМ» (SelectUsers) = Игошин
клиенты ЛК да               → EP «ЛК» (Checkbox) = да
клиенты рейтинг А+          → EP «Рейтинг» (Select) = "А+"
клиенты ИНН 7724211288      → EP «ИНН» (Text) contains "7724211288"
клиенты оборот > 100000     → EP «Оборот» (Money) > 100000

Операторы сравнения для числовых и денежных ДП: >, <, >=, <=, =, <>.

Если после имени ДП нет значения — ищет задачи где ДП заполнен (is not null):

пресейлы клиентский срок    → задачи где ДП «Клиентский срок» заполнен

Статусы

в статусе Проведение        → задачи в статусе «Проведение»
со статусом Тестирование    → то же

Флаги

открытые                    → только открытые (по умолчанию)
закрытые                    → только закрытые
просроченные                → только просроченные
мои задачи                  → где я исполнитель
я автор                     → где я заказчик
я подписчик                 → где я подписчик

Сортировка

старые задачи ...           → сначала старые (по дате создания)
новые задачи ...            → сначала новые (по дате изменения)

По умолчанию — по дате изменения, новые первые.

Комбинирование

Всё вышеперечисленное комбинируется в одном запросе:

просроченные пресейлы клиент ригла      → flag + category + DP filter
закрытые задачи Тимонова старые         → flag + user + sort
клиенты км игошин эфко                  → category + DP filter + FTS text

2. Поиск по комментариям

Активируется словами-триггерами. Триггер удаляется из текста, остаток парсится как обычно.

Триггеры: писал, написал, обсуждал, говорил, сообщал, спрашивал, отвечал, комментировал (все формы: писала, писали, пишет...), а также: комментарий, комменты, сообщение, переписка.

Матвеев писал про интеграцию            → комментарии Матвеева с текстом "интеграция"
комменты в категории Ошибки ХД          → комментарии в задачах категории
переписка Тимонова                      → комментарии Тимонова

Результат: CommentID | Автор: «текст комментария» + ссылка на задачу.


3. Поиск по содержимому файлов

Ищет текст внутри вложенных файлов (OCR-распознавание). Активируется явными фразами — просто слово «файл» не сработает.

Триггеры: «в файлах», «в файле», «по файлам», «из файлов», «содержимое файлов», «в вложениях», «по вложениям».

в файлах протокол совещания             → файлы с текстом "протокол совещания" внутри
по вложениям акт приёмки                → то же
в файлах пресейлы бюджет                → файлы в категории Пресейлы с "бюджет"

Поддерживает морфологию: «протокол» найдёт «протоколы», «протоколом» и т.д.

Результат: FileID | имя файла + ссылка на задачу.

Поиск записей встреч (ВКС)

Слова «транскрипция», «ВКС», «расшифровка», «стенограмма», «видеоконференция» и биграммы «протокол ВКС», «запись встречи», «запись созвона» — специальный режим: ищет файлы с именем «Видеоконференция от …» по содержимому. Не требует явных триггеров типа «в файлах».

транскрипция встречи с Ригла    → файлы «Видеоконференция от…» с "Ригла"
запись созвона апрель            → файлы «Видеоконференция от…» за апрель

4. Поиск файлов по имени

Самый простой режим. Если в запросе есть расширение файла — весь запрос трактуется как имя файла.

Расширения: .txt, .doc, .docx, .rtf, .pdf, .xls, .xlsx, .csv, .ppt, .pptx, .png, .jpg, .gif, .svg, .zip, .rar, .7z, .mp4, .mp3, .eml, .msg, .html, .xml, .json, .md, .sql и другие (39 форматов).

протокол.docx                           → файлы с "протокол.docx" в имени
.xlsx                                   → все xlsx-файлы
report.pdf                              → файлы с "report.pdf" в имени
акт сверки.pdf                          → файлы с "акт сверки.pdf" в имени

Не миксуется с другими режимами. Не отправляется в LLM. Работает мгновенно.

Результат: FileID | имя файла + ссылка на задачу.


Как это работает внутри

  1. Парсер (мгновенно, ~0ms) — разбирает запрос на структурные фильтры: категории, людей, ДП, флаги, сортировку. Знает морфологию русского языка.
  2. SQL (200–500ms) — всегда выполняется: ShowTasksFeed с параметрами из парсера. Права доступа работают как обычно — видишь только то, к чему есть доступ.
  3. FTS FORMSOF (200–500ms, только если SQL вернул 0 результатов) — полнотекстовый поиск с морфологией, тот же ShowTasksFeed с @TaskTextSearchType=2.
  4. Vector search (1–3 сек, только если SQL и FTS вернули 0, и включён отдельно) — семантический поиск по фрагментам задач через PG + OpenAI embeddings. По умолчанию отклющён.

Большинство запросов обрабатывается SQL с правильными параметрами — ответ за 200–500ms. Свободный текст («условия поставки с отсрочкой») обрабатывается vector search за 1–3 сек.


Частые вопросы

Почему поиск вернул 0 результатов? Парсер мог неправильно распознать слово как категорию или имя. Попробуй упростить запрос или уточнить с явным маркером: «в категории X» вместо просто «X».

Почему долго? Если парсер не нашёл результатов — подключается vector search (1-3 сек). Структурированные запросы (с категорией, именем, ДП) работают мгновенно (200-500ms).

Регистр важен? Нет. «тимонова», «Тимонова», «ТИМОНОВА» — работают одинаково.

Как искать одновременно по задачам и файлам? Нельзя. Один запрос — один режим. Два отдельных запроса.