Inheritance: Lucene.Net.Search.Filter
        public static IDictionary<string, Filter> CreateFilters(IndexReader reader, IDictionary<string, HashSet<string>> feeds)
        {
            var bitSetLookup = new Dictionary<string, IDictionary<string, OpenBitSet>>(StringComparer.OrdinalIgnoreCase);

            foreach (var key in feeds.Keys)
            {
                bitSetLookup[key] = new Dictionary<string, OpenBitSet>();

                foreach (SegmentReader segmentReader in reader.GetSequentialSubReaders())
                {
                    bitSetLookup[key][segmentReader.SegmentName] = new OpenBitSet();
                }
            }

            foreach (SegmentReader segmentReader in reader.GetSequentialSubReaders())
            {
                CreateOpenBitSets(segmentReader, feeds, bitSetLookup);
            }

            var filters = new Dictionary<string, Filter>(StringComparer.OrdinalIgnoreCase);

            foreach (var key in feeds.Keys)
            {
                filters[key] = new OpenBitSetLookupFilter(bitSetLookup[key]);
            }

            return filters;
        }
示例#2
0
        public void End(IndexReader indexReader)
        {
            Result = new Dictionary <string, Filter>(StringComparer.OrdinalIgnoreCase);

            foreach (var key in _feeds.Keys)
            {
                Result[key] = new OpenBitSetLookupFilter(_bitSetLookup[key]);
            }
        }
        public void End(IndexReader indexReader)
        {
            Result = new Dictionary<string, Filter>(StringComparer.OrdinalIgnoreCase);

            foreach (var key in _feeds.Keys)
            {
                Result[key] = new OpenBitSetLookupFilter(_bitSetLookup[key]);
            }
        }