我正在尝试设置跨多种文档类型的搜索,每种文档类型都具有不同的字段集。因此,搜索应始终从所有文档类型通用的最通用的方面字段(例如产品类别)开始。
PRODUCT CATEGORY
- Camera (42)
- TV & Video (96)
- MP3 Player (11)
- Video Game (63)
选择“相机”后,我需要启用该文档类型独有的一整套新方面字段(例如品牌、容量),如下所示:
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 fields的依赖关系”更改为“dependency of facet fields”。
最佳答案
IMO,您不需要创建任何依赖项。
您可以为此条目创建单独的字段。
当您进行初始查询时,您将关注产品类型。
然后,当您过滤特定产品类型时,您只能根据过滤器从结果中获取方面。
例如 产品类型 相机品牌有佳能、尼康等...以及一些容量选项 产品类型电视和视频将有品牌宋、三星等......还有一些其他属性
因此,当您在相机上进行过滤 (fq=product_type:Camera
) 时,您将通过容量选项限制此过滤器中的产品类型相机和品牌的结果。
过滤应该考虑依赖性。
关于solr - Apache Solr 中构面字段的层次结构(不是层次结构构面)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12418291/