锁定老帖子 主题:分类搜索,该怎么做
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-10-18
Jerry__xie 写道 我们之前是根据数据库建表进行分类查询的
总分类表 || 分类表 在分类表建立索引 能否详细点说说,谢谢了 |
|
返回顶楼 | |
发表时间:2012-10-18
Jerry__xie 写道 我们之前是根据数据库建表进行分类查询的
总分类表 || 分类表 在分类表建立索引 通过找到A对应的CODE 再去匹配 A 大类下面所有的商品,也可以在一个表里面实现,比如跟BBS跟贴查询一样,不知道我的理解是否正确。 |
|
返回顶楼 | |
发表时间: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。再去搜索里查匹配的索引项目。 |
|
返回顶楼 | |
发表时间:2012-10-29
1,这个问题 完全可以用 solr解决。
2,solr里面自带分类搜索。可以查询一个类下面的小类。 3,在solr里面叫facet ,具体怎么创建就到王上搜索下呗。 http://wiki.apache.org/solr/SimpleFacetParameters 可以实现一般的购物商城的分类搜索,而且可以显示分类命中的数量。 搭建起来比较快。而且性能不错。如果要公网系统用。最后在前面的接口在封装下。 |
|
返回顶楼 | |