Elasti c Поиск - Результаты, основанные на свойствах пользователей - PullRequest
2 голосов
/ 02 апреля 2020

Каковы рекомендации, когда дело доходит до индексации с Elasti c Поиск, который необходимо обслуживать на основе сложного пользовательского контекста. Например, видимость товара может быть ограничена для определенных продавцов и категорий или для обоих. Как моделировать данные?

1 Ответ

1 голос
/ 02 апреля 2020

Вместо реализации ограничений чтения в вашей модели данных, вы можете установить ограничения документа и полей для пользовательских ролей . Предположим, что определенные продавцы организованы в роли с именем sellers_A . Затем вы можете ограничить документы и поля, к которым пользователи, имеющие отношение к этой роли, могут обращаться (читать) из определенного индекса.

См. https://www.elastic.co/guide/en/elasticsearch/reference/current/field-and-document-access-control.html о том, как настроить уровень поля и защиту документа.

Преимущество заключается в том, что ваша модель данных вообще не затрагивается. Кроме того, в будущем вы можете просто обновить доступ для каждой роли вместо постоянного обновления вашей модели данных (что потребует переиндексации и т. Д. c.).

Мне известно, что мой ответ не сфокусирован строго на аспекте модели данных. Но, на мой взгляд, ограничения на уровне поля и документа обеспечивают очень хороший механизм для удовлетворения ваших требований (конечно, не зная всех деталей вашего варианта использования).

Надеюсь, что смогу вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...