首页 > 解决方案 > DotNet Core Azure 搜索 SDK - 筛选结果

问题描述

我们正在尝试在 Azure(认知)搜索中实现筛选功能。我希望找到一些不错的 SDK 方法来隐藏所有丑陋的部分,但到目前为止,我发现的唯一示例如下所示(来源):

SearchParameters parameters = new SearchParameters()
{
    Filter = String.Format("groupIds/any(p:search.in(p, '{0}'))", string.Join(",", groups.Select(g => g.ToString()))),
    Select = new[] { "application essays" }
};

我想知道,我是否缺少一些文档。或者它可能在路线图上?

标签: azure-cognitive-searchazure-search-.net-sdk

解决方案


查看我们上个月发布的新Azure.Search.Documents SDK。它确实具有 OData 过滤器帮助,您可以在此处找到:

int stars = 4;
SearchOptions options = new SearchOptions
{
    // Filter to only Rating greater than or equal our preference
    Filter = SearchFilter.Create($"Rating ge {stars}"),
    Size = 5, // Take only 5 results
    OrderBy = { "Rating desc" } // Sort by Rating from high to low
};

它会正确转义字符串参数。OData$filter语法仍然需要原始输入,但格式化字符串中的类型帮助器应该让您的情况更容易:您不必担心自己转义值。


推荐阅读