从 OData 查询字符串创建 SearchParameters?

Create SearchParameters from OData query string?

我正在编写一个 API,它基本上是 Azure 认知搜索的前端。

我想接受一个 OData 查询($filter、$orderby 等)并以某种方式将此查询字符串解析为一个 SearchParameters 对象,我可以用它调用后端。

我意识到我自己可以做到这一点,但令我惊讶的是还没有这样的辅助函数。

正确,目前没有辅助方法可以执行此操作。它不是高优先级,因为这只是我们第二次听到此请求(this 是另一次)。

您可以contribute to the SDK if you want. Note that there is a new .NET SDK now generally available -- Azure.Search.Documents. We are no longer maintaining or releasing Microsoft.Azure.Search, so if you do contribute, make sure it's to the right project. Also note that all Azure SDKs now must follow the Azure API Guidelines,PR 将得到相应处理。

一条建议 -- 根据您的用户构建查询的方式,您可能不想在 URL 查询字符串上接受 $filter。我们的一些客户构建了非常大的过滤器,打破了各种 URL 查询字符串限制,这就是我们引入 POST 版本的搜索和建议 API 的原因。如果您要将 OData 过滤器转发到我们的 API,您可能想要做同样的事情。这将为您省去解析 URLs 作为额外奖励的麻烦。