У меня есть три фильтра, а именно категория, подкатегория и тип продукта, которые необходимо применить к поисковому запросу. В настоящее время я использую Azure Поиск. На данный момент я использую фильтр данных, как показано в приведенном ниже коде.
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, то он должен отображать результаты, относящиеся к этой категории Id. Если пользователь применяет и categoryId, и subcategoryId, он должен иметь возможность видеть оба продукта, которые соответствуют указанной категории фильтра и подкатегории. Если только отправляется producttypeId, то он должен иметь возможность видеть продукты, относящиеся к этот producttypeId. Конечно, я мог бы использовать if и else и построить свой фильтр, используя «логические или» и «логические и». Есть ли какая-нибудь библиотека данных, которая бы мне помогла в этом отношении?