我正在尝试跨多种文档类型设置搜索,每种类型都有不同的字段集。因此,搜索应始终只从最常用的构面字段(例如产品类别)开始,对所有文档类型都是通用的。
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字段依赖?
非常感谢!
修改:我将标题更改为“构面字段的依赖关系”。
答案 0 :(得分:2)
IMO您不需要创建任何依赖 您可以为此条目创建单个字段。
当您执行初始查询时,您将面对产品类型 然后,当您对特定产品类型进行过滤时,您只会根据过滤器从结果中获得分面。
例如 产品类型相机将有品牌佳能,尼康等......有一些容量选项 产品类型TV&视频将有品牌歌曲,三星等......还有其他一些属性
因此,当您在相机上过滤(fq=product_type:Camera
)时,您将仅限制此过滤器中带有容量选项的产品类型相机和品牌的结果。
过滤应该照顾依赖性。
答案 1 :(得分:0)
我认为您可以通过确保索引每个文档中的相应信息来实现,请查看this wiki page on hierarchical facetting