Вместо реализации ограничений чтения в вашей модели данных, вы можете установить ограничения документа и полей для пользовательских ролей . Предположим, что определенные продавцы организованы в роли с именем sellers_A . Затем вы можете ограничить документы и поля, к которым пользователи, имеющие отношение к этой роли, могут обращаться (читать) из определенного индекса.
См. https://www.elastic.co/guide/en/elasticsearch/reference/current/field-and-document-access-control.html о том, как настроить уровень поля и защиту документа.
Преимущество заключается в том, что ваша модель данных вообще не затрагивается. Кроме того, в будущем вы можете просто обновить доступ для каждой роли вместо постоянного обновления вашей модели данных (что потребует переиндексации и т. Д. c.).
Мне известно, что мой ответ не сфокусирован строго на аспекте модели данных. Но, на мой взгляд, ограничения на уровне поля и документа обеспечивают очень хороший механизм для удовлетворения ваших требований (конечно, не зная всех деталей вашего варианта использования).
Надеюсь, что смогу вам помочь.