Я пытаюсь создать функцию поиска, которая позволит пользователям искать все файлы, к которым у них есть доступ. До сих пор я пытался использовать Scout, но, похоже, он не предназначен для таких сложных запросов. Многие примеры, которые я вижу о Scout, в основном тривиальны, например, случай использования, когда у вас есть блог, и вы хотите найти статью в блоге по названию без неопубликованных статей. Но это не зависит от прав доступа вошедшего в систему пользователя. Как насчет случаев, когда у вас могут быть разные индексы в зависимости от поиска пользователя?
Вот конкретный пример того, что я хочу реализовать.
На этом изображении мы показываем пользователей, имеющих доступ к различным проектам и проектам, содержащим несколько файлов. В этом примере пользователь W имеет доступ к проекту A и проекту B и, таким образом, имеет доступ к файлам от A до E. Когда пользователь W выполняет поиск в веб-приложении, файл F никогда не должен появляться в результатах поиска.
- Пользователь X не должен видеть никаких файловых результатов.
- Пользователь Y -> Файл от A до F
- Пользователь Z -> Файл от D до F
Является ли Laravel Scout хорошим кандидатом на такую функцию расширенного поиска?
Если нет, то как реализовать такую функцию? Где я должен искать, чтобы начать?