Quantcast
Channel: Developer to developer
Viewing all articles
Browse latest Browse all 9076

Multiple searches in one request

$
0
0

I want to use Episerver Find MultiSearch to limit nr of requests to Find, as specified here

How can I dynamically add Searches, typically inside a foreach statement?

The code below works, but I can see through Fiddler that nr of request matches 'mainCategories' count.

if (mainCategories.Any())
 {
     var multiSearchQuery = SearchClient.Instance.MultiSearch<EntryContentBase>();
     foreach (var mainCategory in mainCategories)
     {
        var mainCategoryName = mainCategory.Term;
        multiSearchQuery.Searches.Add(
                multiSearchQuery.Client.Search<EntryContentBase>()
                     .CommonProductFilter(currentStore)
                     .AddPromotionPrefixAndStoreFilter(prefix, currentStore)
                     .Filter(p => p.MainCategory().Match(mainCategoryName))
                     .Take(count));
     }
     var contentResults = multiSearchQuery.GetContentResult();
     foreach (var contentResult in contentResults)
     {
        var productVariants = contentResult.LoadProducts();
        result.AddRange(productVariants);
     }
}

Viewing all articles
Browse latest Browse all 9076

Trending Articles