ElasticSearch:在NEST中的用户提供的查询顶部应用过滤器

问题描述 投票:0回答:1

用户可以使用专用端点来传递查询。他可以自由地为所有字段指定任何查询和过滤器。但是在端点将搜索请求重定向到Elasticsearch服务器之前,我想在顶部应用另一个过滤器,以限制对特定结果集的访问。您可以将其视为授权过滤器:用户X只能访问链接到其用户ID的对象。

我从接受战争查询的端点开始:

        var query = "{\"match\":{\"firstname\":\"John\"}}"
        var searchResponse = await _client.SearchAsync<users>(s => s
            .From(0)
            .Size(10)
            .Query(q =>
                q.Raw(query))
        );

是否可以修改此查询的过滤器以限制对此呼叫的访问?也许甚至有更聪明的方法来解决这个问题。

elasticsearch nest
1个回答
1
投票

如果要自动将过滤器应用于搜索请求,则可以使用filtered aliases来执行。但是请记住,过滤的别名不是授权的综合功能。

© www.soinside.com 2019 - 2024. All rights reserved.