是否有推荐的方法将查询结果的数据聚合包含在REST API中?

时间:2019-12-11 23:44:39

标签: python rest api elasticsearch fastapi

我有一个公开的漂亮的REST API(仅GET)。我正在对Lucene查询字符串使用一种变体,以允许用户执行非常复杂的查询并滚动结果集。端点按资源(研究,样本等)排列。

一个正交但相关的操作是使用后端(elasticsearch)对查询结果执行数据聚合。在这种情况下,关注点不在于查询结果本身,而是针对过滤后的查询结果的聚合而不返回它们。因此,从某种意义上讲,我将过滤资源与另一个资源(数据聚合/摘要)进行了合并。实际上,这根本不是技术问题,但我很好奇,当REST API过滤包含可能是两种不同的资源时,其他人会做什么。

我现在的实现是包括一个额外的查询参数facets,该参数将向json结果集中添加聚合结果,类似于elasticsearch所做的。这似乎有点骇人听闻,但我还没有找到其他方法来将构面/聚合视为资源,而不必简​​单地重复查询功能。

API在此处运行:

https://api.omicidx.cancerdatasci.org/

0 个答案:

没有答案