Bobo源码笔记2(创建FacetValidator)
在browse()函数中有这样一段代码。这段代码做了两件事:一,根据每个facet的过滤条件创建filter;二,根据每个facet的分组计数规则创建FacetHitCollector:
?
?
?
类FacetValidator是基类,_collectors是BoboSubBrowser维护的List<FacetHitCollector>列表赋值过来的,也就是上面代码
public static final class SimpleFacetCountCollector extends DefaultFacetCountCollector{public SimpleFacetCountCollector(String name,FacetDataCache dataCache,int docBase,BrowseSelection sel,FacetSpec ospec){ super(name,dataCache,docBase,sel,ospec);}//主要函数public final void collect(int docid) { //根据docid,查到index,再将该属性的计数加一 ?_count[_array.get(docid)]++;}public final void collectAll() { _count = _dataCache.freqs;}}??
?
?
?
?
?
?
?
?