`
jiuyuehe
  • 浏览: 184949 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

分类搜索,该怎么做

阅读更多
  大家好
   首先说下我遇到的问题:
    比如商品,分了很多类,

  • A
  •     [list]
       
  • A1
  •     [list]
          
  • A11
  •    [list]
                
  • A111
  •             
  • A112
  •             
  • A113

 
  • A12
  •  
  • A13
  • [/list]
  • A2
  • A3
  • A4
  • [/list]
  • B
  • C
  • D
  • [/list]

    如此,我点击A大类那应该显示的商品会包括A1,A2,A11,A12,A111,A122等等,只要是A大类下面的都应该显示,
    那么数据库该如何设计?
    我现在是这么设计的:categoryid,categoryCode,categoryname,categoryparentCode.用Code 和parentCode 将他们关联起来
    这样以来再大类查询时就出问题了,如果用like 查询那么可能会出差错,并不能完全约定的Code.是吧?

    搜索的时候如果要遍历category 的整个集合点也是很困难的。

    目前我使用的方案是:
    使用lucene 做N次索引。
    具体如下:
    如果一个商品是A1下,那么就向A,A1这2个索引里面添加,如果是A111那就必须添加A,A1,A11,A111四个索引了,感觉虽然查询起来是方便了但是索引有点多,不是太完美。

    不知道各位道友是如何解决这个问题的呢,小生谢谢了。

    分享到:
    评论
    1 楼 boyhooda 2012-11-12  
    索引中只存自身分类

    在数据库中维护分类表

    查询时,使用数据库获取该分类的子分类

    使用数据库中获取的分类列表已或的关系查询索引

    相关推荐

    Global site tag (gtag.js) - Google Analytics