gpt4 book ai didi

c# - 使用多个筛选器的 Azure 搜索

转载 作者:行者123 更新时间:2023-12-04 10:29:10 24 4
gpt4 key购买 nike

我有三个过滤器,即需要应用于搜索查询的类别、子类别和产品类型。我目前正在使用 Azure 搜索。截至目前,我正在使用 odata 过滤器,如下面的代码所示。

SearchParameters parameters = new SearchParameters();

string searchText = Request.Query["query"];
string category = Request.Query["c"];
string subCategory = Request.Query["sc"];
string productType = Request.Query["pt"];

parameters.Filter = $"Category/Id eq '{category}' or SubCategory/Id eq '{subCategory}'" +
$"or ProductType/Id eq '{productType}'";

我如何获得一个结果,如果用户应用 categoryId,那么它应该显示与该 Category Id 相关的结果。如果用户同时应用 categoryId 和 subcategoryId,他应该能够看到与指定过滤器类别匹配的两个产品和subcategory.If 只提交 producttypeId 那么他应该能够看到属于那个 producttypeId 的产品。当然,我可以使用 if 和 else 并使用“逻辑或”和“逻辑与”构建我的过滤器。
如果有任何 Odata 库可以在这方面帮助我?

最佳答案

感谢您的建议。我使用 OData FilterString 解决了这个问题

 string filterquery = FilterString.Generate<Product>(p => p.Category.Id == category && 
p.SubCategory.Id == subCategory &&
p.ProductType.Id == productType);

parameters.Filter = filterQuery;

关于c# - 使用多个筛选器的 Azure 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60489762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com