开发日志——标签搜索开发(数据库表的设计)

开发日志——标签搜索开发(数据库表的设计)

Scroll Down

开发日志——标签搜索开发(数据库表的设计)

这段时间疯狂修仙,差不多我们的标签系统也要上线了,前段时间,发布了一些代码,大家大致可以了解下,后面会逐步分析标签的搜索的设计和开发设计,大家看下效果图:
image.png
image.png
image.png

1.表的设计

我们的标签搜索是由一般标签和快捷标签,先开始需求确定为快捷标签只为一边标签的一种特殊情况,后面需要统计用户搜索标签的频次确认,大概的功能为标签与选择标签的上下联动。
首先我们这个标签是个树形结构,由于做了很多次的树状结构的数据,自然就想到这个是一个父子类型的关系,一级带一级的ID,这样我们的大致标签数就出来了,建数据库数据:
image.png

2.字段的设计

TYPE:由于考虑的标签的插拔式原则,提供了一个字段为TYPE,为标签的类型添加扩展,可以像我们项目添加自己部门树的弹窗,添加时间框,等等。
ID,FATHER_ID:这就是父子标签的关系联系,子通过FATHER_ID找到父ID
NAME,FATHER_NAME:为了前台显示,减少遍历拼接。
image.png
TITLE:扩展字段,有些标签可能有歧义,为了利于客户选择。
TASK_ID:业务ID,不同模块区别。
ORDER_ID:排序子弹
STATUS:是否启用
QUICK_ID:最初设计的快捷标签关联ID
SEARCH_FIELD:搜索字段,elasticsearch中搜索的字段。
HIGHLIGHT_COLOR:自定义高亮字段。

3.建表语句

CREATE TABLE [T_SEARCH_CATEGORY]  ( 
	[PKID]           	varchar(50) NULL,
	[ID]             	varchar(50) NULL,
	[NAME]           	varchar(25) NULL,
	[TYPE]           	varchar(25) NULL,
	[FATHER_ID]      	varchar(25) NULL,
	[TITLE]          	varchar(50) NULL,
	[TASK_ID]        	varchar(25) NULL,
	[ORDER_ID]       	varchar(25) NULL,
	[STATUS]         	varchar(2) NULL,
	[QUICK_ID]       	varchar(25) NULL,
	[FATHER_NAME]    	varchar(50) NULL,
	[SEARCH_FIELD]   	varchar(25) NULL,
	[HIGHLIGHT_COLOR]	varchar(25) NULL 
	)