public void Setup()
    {
        TestHelper.CheckEnvironmentVariable();
        SearchClient = new SearchClient(TestHelper.ApplicationId1, TestHelper.AdminKey1);
        SearchConfig configClient2 = new SearchConfig(TestHelper.ApplicationId2, TestHelper.AdminKey2)
        {
            Compression = CompressionType.NONE
        };

        SearchClient2        = new SearchClient(configClient2);
        McmClient            = new SearchClient(TestHelper.McmApplicationId, TestHelper.McmAdminKey);
        AnalyticsClient      = new AnalyticsClient(TestHelper.ApplicationId1, TestHelper.AdminKey1);
        RecommendationClient = new RecommendationClient(TestHelper.ApplicationId1, TestHelper.AdminKey1, "eu");
    }
Example #2
0
        public async Task <ActionResult> Show(string urlSlug)
        {
            var response = await _client.GetItemsAsync <Article>(
                new EqualsFilter($"elements.{Article.UrlPatternCodename}", urlSlug),
                new DepthParameter(1),
                new LanguageParameter(Language)
                );

            if (response.Items.Count == 0)
            {
                return(NotFound());
            }
            else
            {
                try
                {
                    var article = response.Items[0];
                    var recommendationApiKey = _configuration.GetValue <string>("RecommendationApiKey");

                    // If the recommender API key is present
                    if (!string.IsNullOrWhiteSpace(recommendationApiKey))
                    {
                        /* Get recommendations from the Recommendation engine */
                        var recommendationClient = new RecommendationClient(recommendationApiKey, 5);
                        var lastMonth            = TimeSpan.FromDays(30).Milliseconds;

                        var recommendedArticles = await recommendationClient
                                                  .CreateRequest(Request, Response, codename : article.System.Codename, limit : 2, contentType : article.System.Type)
                                                  //.WithFilterQuery("\"personas=Barista\" in 'properties'")
                                                  //.WithBoosterQuery($"if 'lastupdated' >= now() - {lastMonth} then 2 else 1")
                                                  .Execute();

                        var articles = (await _client.GetItemsAsync <Article>(new InFilter("system.codename", recommendedArticles.Select(a => a.Codename).ToArray()))).Items;
                        article.RelatedArticles = articles.Select(a => (object)a);
                        return(View(article));
                    }
                    else
                    {
                        return(View(article));
                    }
                }
                catch (Exception)
                {
                    return(View(response.Items[0]));
                }
            }
        }
Example #3
0
        private static async Task TestRecommendations()
        {
            // Create your Cognitive Services Subscription:
            // https://www.microsoft.com/cognitive-services/en-US/subscriptions
            string subscriptionKey = "{INSERT_YOUR_SUBSCRIPTION_KEY}";

            // Create your Recommendations Model:
            // http://recommendations-portal.azurewebsites.net
            // https://westus.dev.cognitive.microsoft.com/docs/services/Recommendations.V4.0/operations/56f30d77eda5650db055a3d6
            string modelKey = "{INSERT_YOUR_MODEL_KEY}";

            var client = new RecommendationClient(subscriptionKey, modelKey);

            // Upload Usage Data
            await client.UploadUsageEvent("test", "398", RecommendationEventType.AddShopCart, DateTime.UtcNow);

            // Get recommendation
            var recommendations = await client.GetItemToItemRecommendation(new[] { "398" });
        }
Example #4
0
        public async Task <IActionResult> MostPopularLanguages()
        {
            var clinet = new RecommendationClient();

            return(Ok(await clinet.MostPopularLanguages()));
        }
Example #5
0
 public RecommendationBusiness(BusinessContext context) : base(context)
 {
     _cache      = MemoryCache.Default;
     _urlBuilder = new RecommendationUrlBuilder();
     _client     = new RecommendationClient();
 }