前段时间,写过一篇《关于标签系统的一点想法。》。但其实没有谈到里面的内容,是有一部分来自与刘鑫老师的聊天,当时他给了我许多肯定,也是让我觉得记录下来很有必要的原因。

前一篇里没有提到,我跟刘老师谈到一个更加深入一点的、关于标签系统的想法。主要原因是因为我尚不肯定这是否也属于标签系统。直到最近disylee 送了一本标签 : 标记系统设计实践给我,里面的一个小节让我为自己的想法找到了理论依据。

很不错的一本书,没有让我失望,解答了我心中的一些困惑。书有点啰嗦,但也正因为此显得“系统”,我向来觉得“系统”的知识才是知识,第三、四章是精华,喜欢思考的架构师可以一读。

接下来谈谈我的“又一点想法”。

大家做项目的时候,肯定为很多“属性”所烦恼过。比如你做一个电商网站,是卖衣服的,结果你为衣服建模,定义了一堆类似品牌、尺寸、颜色、材料、款式、工艺等字段。后来又做一个卖家具的电商网站,你发现之前定义的这些字段基本上没有用了。举个例子,之前衣服的尺寸,可能只是裤子的腰围,现在沙发的尺寸,却是长宽高的三维数据;如果把三维数据硬塞进原来的尺寸字段,又不利于检索和过滤。

这样的项目做多了,我就开始想,其实尺寸、品牌,等等,不就是一个标签吗?我随便加就是了。这时候遇到一个问题,就是标签的多义性,比如某物品你加了一个“绿色”的标签,这个有可能是它的外观是绿色的,也可能是它的品质是绿色的(有机食品什么的)。抓狂。这时候你可能会想到把属性名也加上去,比如以“color:green”作为标签,以消除二义性。

赞赞赞!

你跟我想到一块了。不过再往深想你会发现每次都需要对标签尝试做 attr:value 切分,还是非常不方便的,而且很多时候你需要在界面上对 attr 所对应的 value 进行归纳,因为在用户层面你最好是提供一个“颜色”的下拉框来让他选择,而不是让他输入 green。

所以我想到要建立两个表,一个专门来管理系统中用到的 attr,另一个则是相应的 value。在跟刘老师沟通时候,我想到的就是这些,这让我有点怀疑“这还算不算是标签”?走到读完上文说过的那本书,从那个 1930 年的印度图书管理员那里找到了依据,是的,这仍然是标签,但一般又称之为 Faceted classification。

每一个 facet 可以视为度量一个物体的角度。那么刚才说过的:

所以我想到要建立两个表,一个专门来管理系统中用到的 attr,另一个则是相应的 value。

就很合理了。这样的一个标签系统是如此的合理,以至于已经在许多现代电商网站已经使用多年,比如 amazon 能够很方便地使用尺寸、颜色甚至价格区间来进行商品检索,就得益于此。

当然,这方面也有很多开源的项目,额,可能我搜索的姿势不对,java 方面暂时没有找到相关的库,但 Python 的话,有一个基于 django 的 djfacet,也有一个基于 plone 的 collective.facets。壮哉我大蛇教。

额,至于 PHP,最好的编程语言大概是不需要这些的。哈哈!

