Пользователь может использовать выделенную конечную точку для передачи запросов. У него есть свобода указывать любой запрос и фильтровать по всем полям. Но прежде чем конечная точка перенаправит запрос поиска на сервер Elasticsearch, я бы хотел применить другой фильтр сверху, чтобы ограничить доступ только к определенному набору результатов. Вы можете думать об этом как о фильтре авторизации: пользователь X может обращаться только к объектам, связанным с его идентификатором пользователя.
Я начал с конечной точки, принимающей военные запросы:
var query = "{\"match\":{\"firstname\":\"John\"}}"
var searchResponse = await _client.SearchAsync<users>(s => s
.From(0)
.Size(10)
.Query(q =>
q.Raw(query))
);
Есть ли способ изменить фильтр этого запроса, чтобы ограничить доступ к этому вызову? Или, может быть, есть даже более разумный способ приблизиться к этому.