我有一个具有多个参数的 OData 查询。如何将其转换为有效的 JSON,以便我可以进一步处理它以查询 Elasticsearch?
例如:
O数据:
$filter=CodeName eq 'beta' or loaded eq true and deprecated eq false or flagged eq true
我正在解析传入的 OData 查询,并且必须使用所需的格式查询 Elasticsearch。
查看一下 https://github.com/cristipufu/elasticsearch-odata-net - .NET 实现
使用示例:
[HttpGet]
public async Task<IActionResult> Get(ODataQueryOptions<Document> queryOptions)
{
var searchDescriptor = queryOptions.ToElasticQuery<Document>();
var response = await _elasticClient.SearchAsync<Document>(searchDescriptor);
if (response.IsValid)
{
return Ok(response.Documents);
}
else
{
return BadRequest();
}
}