论坛首页 Java企业应用论坛

分类搜索,该怎么做

浏览 6954 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-10-18  
Jerry__xie 写道
    我们之前是根据数据库建表进行分类查询的

  总分类表
    ||
   分类表

在分类表建立索引

能否详细点说说,谢谢了
0 请登录后投票
   发表时间:2012-10-18  
Jerry__xie 写道
    我们之前是根据数据库建表进行分类查询的

  总分类表
    ||
   分类表

在分类表建立索引


通过找到A对应的CODE 再去匹配 A 大类下面所有的商品,也可以在一个表里面实现,比如跟BBS跟贴查询一样,不知道我的理解是否正确。
0 请登录后投票
   发表时间:2012-10-19  
jiuyuehe 写道
leonayx123 写道
增加一个path字段。 把一个分类的完整路径拼成这个字段。

比如 一个分类的id是 1.他的子分类是2 他的孙子的分类是3

这样孙子id的path就是 /1/2/3

查询的时候
select * from 表 where id in (
select id from 表 where path like '/1/%'


就能查到1下面的所以子孙分类。

而且根据path字段 split后 就能很方便的获取当前分类的层级路径。

如果你是在搜索引擎里。。id肯定不能分词。
你建的时候 用 id 空格 id 空格 id表示path。


这个很好啊,谢谢啦,但是类别一旦更改要如何改变呢,比如,以前的一个类要细分成3个,有没有什么方便的方案,谢谢,改完就得重建索引?



把类型信息不要建在搜索引擎,因为搜索引擎的索引本来就是固定的文件索引,修改和新增肯定没有直接在关系数据库方便。

可以这么做。把分类信息全部建立在关系数据库。 字段增加我上文的path字段。

然后在多建立一张表。用来维护,搜索引擎里每个document的主键 和 分类的对应关系。

如果一个细分成多个,直接在中间关系表删除和新增记录。

查询时,从分类表根据path  like出分类id。

在用分类id去 中间表查出索引id。再去搜索里查匹配的索引项目。
0 请登录后投票
   发表时间:2012-10-29  
1,这个问题 完全可以用 solr解决。
2,solr里面自带分类搜索。可以查询一个类下面的小类。
3,在solr里面叫facet ,具体怎么创建就到王上搜索下呗。

http://wiki.apache.org/solr/SimpleFacetParameters

可以实现一般的购物商城的分类搜索,而且可以显示分类命中的数量。

搭建起来比较快。而且性能不错。如果要公网系统用。最后在前面的接口在封装下。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics