换一种方式解决啊,逐级添加父分类 比如一条数据的分类ID是 9,分类9的父ID是3,分类ID3的父分类是 1 那么你给文档创建索引的时候,通过 $doc->addTerm() 给全部祖先分类ID:3,1 也建立索引不就好了。然后检索 3/1也能检索到分类...
... }else{ $doc->addTerm('cid', $cid); } // 父类别id while($node = $node->getParent()){ $doc->addTerm('cid', $node->getId()); } } 搜索 $search->setFacets(array('cid'), true); $search->search(); $counts = $search->getFacets('cid');