1

在我们的应用程序中,我们有一个包含事物的存储库(它们被称为方法和查询,但这与这个问题并不特别相关)。每件事都有一个标题、描述(尽管有些可能两者都没有)和一些其他数据。用户将事物保存到存储库并从存储库加载和使用事物。

我想知道从可用性的角度组织存储库的最佳方式是什么。似乎有两种主要方法。第一种方法是将东西放在文件夹、子文件夹等中,并具有类似于文件系统的层次结构。第二种方法(已成为时尚)是两个具有平坦空间并为每个事物分配零个或多个标签,以便用户可以查看特定标签的事物列表。

目前我们使用平面空间、标签和搜索。似乎有些难以驾驭。我不确定切换到文件夹/子文件夹是否会更好。

我想更多地了解每种方法的优缺点以及集合的哪些属性以及事物本身建议使用一种或另一种方法或两者的组合。如果有人能指出我对这些的一些研究或讨论,我将不胜感激。

4

3 回答 3

0

没有理由不能同时使用这两种方法。在某种程度上,寻找事物取决于事物是什么以及为什么要寻找它。当有人知道他们在寻找什么时,分层设计可以很好地工作,而当结构不太明显时,基于标签/关键字的系统可以更好地工作。

正如您在互联网或维基百科中看到的那样,链接相似事物的网络结构也非常好。

于 2010-09-07T08:07:45.633 回答
0

在这种情况下,我使用对称定律来帮助我。

首先,您在后端构建树状结构,然后为前端构建标记系统。

您可以使用两者来组织数据收集。

于 2010-09-10T10:25:19.043 回答
0

标签云比层次结构更好,如果

  • 分类不确定(“现在这是小型汽车还是大型卡车?”

  • 没有中央机构进行分类

  • 类别之间没有明显或自然的顺序(汽车可以按颜色或尺寸分类,颜色和尺寸之间没有明显的等级)

  • 可以即时创建新类别

否则,层次结构对完整性更有信心,因为每个项目都有一个明显正确的位置:我找到所有关于鸟类的文件了吗?五层楼的房子真的没有文献吗?


标签云需要一些维护,我不确定这是否可以完全由用户提供:

处理同义词、标签同义词、合并标签、澄清标签(例如,“蓝色”是一种感觉还是一种颜色?)

另一种选择是属性值对。它们可以建立在维护良好的标签云上,例如将“红/黑/蓝”标签分组在“颜色”下。它们还可以使用浮动值,如果没有足够的结果(例如年龄、日期,甚至像颜色这样的多维),可以将搜索扩展到相似的值。

但是,这需要提前知道用户需要什么搜索条件。如果您需要引入一个新的类别,您需要重新标记整个文档正文。


另请参阅我的澄清请求:有什么问题?标记不够?标记不同?用户没有找到他们正在寻找的东西?用户对搜索结果不自信?

于 2010-09-12T10:41:25.123 回答