读书人

Bobo源码札记2(创建FacetValidator)

发布时间: 2012-09-28 00:03:35 作者: rapoo

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;}}
?

?

?

?

?

?

?

?

?

?

读书人网 >开源软件

热点推荐