Beispiel #1
0
        private IEnumerable <TopKeyword> GetTopKeywords(IEnumerable <ArticleKeyword> keywords, int articleCount, string link, string blog, string category)
        {
            return(keywords.Select(k =>
            {
                var blogCount = keywordService.GetBlogCount(blog) + 1.0;
                var categoryCount = keywordService.GetCategoryCount(category) + 1.0;

                keywordService.Add(k.Word, k.Count, link, blog, category);

                var articleScore = k.Count / articleCount;
                var blogScore = keywordService.GetBlogScore(k.Word, blog) / blogCount;
                var categoryScore = keywordService.GetCategoryScore(k.Word, category) / categoryCount;
                var totalScore = articleScore * 1.5 + blogScore + categoryScore;

                return new TopKeyword(k.Word, totalScore);
            }));
        }