public override IFacetCountCollector GetFacetCountCollector(BoboSegmentReader reader, int docBase)
            {
                MultiValueFacetDataCache dataCache    = m_parent.GetFacetData <MultiValueFacetDataCache>(reader);
                BigNestedInt32Array      _nestedArray = dataCache.NestedArray;

                return(new MultiRangeFacetCountCollector(m_parent.Name, dataCache, docBase, this.m_ospec, m_parent.m_predefinedRanges, _nestedArray));
            }
示例#2
0
 public RangeRandomAccessDocIdSet(int start, int end, FacetDataCache dataCache, BigNestedInt32Array nestedArray, bool multi)
 {
     m_start       = start;
     m_end         = end;
     m_dataCache   = dataCache;
     m_nestedArray = nestedArray;
     m_multi       = multi;
 }
 public MultiValueFacetCountCollector(string name,
                                      MultiValueFacetDataCache dataCache,
                                      int docBase,
                                      BrowseSelection sel,
                                      FacetSpec ospec)
     : base(name, dataCache, docBase, sel, ospec)
 {
     m_array = dataCache.NestedArray;
 }
示例#4
0
 internal MultiFacetRangeDocIdSetIterator(int start, int end, MultiValueFacetDataCache dataCache)
 {
     m_start = start;
     m_end   = end;
     for (int i = start; i <= end; ++i)
     {
         m_minID = Math.Min(m_minID, dataCache.MinIDs[i]);
         m_maxID = Math.Max(m_maxID, dataCache.MaxIDs[i]);
     }
     m_doc         = Math.Max(-1, m_minID - 1);
     m_nestedArray = dataCache.NestedArray;
 }
示例#5
0
        public override RandomAccessDocIdSet GetRandomAccessDocIdSet(BoboSegmentReader reader)
        {
            FacetDataCache dataCache = m_facetHandler.GetFacetData <FacetDataCache>(reader);

            bool multi = dataCache is MultiValueFacetDataCache;
            BigNestedInt32Array nestedArray = multi ? ((MultiValueFacetDataCache)dataCache).NestedArray : null;

            int[] range = Parse(dataCache, m_rangeString);

            if (range == null)
            {
                return(null);
            }

            if (range[0] > range[1])
            {
                return(EmptyDocIdSet.Instance);
            }

            int start = range[0];
            int end   = range[1];

            return(new RangeRandomAccessDocIdSet(start, end, dataCache, nestedArray, multi));
        }
示例#6
0
 public MultiValueOrFacetDocIdSetIterator(MultiValueFacetDataCache dataCache, OpenBitSet bs)
     : base(dataCache, bs)
 {
     m_nestedArray = dataCache.NestedArray;
 }
示例#7
0
 public MultiRandomAccessDocIdSet(MultiValueFacetDataCache dataCache, OpenBitSet bitset)
 {
     this.m_dataCache   = dataCache;
     this.m_bitset      = bitset;
     this.m_nestedArray = dataCache.NestedArray;
 }
 public MultiValueFacetDataCache()
 {
     m_nestedArray = new BigNestedInt32Array();
 }
 public MultiValueDocScorer(MultiValueFacetDataCache dataCache, IFacetTermScoringFunctionFactory scoreFunctionFactory, float[] boostList)
     : base(scoreFunctionFactory.GetFacetTermScoringFunction(dataCache.ValArray.Count, dataCache.NestedArray.Length), boostList)
 {
     m_dataCache = dataCache;
     m_array     = m_dataCache.NestedArray;
 }
 public MultiRangeFacetCountCollector(string name, MultiValueFacetDataCache dataCache,
                                      int docBase, FacetSpec ospec, IList <string> predefinedRanges, BigNestedInt32Array nestedArray)
     : base(name, dataCache, docBase, ospec, predefinedRanges)
 {
     m_nestedArray = nestedArray;
 }
示例#11
0
 public MultiValueWithWeightFacetDataCache()
 {
     m_weightArray = new BigNestedInt32Array();
 }
 public MultiValueFacetDocIdSetIterator(MultiValueFacetDataCache dataCache, int index)
     : base(dataCache, index)
 {
     m_nestedArray = dataCache.NestedArray;
 }
 public MultiValueRandomAccessDocIdSet(MultiValueFacetDataCache dataCache, int index)
 {
     m_dataCache   = dataCache;
     m_index       = index;
     m_nestedArray = dataCache.NestedArray;
 }
示例#14
0
 public MultiValuedPathFacetCountCollector(string name, string sep, BrowseSelection sel,
                                           FacetSpec ospec, FacetDataCache dataCache)
     : base(name, sep, sel, ospec, dataCache)
 {
     m_array = ((MultiValueFacetDataCache)(dataCache)).NestedArray;
 }