5

我们的应用引擎数据存储中有一些非结构化的文本数据。我想在数据存储对象的子集上创建一个属性的“一次性”标签云。环顾四周,我看不到任何框架可以让我在不自己编写的情况下做到这一点。

我想到的方式是:

  • 编写一个 map(如 map reduce)函数来遍历数据存储中特定类型的每个对象,
  • 将文本字符串拆分为单词
  • 对于每个单词递增一个计数器
  • 使用最终计数通过一些第三方软件生成标签云(离线 - 欢迎任何建议)

因为我以前从未这样做过,所以我在徘徊,如果首先有一些框架可以为我做这件事(),如果不是,我是否以正确的方式接近它。即,请随时指出计划中的漏洞。

4

1 回答 1

5

Feed TagCloudPyTagCloud是两种可能。

  • 用于 Google App Engine 的 Feed TagCloud Generator 小工具可能适合您的需求。不幸的是,它是无证的。幸运的是,它相当简单,但我不确定它是否适合您的需求。

    它在提要上运行,并且看起来有些灵活,因此,如果您有站点的提要,那么集成可能不会太麻烦,尽管所有处理都将在线进行。

  • PyTagCloud也值得一看。您将能够离线进行处理,它会生成相当漂亮的云。

    要使这项工作正常进行,您要做的就是导出数据存储;计数和拆分将为您完成,因为 PyTagCloud 可以对文本文件进行操作。按照 App Engine 文档中有关上传和下载数据的说明,将向您展示如何将数据存储区导出到本地计算机。您需要编写一个“导出器类”,并让 PyTagCloud 对输出进行操作。


如果您决定自己推出,您可能希望跳过在线处理并使用上面上传和下载数据的离线方法,除非您想要动态更新的云。遍历整个数据存储并进行在线计数是该任务中最烦人和最昂贵的部分。仅当您想要或需要动态标签云时才有意义。如上所述,我建议编写一个“导出器类”,并在本地对其进行操作。

于 2011-03-07T17:11:10.303 回答