如果文档被列为Book> Fiction> Sci-FI,则当您的构面查询为“Book”,“Book> Fiction”,“Book> Fiction> Sci-fi”时,它必须是可搜索的。
我搜索了互联网,我想出的方法是:
1在 index-time 本身将“Book> Fiction> Sci-FI”拆分为“Book”,“Book> Fiction”,“Book> Fiction> Sci-fi”并存储它们在相同的字段。
2有单独的字段cat,sub_cat,sub_sub_cat。将catogories拆分为相应的字段并使用Pivot facet http://wiki.apache.org/solr/SimpleFacetParameters#Pivot_.28ie_Decision_Tree.29_Faceting
进行层次结构方面的其他方法有哪些,以便它们可以支持任何复杂的查询?
答案 0 :(得分:7)
检查http://wiki.apache.org/solr/HierarchicalFaceting
它提到了你和其他人提到的选项。
如果您可以使用Solr 4.0
,则Pivot facets是层次结构分面的解决方案如果您在升级时出现问题,可以选中@ http://www.lucidimagination.com/why-lucid/webinars/mastering-power-faceted-search选项(类似于您的选项1)