Мне нужно добавить возможности полнотекстового поиска в мою существующую базу данных. Конечно, первый поворот - это что-то вроде Solr или Elastic Search. И точка блокировки, к которой я пришел, - это то, как безопасно отображать результаты, возвращаемые базовой поисковой системой (давайте подумаем о Solr или Elastic Search на данный момент, однако любые другие решения или механизмы, которые достигли этой точки, также приветствуются).
Сложный контекст заключается в том, что, например, в моей системе есть записи личного профиля, которые нужно проиндексировать. Одно из полей в личном кабинете - обратная связь менеджера. Обычно в системе это поле видимо только непосредственному руководителю сотрудника и более высокой иерархии, т. Е. «Менеджер» из другого филиала не сможет увидеть это поле. Однако я хочу, чтобы это поле можно было искать с помощью полнотекстового поиска, но только для людей, которые действительно могут его видеть.
Теперь я запрашиваю у Solr «тупой» (то есть строку запроса), и он возвращает мне N документов. Когда я возвращаю это конечному пользователю, я уберу поле «Отзыв менеджера», потому что конечный пользователь не является менеджером заданных людей, а просто наличие документа в наборе результатов уже свидетельствует о «глупых» парнях ...
Вопрос в том, что является подходящим подходом для обработки этого варианта использования? Можно ли подключить к Solr / ES собственный фильтр безопасности для выходов?
Предостережения: