public override IFacetCountCollector GetFacetCountCollector(BoboSegmentReader reader, int docBase) { FacetDataCache dataCache = (FacetDataCache)reader.GetFacetData(m_dataHandlerName); IFacetCountCollector baseCollector = m_baseCollectorSrc.GetFacetCountCollector(reader, docBase); return(new HistogramCollector(m_name, baseCollector, dataCache, m_ospec, m_start, m_end, m_unit)); }
public override IFacetCountCollector GetFacetCountCollector(BoboIndexReader reader, int docBase) { FacetDataCache dataCache = (FacetDataCache)reader.GetFacetData(_dataHandlerName); IFacetCountCollector baseCollector = _baseCollectorSrc.GetFacetCountCollector(reader, docBase); return(new HistogramCollector(_name, baseCollector, dataCache, _ospec, _start, _end, _unit)); }
public HistogramCollector(string facetName, IFacetCountCollector baseCollector, FacetDataCache dataCache, FacetSpec ospec, T start, T end, T unit) { m_facetName = facetName; m_baseCollector = baseCollector; m_valArray = dataCache.ValArray; m_ospec = ospec; m_isAggregated = false; m_start = start; m_end = end; m_unit = unit; m_count = new LazyBigInt32Array(CountArraySize()); }
public override void SetNextReader(AtomicReaderContext context) { AtomicReader reader = context.AtomicReader; if (!(reader is BoboSegmentReader)) { throw new ArgumentException("reader must be a BoboIndexReader"); } m_currentReader = (BoboSegmentReader)reader; int docBase = context.DocBase; m_currentComparer = m_compSource.GetComparer(m_currentReader, docBase); m_currentQueue = new DocIDPriorityQueue(m_currentComparer, m_numHits, docBase); if (m_groupBy != null) { if (m_facetCountCollectorMulti != null) // _facetCountCollectorMulti.Length >= 1 { for (int i = 0; i < m_facetCountCollectorMulti.Length; ++i) { m_facetCountCollectorMulti[i] = m_groupByMulti[i].GetFacetCountCollectorSource(null, null, true).GetFacetCountCollector(m_currentReader, docBase); } //if (_facetCountCollector != null) // collectTotalGroups(); m_facetCountCollector = m_facetCountCollectorMulti[0]; if (m_facetAccessibleLists != null) { for (int i = 0; i < m_facetCountCollectorMulti.Length; ++i) { m_facetAccessibleLists[i].Add(m_facetCountCollectorMulti[i]); } } } if (m_currentValueDocMaps != null) { m_currentValueDocMaps.Clear(); } // NightOwl888: The _collectDocIdCache setting seems to put arrays into // memory, but then do nothing with the arrays. Seems wasteful and unnecessary. //if (contextList != null) //{ // _currentContext = new CollectorContext(_currentReader, docBase, _currentComparer); // contextList.Add(_currentContext); //} } MyScoreDoc myScoreDoc = (MyScoreDoc)m_tmpScoreDoc; myScoreDoc.m_queue = m_currentQueue; myScoreDoc.m_reader = m_currentReader; myScoreDoc.m_sortValue = null; m_pqList.Add(m_currentQueue); m_queueFull = false; }
public override IFacetCountCollector GetFacetCountCollector(BoboSegmentReader reader, int docBase) { IFacetCountCollector defaultCollector = m_dependOnFacetHandler.GetFacetCountCollectorSource(m_sel, m_ospec).GetFacetCountCollector(reader, docBase); if (defaultCollector is DefaultFacetCountCollector) { return(new BucketFacetCountCollector(m_name, (DefaultFacetCountCollector)defaultCollector, m_ospec, m_predefinedBuckets, reader.NumDocs)); } else { throw new InvalidOperationException("dependent facet handler must build DefaultFacetCountCollector"); } }
public virtual void SetNextReader(BoboIndexReader reader, int docBase) { List <IFacetCountCollector> collectorList = new List <IFacetCountCollector>(); SortPostCollectors(reader); for (int i = 0; i < _collectors.Length; ++i) { _collectors[i].SetNextReader(reader, docBase); IFacetCountCollector collector = _collectors[i]._currentPointers.FacetCountCollector; if (collector != null) { collectorList.Add(collector); } } _countCollectors = collectorList.ToArray(); }
public void SetNextReader(BoboSegmentReader reader, int docBase) { if (CollectAllSource != null) { IFacetCountCollector collector = CollectAllSource.GetFacetCountCollector(reader, docBase); CollectAllCollectorList.Add(collector); collector.CollectAll(); } else { if (Filter != null) { CurrentPointers.DocIdSet = Filter.GetRandomAccessDocIdSet(reader); CurrentPointers.PostDocIDSetIterator = CurrentPointers.DocIdSet.GetIterator(); CurrentPointers.Doc = CurrentPointers.PostDocIDSetIterator.NextDoc(); } if (FacetCountCollectorSource != null) { CurrentPointers.FacetCountCollector = FacetCountCollectorSource.GetFacetCountCollector(reader, docBase); CountCollectorList.Add(CurrentPointers.FacetCountCollector); } } }
public void SetNextReader(BoboIndexReader reader, int docBase) { if (_collectAllSource != null) { IFacetCountCollector collector = _collectAllSource.GetFacetCountCollector(reader, docBase); _collectAllCollectorList.Add(collector); collector.CollectAll(); } else { if (_filter != null) { _currentPointers.DocIdSet = _filter.GetRandomAccessDocIdSet(reader); _currentPointers.PostDocIDSetIterator = _currentPointers.DocIdSet.Iterator(); _currentPointers.Doc = _currentPointers.PostDocIDSetIterator.NextDoc(); } if (_facetCountCollectorSource != null) { _currentPointers.FacetCountCollector = _facetCountCollectorSource.GetFacetCountCollector(reader, docBase); _countCollectorList.Add(_currentPointers.FacetCountCollector); } } }
public virtual FacetCountStatistics generateStatistic(IFacetCountCollector countHitCollector, int n) { return generateStatistic(countHitCollector.GetCountDistribution(), n); }
public virtual FacetCountStatistics GenerateStatistic(IFacetCountCollector countHitCollector, int n) { return(GenerateStatistic(BigIntArray.ToArray(countHitCollector.GetCountDistribution()), n)); }
public DefaultFacetValidator(FacetHitCollector[] collectors, IFacetCountCollector[] countCollectors, int numPostFilters) : base(collectors, countCollectors, numPostFilters) { }
protected FacetValidator(FacetHitCollector[] collectors, IFacetCountCollector[] countCollectors, int numPostFilters) { Collectors = collectors; CountCollectors = countCollectors; NumPostFilters = numPostFilters; }
protected FacetValidator CreateFacetValidator() { FacetHitCollector[] collectors = new FacetHitCollector[facetCollectors.Count]; IFacetCountCollector[] countCollectors = new IFacetCountCollector[collectors.Length]; int numPostFilters; int i = 0; int j = collectors.Length; foreach (FacetHitCollector facetCollector in facetCollectors) { if (facetCollector.PostDocIDSetIterator != null) { facetCollector.More = facetCollector.PostDocIDSetIterator.NextDoc()!=DocIdSetIterator.NO_MORE_DOCS; facetCollector.Doc = (facetCollector.More ? facetCollector.PostDocIDSetIterator.DocID() : int.MaxValue); collectors[i] = facetCollector; countCollectors[i] = facetCollector.FacetCountCollector; i++; } else { j--; collectors[j] = facetCollector; countCollectors[j] = facetCollector.FacetCountCollector; } } numPostFilters = i; if (numPostFilters == 0) { return new NoNeedFacetValidator(collectors, countCollectors, numPostFilters); } else if (numPostFilters == 1) { return new OnePostFilterFacetValidator(collectors, countCollectors, numPostFilters); } else { return new DefaultFacetValidator(collectors, countCollectors, numPostFilters); } }
internal NoNeedFacetValidator(FacetHitCollector[] collectors, IFacetCountCollector[] countCollectors, int numPostFilters) : base(collectors, countCollectors, numPostFilters) { }
internal OnePostFilterFacetValidator(FacetHitCollector[] collectors, IFacetCountCollector[] countCollectors, int numPostFilters) : base(collectors, countCollectors, numPostFilters) { firsttime = Collectors[0]; }
public virtual FacetCountStatistics GenerateStatistic(IFacetCountCollector countHitCollector, int n) { return GenerateStatistic(BigIntArray.ToArray(countHitCollector.GetCountDistribution()), n); }