public RangeFacetCountCollector(string name, FacetDataCache dataCache, int docBase, FacetSpec ospec, IEnumerable <string> predefinedRanges) { _name = name; _dataCache = dataCache; _countLength = _dataCache.Freqs.Length; _count = new LazyBigIntArray(_countLength); _array = _dataCache.OrderArray; _docBase = docBase; _ospec = ospec; if (predefinedRanges != null) { _predefinedRanges = new TermStringList(); var tempList = new List <string>(predefinedRanges); tempList.Sort(); _predefinedRanges.AddAll(tempList); } else { _predefinedRanges = null; } if (_predefinedRanges != null) { _predefinedRangeIndexes = new int[_predefinedRanges.Count()][]; int i = 0; foreach (string range in this._predefinedRanges) { _predefinedRangeIndexes[i++] = FacetRangeFilter.Parse(this._dataCache, range); } } }
public RangeFacetCountCollector(string name, FacetDataCache dataCache, int docBase, FacetSpec ospec, IList <string> predefinedRanges) { m_name = name; m_dataCache = dataCache; m_countLength = m_dataCache.Freqs.Length; m_count = new LazyBigInt32Array(m_countLength); m_array = m_dataCache.OrderArray; m_ospec = ospec; if (predefinedRanges != null) { m_predefinedRanges = new TermStringList(); predefinedRanges.Sort(); m_predefinedRanges.AddAll(predefinedRanges); } else { m_predefinedRanges = null; } if (m_predefinedRanges != null) { m_predefinedRangeIndexes = new int[m_predefinedRanges.Count][]; int i = 0; foreach (string range in this.m_predefinedRanges) { m_predefinedRangeIndexes[i++] = FacetRangeFilter.Parse(this.m_dataCache, range); } } }
public virtual int GetFacetHitsCount(object value) { int[] range = FacetRangeFilter.Parse(_dataCache, (string)value); int sum = 0; if (range != null) { for (int i = range[0]; i <= range[1]; ++i) { sum += _count.Get(i); } } return(sum); }
public virtual int GetFacetHitsCount(object value) { int[] range = FacetRangeFilter.Parse(_latDataCache, (string)value); if (range != null) { int sum = 0; for (int i = range[0]; i <= range[1]; ++i) { sum += _latCount[i]; } return(sum); } return(0); }
public virtual BrowseFacet GetFacet(string value) { BrowseFacet facet = null; int[] range = FacetRangeFilter.Parse(_dataCache, value); if (range != null) { int sum = 0; for (int i = range[0]; i <= range[1]; ++i) { sum += _count.Get(i); } facet = new BrowseFacet(value, sum); } return(facet); }