【发布时间】:2020-05-12 12:39:07
【问题描述】:
我正在创建一个网站搜索并使用许多过滤器选项。我想在我的许多搜索结果中使用过滤器,为此我在 SearchParameters 中看到了用于 Azure 认知搜索的 Filter 属性。 当我尝试在过滤器搜索中传递这些参数时,我想要的是在过滤器中传递一个变量。 是否有任何可能的方式我不必从我的数据中手动传递 Boulevard House 并使用变量 houseName 代替,因为我提供了可供选择的选项,这只是纯硬代码。 任何参考都会有所帮助,因为我试图阅读文档但徒劳无功。
{
Filter = String.Format("HouseName eq '{0}'", houseName)
} ;
var names = new List<Search>();
if (nameResult.Results.Count > 0)
{
foreach (SearchResult<Search> results in nameResult.Results)
{
names.Add(results.Document);
}
}
NameSearchViewModel nameSearchViewModel = new NameSearchViewModel();
nameSearchViewModel.Grants = names;
return View(namesSearchViewModel);
【问题讨论】:
-
我不完全明白问题出在哪里。如果您将带有过滤器的选项传递给您的搜索方法,它应该可以工作。此外,上个月我们发布了 Azure.Search.Documents - 我们正在关注的新版本 - 它具有 OData 过滤器帮助,可以根据需要为您转义值。有关示例,请参见 nuget.org/packages/Azure.Search.Documents。
标签: azure-cognitive-search azure-search-.net-sdk