首页 文章

Apache Solr中的facet字段(不是分层构面)的层次结构?

提问于
浏览
2

我正在尝试跨多种文档类型设置搜索,每种类型都有不同的字段集 . 因此,搜索应始终只从最常见的构面字段(例如,产品类别)开始,对所有文档类型都是通用的 .

PRODUCT CATEGORY  
- Camera (42)  
- TV & Video (96)  
- MP3 Player (11)  
- Video Game (63)

选择“Camera”后,我需要启用一整套新的facet字段,这些字段专用于该文档类型(例如Brand,Capacity),如下所示:

PRODUCT CATEGORY  
> Camera

BRAND  
- Canon (42)  
- Nikon (96)  
- Sony (11)  
- Samsung (63)

CAPACITY  
- 1Gb (42)  
- 2Gb (96)  
- 3Gb (11)  
- 4Gb (63)

我知道这可以通过以编程方式管理 facet.field 查询参数来完成,但有没有更好的方法来系统地构建它?是否有任何功能或提示允许Solr及其字段结构中的这个facet字段依赖?

非常感谢!

Edit: 我从"dependency of facet fields"更改了 Headers .

2 回答

  • 0

    IMO您不需要创建任何依赖项 .
    您可以为此条目创建单个字段 .

    当您执行初始查询时,您将面对“产品类型” .
    然后,当您对特定产品类型进行过滤时,您只会根据过滤器从结果中获得分面 .

    对于例如产品类型相机将有品牌佳能,尼康等...具有一些容量选项产品类型电视和视频将有品牌歌曲,三星等...具有一些其他属性

    因此,当您在相机上过滤( fq=product_type:Camera )时,您将仅限制此过滤器中具有容量选项的产品类型相机和品牌的结果 .
    过滤应该照顾依赖性 .

  • 2

    我认为你可以通过确保索引每个文档中适当的信息来做到这一点,看看this wiki page on hierarchical facetting

相关问题