Фасетный поиск

Аватара пользователя
Alexander Koumakov
Сообщения:34
Зарегистрирован:21.12.2012 16:48
Фасетный поиск

27.09.2018 17:51

В поиск добавить фасетную навигацию, как в youtrack, где можно указать проект, задачу, пользователей и прочую информацию + поисковой запрос, в рамках чего уже будет осуществляться поиск.

Аватара пользователя
Dmitry Goncharenko
Сообщения:3867
Зарегистрирован:06.06.2012 13:54

Re: Фасетный поиск

28.09.2018 12:59

Мы периодически получаем запросы на различные уточняющие условия для поиска. Вообще, подобные изменения возможны, но добавление каждого такого параметра означало бы существенное увеличение БД, т.к. для этого глобального поиска мы используем движок Sphinx. Я не знаю, какой подход использует Youtrack, но предполагаю, что там обычные запросы к БД, что-то типа того, как у нас работает поиск внутри фильтров. Это совсем другой механизм, со своими плюсами и минусами. По-простому скрестить их в одном поиске, который бы работал быстро по большим объемам данных и при этом не отгребал бы неподъемные ресурсы на генерацию и поддержание индексов, не получится. А увеличивать стоимость сервиса для того, чтобы содержать дополнительную инфраструктуру поиска, тоже не хочется - это один из тех случаев, когда увеличение удобства на 20% влечет за собой увеличение затрат на 80. Так что пока мы просто копим подобные запросы и смотрим, куда они нас выведут дальше.

Аватара пользователя
Михаил Храпунов
Сообщения:451
Зарегистрирован:23.05.2013 21:46

Re: Фасетный поиск

13.12.2018 10:23

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

Аватара пользователя
Dmitry Goncharenko
Сообщения:3867
Зарегистрирован:06.06.2012 13:54

Re: Фасетный поиск

13.12.2018 20:03

Михаил Храпунов писал(а):
13.12.2018 10:23
А если так: глобальным поиском найти все что нужно, а потом заданными фильтрами показать из найденного только то, что требуется по фильтрам?
Теоретически возможно, практически требует создания нового раздела, в который будут попадать результаты поиска и обрабатываться в интерфейсе, похожем на интерфейс других разделов, типа "Задачи". Это вполне реально, просто большой кусок работы. Но если будут стабильные запросы, будем прорабатывать в том числе и такой вариант.

Аватара пользователя
Алексей Дёмин
Сообщения:69
Зарегистрирован:18.06.2012 14:21

Re: Фасетный поиск

31.10.2020 18:14

Dmitry Goncharenko писал(а):
28.09.2018 12:59
Мы периодически получаем запросы на различные уточняющие условия для поиска.
Этого очень нехватает.
Dmitry Goncharenko писал(а):
28.09.2018 12:59
Вообще, подобные изменения возможны, но добавление каждого такого параметра означало бы существенное увеличение БД, т.к. для этого глобального поиска мы используем движок Sphinx. Я не знаю, какой подход использует Youtrack, но предполагаю, что там обычные запросы к БД, что-то типа того, как у нас работает поиск внутри фильтров.
А что если индексировать не всё, а при первом обращении делать запрос, и сохранять просканированное в индексе на время?

Сфинкс не позволяет реализовать язык запросов, на подобии используемого в поисковиках? Это позволит ограничивать поиск по задачам (текст поиска task:9550 или даже несколько task:9999,8888) и также по проектам?

На хабре, помнится, тоже есть параметры поисковых запросов https://habr.com/ru/search/?q=php+%5Bprogramming%5D#h. И у них, по данным википедии, тоже Sphinx

Аватара пользователя
Халфин Тимур Маликович
Сообщения:83
Зарегистрирован:14.05.2019 10:34

Re: Фасетный поиск

02.11.2020 18:23

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

Аватара пользователя
Dmitry Goncharenko
Сообщения:3867
Зарегистрирован:06.06.2012 13:54

Re: Фасетный поиск

03.11.2020 15:42

У Сфинкса есть свой, достаточно развитый, язык запросов, но:
- включение его требует дополнительных ресурсов
- он достаточно гиковский, поэтому на массовое его использование рассчитывать не приходится

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

Аватара пользователя
Илья Федоров
Сообщения:492
Зарегистрирован:21.01.2018 18:09

Re: Фасетный поиск

03.11.2020 18:18

Халфин Тимур Маликович писал(а):
02.11.2020 18:23
я например, готов подождать результатов обработки поискового запроса несколько минут.
т.е., существующий поиск очень удобен и сильно изменяет привычки пользователей и сценарии обмена информацией. Но очень редко очень нужны поисковые запросы.
А я практически не использую поиск. Сначала уду в нужный раздел и фильтр и делаю там либо отбор либо поиск.

Аватара пользователя
Халфин Тимур Маликович
Сообщения:83
Зарегистрирован:14.05.2019 10:34

Re: Фасетный поиск

09.11.2020 11:17

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

Аватара пользователя
Прудников Кирилл
Сообщения:11
Зарегистрирован:20.02.2020 23:38

Re: Фасетный поиск

29.05.2021 21:20

Dmitry Goncharenko писал(а):
13.12.2018 20:03
Михаил Храпунов писал(а):
13.12.2018 10:23
А если так: глобальным поиском найти все что нужно, а потом заданными фильтрами показать из найденного только то, что требуется по фильтрам?
Теоретически возможно, практически требует создания нового раздела, в который будут попадать результаты поиска и обрабатываться в интерфейсе, похожем на интерфейс других разделов, типа "Задачи". Это вполне реально, просто большой кусок работы. Но если будут стабильные запросы, будем прорабатывать в том числе и такой вариант.
Сильно не хватает. Особенно неопытные пользователи часто жалуются. Сквозной поиск хорошо, но он выдает очень много лишнего. Плюс там на мой взгляд неинтуитивно сделано включение/отключение поиска по завершенным задачам (если отключил завершенные задачи, то в следующий раз надо помнить об этом, и отдельно включать опять поиск по завершенным. ).

Я ещё как-то обхожусь, а сотрудники все как один письма вынуждены искать в Gmail))

Ответить