Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Filter catalog content

Describes how to filter catalog content in Optimizely Commerce Connect using the Optimizely Search & Navigation.

The examples use predefined filters to narrow results on catalog content.

Markets

  • FilterOnCurrentMarket filter
var results = SearchClient.Instance.Search<VariationContent>()
 .FilterOnCurrentMarket().GetContentResult();
  • AvailableMarkets filter
var result = SearchClient.Instance.Search<VariationContent>()
     .Filter(x => x.AvailableMarkets().MatchContained(v => v.Value, "market"));

Pricing

  • Currency filter
var result = SearchClient.Instance.Search<VariationContent>()
     .Filter(x => x.DefaultPrice().UnitPrice.Currency.Match(currency));
  • UnitPrice.LessThan filter
var result = SearchClient.Instance.Search<VariationContent>()
     .Filter(x => x.DefaultPrice().UnitPrice.LessThan(2));
  • UnitPrice.GreaterThan filter
var result = SearchClient.Instance.Search<VariationContent>()
     .Filter(x => x.DefaultPrice().UnitPrice.GreaterThan(2));
  • UnitPrice.InRange filter
var result = SearchClient.Instance.Search<VariationContent>()
     .Filter(x => x.DefaultPrice().UnitPrice.InRange(2, 4))

Bundles

  • BundleEntries filter
var result = SearchClient.Instance.Search<BundleContent>()
     .Filter(x => x.BundleEntries().MatchContained(c => c.ID, contentReference.ID));
  • ParentBundles filter
var result = SearchClient.Instance.Search<EntryContentBase>() 
 .Filter(x => x.ParentBundles().MatchContained(c => c.ID, contentReference.ID));

Packages

  • PackageEntries filter
var result = SearchClient.Instance.Search<PackageContent>()
     .Filter(x => x.PackageEntries().MatchContained(c => c.ID, contentReference.ID));
  • ParentPackages filter
var result = SearchClient.Instance.Search<EntryContentBase>()
     .Filter(x => x.ParentPackages().MatchContained(c => c.ID, contentReference.ID));

Node relations

  • ParentNodeRelations filter
var result = SearchClient.Instance.Search<BundleContent>()
     .Filter(x => x.ParentNodeRelations().MatchContained(c => c.ID, contentReference.ID));
  • ChildNodeRelations filter
var result = SearchClient.Instance.Search<BundleContent>()
     .Filter(x => x.ChildNodeRelations().MatchContained(c => c.ID, contentReference.ID));