Esempio n. 1
0
 // This function will get triggered/executed when a new message is written
 // on an Azure Queue called queue.
 public static void StartClusterAnalysis([QueueTrigger("clusterqueue")] int clusterCalculationId, TextWriter log)
 {
     Task.Factory.StartNew(() =>
     {
         using (var context = new SvdEntities())
         {
             ClusterOptimizer.OptimizeRange(context, clusterCalculationId);
         }
     });
 }
Esempio n. 2
0
        public JsonResult GetClusters(int jobId, int k = 2)
        {
            var nameList = new Dictionary <string, List <string> >();

            var start = DateTime.Now;

            var cluster = ClusterOptimizer.OptimizeRange(_context, new ClusterCalculationParameters()
            {
                MinimumClusterCount       = 20,
                MaximumClusterCount       = 20,
                IterationsPerCluster      = 1,
                MaximumOptimizationsCount = 200,
                JobId = jobId
            });

            Debug.WriteLine($"Total Optimization Time: {DateTime.Now.Subtract(start).TotalMilliseconds} Milliseconds");

            for (var i = 0; i < cluster.ClusterMap.Count; i++)
            {
                var fileName = LSA.MatrixContainer.DocNameMap[i];

                if (!nameList.ContainsKey(cluster.ClusterMap[i].ToString()))
                {
                    nameList[cluster.ClusterMap[i].ToString()] = new List <string>();
                }

                nameList[cluster.ClusterMap[i].ToString()].Add(fileName);
            }

            return(Json(new {
                GlobalSI = cluster.GlobalSi,
                ClusterSIAverage = cluster.GlobalClusterSiAverage,
                ClusterSiList = cluster.ClusterSiAverages,
                NameList = nameList,
                NumClusters = cluster.Clusters
            }, JsonRequestBehavior.AllowGet));
        }