示例#1
0
        /// <summary>
        /// Expert: by default, the cached filter will be shared
        /// across reopened segments that only had changes to their
        /// deletions.  
        /// </summary>
        /// <param name="filter">Filter to cache results of</param>
        /// <param name="deletesMode">See <see cref="DeletesMode" /></param>
        ///
        public CachingWrapperFilter(Filter filter, DeletesMode deletesMode)
        {
            this.filter = filter;
            cache = new AnonymousFilterCache(deletesMode);

            //cache = new FilterCache(deletesMode)
            // {
            //  public Object mergeDeletes(final IndexReader r, final Object docIdSet) {
            //    return new FilteredDocIdSet((DocIdSet) docIdSet) {
            //      protected boolean match(int docID) {
            //        return !r.isDeleted(docID);
            //      }
            //    };
            //  }
            //};
        }
示例#2
0
        /**
         * Expert: by default, the cached filter will be shared
         * across reopened segments that only had changes to their
         * deletions.
         *
         * @param filter Filter to cache results of
         * @param deletesMode See {@link DeletesMode}
         */
        public CachingWrapperFilter(Filter filter, DeletesMode deletesMode)
        {
            this.filter = filter;
            cache       = new AnonymousFilterCache(deletesMode);

            //cache = new FilterCache(deletesMode)
            // {
            //  public Object mergeDeletes(final IndexReader r, final Object docIdSet) {
            //    return new FilteredDocIdSet((DocIdSet) docIdSet) {
            //      protected boolean match(int docID) {
            //        return !r.isDeleted(docID);
            //      }
            //    };
            //  }
            //};
        }
示例#3
0
        /**
         * Expert: by default, the cached filter will be shared
         * across reopened segments that only had changes to their
         * deletions.
         *
         * @param filter Filter to cache results of
         * @param deletesMode See {@link DeletesMode}
         */
        public CachingWrapperFilter(Filter filter, DeletesMode deletesMode)
        {
            this.filter = filter;
            cache       = new FilterCache <DocIdSet>(deletesMode,
                                                     (reader, docIdSet) => {
                return(new FilteredDocIdSet((DocIdSet)docIdSet,
                                            (docid) =>
                {
                    return !reader.IsDeleted(docid);
                }));
            });

            //cache = new FilterCache(deletesMode)
            // {
            //  public Object mergeDeletes(final IndexReader r, final Object docIdSet) {
            //    return new FilteredDocIdSet((DocIdSet) docIdSet) {
            //      protected boolean match(int docID) {
            //        return !r.isDeleted(docID);
            //      }
            //    };
            //  }
            //};
        }
示例#4
0
 public FilterCache(DeletesMode deletesMode)
 {
     this.deletesMode = deletesMode;
 }
示例#5
0
 public AnonymousFilterCache(DeletesMode deletesMode) : base(deletesMode)
 {
 }
示例#6
0
 public FilterCache(DeletesMode deletesMode, Func <IndexReader, object, object> mergeDeletes)
 {
     this.deletesMode  = deletesMode;
     this.MergeDeletes = mergeDeletes;
 }
示例#7
0
 public FilterCache(DeletesMode deletesMode)
 {
     this.deletesMode = deletesMode;
     _cache           = new ConditionalWeakTable <object, T>();
 }
 public FilterCache(DeletesMode deletesMode)
 {
     this.deletesMode = deletesMode;
 }
 public AnonymousFilterCache(DeletesMode deletesMode) : base(deletesMode)
 {
 }