Я хочу понять, как решения корпоративного поиска решают проблему разрешений пользователей.
Мой вопрос касается отображения результатов поиска для пользователей. Наивный подход будет отображать результаты поиска пользователю, а затем, если пользователь щелкнет документ, на просмотр которого он не имеет права, он не сможет его открыть. Однако запрещается даже отображать заголовок документа или отрывок, если у пользователя нет разрешения на его чтение. То же самое можно сказать и о различных корпоративных поисковых системах:
- индексировать каждый документ вместе с его ACL?
- индексировать все документы без информации о разрешении, но проверять каждую ссылку в каждом результате поиска, чтобы узнать, есть ли у запрашивающего пользователя разрешение на просмотр этой ссылки?
Вариант № 2 кажется мне более разумным, но он также кажется намного медленнее, чем вариант № 1.
Вариант № 1 страдает от необходимости постоянно обновлять изменения в разрешениях для проиндексированных документов.
Я хочу понять, каков общий подход в существующих решениях на рынке сегодня. Есть ли третий вариант?