internal PathFacetCountCollector(string name, string sep, BrowseSelection sel, FacetSpec ospec, FacetDataCache dataCache) { _sel = sel; _ospec = ospec; _name = name; _dataCache = dataCache; _sep = sep; _sepArray = sep.ToCharArray(); _count = new LazyBigIntArray(_dataCache.Freqs.Length); log.Info(name + ": " + _count.Size()); _orderArray = _dataCache.OrderArray; _minHitCount = ospec.MinHitCount; _maxCount = ospec.MaxCount; if (_maxCount < 1) { _maxCount = _count.Size(); } FacetSpec.FacetSortSpec sortOption = ospec.OrderBy; switch (sortOption) { case FacetSpec.FacetSortSpec.OrderHitsDesc: _comparatorFactory = new FacetHitcountComparatorFactory(); break; case FacetSpec.FacetSortSpec.OrderValueAsc: _comparatorFactory = null; break; case FacetSpec.FacetSortSpec.OrderByCustom: _comparatorFactory = ospec.CustomComparatorFactory; break; default: throw new ArgumentOutOfRangeException("invalid sort option: " + sortOption); } _splitPat = new Regex(_sep, RegexOptions.Compiled); _stringData = new string[10]; _patStart = 0; _patEnd = 0; }
public TextProcessorService(IStatisticsHelperFactory statisticsHelperFactory, IComparatorFactory comparatorFactory) { Guard.IsNotNull(statisticsHelperFactory, () => statisticsHelperFactory); Guard.IsNotNull(comparatorFactory, () => comparatorFactory); _statisticsHelperFactory = statisticsHelperFactory; _comparatorFactory = comparatorFactory; }