【问题标题】:Best Way To Show Related Content Using C#使用 C# 显示相关内容的最佳方式
【发布时间】:2010-03-06 07:48:37
【问题描述】:

我在一个提供新闻、照片和视频(以及其他内容)的高流量内容网站工作。我们努力的一件事是完善我们的“相关项目”模块。如果您正在观看视频,我们会显示 5 个相关视频的列表。这适用于博客文章、文章等……我们的团队很好地标记了带有关键字的内容,并将其与适当的类别相关联,并将其与其他内容类型的项目相关联,但无论我们何时尝试使用任何机制显示“相关内容”永远不会接近 100% 准确。

是否有任何经过验证的真实方法可以根据标记的关键字、标题或类别名称获得相当准确的结果?我们的网站是 .net (c#) 并使用 SQL 2005。如果您需要我详细说明,请告诉我。

谢谢!

【问题讨论】:

    标签: c# search


    【解决方案1】:

    您使用tags 对您的项目进行分类已经很棒了。 根据您使用的标签,这可能非常强大或非常弱。

    首先:确保您使用了有意义的标签名称。

    [坏的:C#1C#1.0Ruby1Ruby-1等等]

    [好的:C#1C#2C#3Ruby1Ruby2等等]

    您现在可以构建您的 GetRelatedItmesList 方法,当然是 Generic 并在其中进行检查。

    例如这样的:

    List<T> GetRelatedItemsList<T> (T item) where T : IOurMediaItem // I used an interface here because I like them :P - it can also be a class.
    {
        if (item.TagCount == 1)
        {
            // Get related items with the same tag and based on some keywords in title
        }
        else
        {
            // First: Get all items with exactly the tags
            // Second Get all items with relating title and append it to the list
        }
    }
    

    无论哪种方式,您也可以对item.TagCount 属性/方法执行switch()

    【讨论】:

    • 酷...我不知道您可以指定泛型必须是的类型。当然,您可以只使用接口而不是泛型,但我想有时使用实际派生类型而不是基类型很有用。不管怎样,我很高兴我看到了这个。你每天都能学到新东西,对吧? =)
    【解决方案2】:

    使用标签是我看到的获得此类功能的最简单方法,例如,如果您正在展示具有艺术、趣味标签的文章或视频,您可以在相关下加载艺术和趣味的前 3 个视频视频部分。

    我使用标签是因为它们更灵活,但在保存标签时使用严格的规则。

    我希望这是有道理的

    【讨论】:

    • 对。由于我们使用的某些标签非常通用且频率很高,因此我们一直在从特定项目上最不常用的标签中提取“最近”内容。这比从高频标签中获取最近的内容效果更好,但似乎最终总有一种情况比另一种效果更好。
    猜你喜欢
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2010-09-09
    • 2015-05-06
    • 1970-01-01
    • 2015-08-06
    • 2013-12-15
    • 2020-05-06
    相关资源
    最近更新 更多