public override RandomAccessFilter BuildRandomAccessOrFilter(string[] vals, Properties prop, bool isNot)
        {
            RandomAccessFilter filter = null;

            int[] indexes = FacetDataCache.Convert(_dataCache, vals);
            if (indexes.Length > 1)
            {
                return new FacetOrFilter(_dataCache, indexes, isNot);
            }
            else if (indexes.Length == 1)
            {
                filter = new FacetFilter(_dataCache, indexes[0]);
            }
            else
            {
                filter = EmptyFilter.GetInstance();
            }
            if (isNot)
            {
                filter = new RandomAccessNotFilter(filter);
            }
            return filter;
        }
Ejemplo n.º 2
0
 public CacheFacetFilterDocIdSet(FacetFilter parent)
 {
     this.parent = parent;
 }