/// <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); // } // }; // } //}; }
/** * 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); // } // }; // } //}; }
/** * 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); // } // }; // } //}; }
public FilterCache(DeletesMode deletesMode) { this.deletesMode = deletesMode; }
public AnonymousFilterCache(DeletesMode deletesMode) : base(deletesMode) { }
public FilterCache(DeletesMode deletesMode, Func <IndexReader, object, object> mergeDeletes) { this.deletesMode = deletesMode; this.MergeDeletes = mergeDeletes; }
public FilterCache(DeletesMode deletesMode) { this.deletesMode = deletesMode; _cache = new ConditionalWeakTable <object, T>(); }