关于标签系统的又一点想法相关推荐

  1. 关于标签系统的又一点想法。

    前段时间,写过一篇<关于标签系统的一点想法.>.但其实没有谈到里面的内容,是有一部分来自与刘鑫老师的聊天,当时他给了我许多肯定,也是让我觉得记录下来很有必要的原因. 前一篇里没有提到,我跟 ...

  2. 关于标签系统的一点想法。

    我跟几个人谈到过我这个标签系统. 标签系统,tagging,在 web 2.0 时代大行其道,特别是 del.icio.us 大量应用而广受关注.但如今,随着 del.icio.us 的消逝鲜有人关注 ...

  3. 关于知识图谱上下级概念建设的一点想法

      对知识图谱有所了解的人,都知道知识图谱是对知识的整理,以点和边的形式呈现,属于人工智能中的"符号主义"流派.虽然知识图谱可以清晰地告诉我们各个知识点之间的关联和区别,但我们还是 ...

  4. mysql+php+模板+条目_PHP.MVC的模板标签系统(四)

    页面布局 在这个单元中我们将看到如何使用模板标签系统构造一个标准的模板页面.这个例子我们使用了一个简单的HTML页面布局,请看下图: 这个页面有多个标准单元组成,就像页面设计者和开发者熟悉的那样.这个 ...

  5. 关于软件系统维护的一点想法

    最近刚好在写一份关于系统维护的应标书,突然对系统维护有了一点想法. 众所周知,系统维护是很头疼的,需要维护的有以下几个地方: 1. 在使用过程中用户提出新的需求变更,要求修改系统: 2. 系统有bug ...

  6. 2023-01-03 有关C++继承多态的一点想法

    有关C++继承多态的一点想法 前言 一.面向对象, 多态, 继承和你想的可能是相反的 二.面向对象, 遵从简单的原则 总结 前言 最近看了一道题目, C++实现多态的时候父类指针如何调用子类独有的数据 ...

  7. 易语言和python混合编程_关于易语言与Python的一点想法

    易语言与python的一点想法">关于易语言与Python的一点想法 小香蕉 2019年7月11日 说在前面 最近吃饭的时候总是会想很多关于易语言的事情.易语言是我学会的第一门语言,虽 ...

  8. 数据中台 画像标签_中台产品经理必懂(4):数据中台标签系统

    自从我更新中台系列以来有很多键盘侠吐槽,中台和管理后台有什么区别?不了解的没有实战过的朋友真的会以为中台就是管理后台,非也,中台更接近于一种思想和设计理念,并且不是所有产品线的管理后台,而是对于所有产 ...

  9. 如何设计标签系统?如果构建用户画像

    关于标签体系,我们经常会听到这样一些问题: 图 企业思考的问题 在与众多企业的接触过程中,我们发现不少企业对标签体系和用户画像存在着一些迷思,构想经常如空中楼阁般浮在空中,他们时常将过多的精力陷在体系 ...

最新文章

  1. python之内置函数
  2. 【项目上线】详细步骤03:一键安装lnmp环境,配置Nginx+Node+MongoDB+MySQL+PHP环境...
  3. 自动驾驶多相机与多雷达数据融合方法汇总
  4. ASM 磁盘、目录的管理
  5. 前沿 | 全球最具影响力开源数据库峰会开幕在即 阿里云精彩议题先睹为快
  6. timedatectl使用
  7. Oracle存储过程 使用游标、数组的配合查询
  8. LeetCode 113. 路径总和 II(回溯)
  9. 可观测性PHP秩判据,线性系统的可控性与可观测性
  10. 详测 Generics Collections TStack(1): Push、Pop、Peek - 其他功能同 TQueue
  11. 腾讯将被“重锤”?腾讯股价应声下跌逾5%!造谣原博主销号跑路
  12. 阿里云-流量控制策略
  13. python的chr可以转换中文吗,chr()在python中怎么实现编码的转换
  14. Python项目打包成exe文件
  15. idea打包jar 有的依赖包没有被打包
  16. 财富游戏道具:保险篇
  17. 时光不负,对我来说不寻常的一年 | 2021 年终总结
  18. win10关机慢!windows10关机慢
  19. android studio黄油刀依赖,【Android】AndroidStudio 依赖 ButterKnife 出现的空指针异常
  20. 抖音返利CPS系统APP平台开发

热门文章

  1. Adobe全家桶,设计师福利
  2. 凯利讯半导体讲解金属膜电阻与碳膜电阻能不能互换?
  3. Android - - - Paging3
  4. 用JS,编写函数,求圆的面积
  5. Matlab常用函数之gcfgca
  6. Verilog HDL的简单应用之74ls283功能的实现
  7. UVM-使用start发送item,sequence
  8. 新型智慧园区规划设计方案 PPT
  9. AWS Session Manager 管理 EC2 实例
  10. 今日早报 每日精选12条新闻简报 每天一分钟 知晓天下事 6月21日