Beispiel #1
0
        public ResponseBase <string[]> Get(string tags, RecommendationType type, int topK = 5)
        {
            var response           = new ResponseBase <string[]>();
            var productRecommender = new ProductRecommender(type, tags, topK * _bestNMultiplier, topK);

            this.RunSafely(() =>
            {
                productRecommender.CalculateOutputs();
                var result = productRecommender.Outputs;

                //log recommendations
                var dt = DataProvider.GenerateProductRecommendationDataTable();
                var recommendationDate = DateTime.Now;
                for (int i = 0; i < result.Length; i++)
                {
                    dt.Rows.Add(null, tags, i + 1, result[i], recommendationDate);
                }
                DataProvider.WriteProductRecommendationToDatabase(dt);

                response.Success(result);
            }, ex =>
            {
                response.Error(ex);
            });

            return(response);
        }