项目中要对商品|用户|顾客|文章|公司|品牌等对象进行标签描述,设计了这两张
标签基础库字段,
(
   id                   
   parent_id           
   name                  '标签名称',
   status             '状态:1:正常;2、删除',
   sort                 '排序',
   isparent              '是否是父节点',
   isgoods              '商品是否使用此标签',
   iscustomer         '顾客是否使用此标签',
   isstore              '仓库是否使用此标签',
   isgroup              '群是否使用此标签',
   iscompany            '公司是否使用此标签',
   tab_desc             '标签描述:见专项表datadesc',
   isuser               
   isarticle            '社区文章是否使用',
   com_id              '创建此标签的公司ID',  
);
对象描述表字段:
(
   id                   '标签描述ID',
   base_id              需要使用此标签的商品|客户|文章等ID',
   description        '标签描述具体内容',json格式数据,
   status               '标签状态:1、正常;2:删除',
);
这样设计,需要如何优化solr搜索性能?

解决方案 »

  1.   

    标签基础库字段设计有问题,如果再增加一个分类,就需要增加个字段,扩展性太差;目前有两种方法:
    1、在字典表中增加类型值,1-商品、2-用户、3-顾客等等,然后在标签基础库中增加个字段关联字典,好处是修改数据库字典即可增加其它类型,代码可不改动
    2、直接在标签基础库中增加个类型字段用于定义,这样后期代码改动也少。下面字段都可以用一个(是否使用)来代替:
       isgoods              '商品是否使用此标签',
       iscustomer         '顾客是否使用此标签',
       isstore              '仓库是否使用此标签',
       isgroup              '群是否使用此标签',
       iscompany            '公司是否使用此标签',
      

  2.   

    谢谢你!我再仔细考虑下!
    分类基本上就是这些,当然也可以按你说的来; isgoods              '商品是否使用此标签',
       iscustomer         '顾客是否使用此标签',
       isstore              '仓库是否使用此标签',
       isgroup              '群是否使用此标签',
       iscompany            '公司是否使用此标签',
    这样的设计主要是人业务角度考虑的,