public DeleteTerm(Term term, DeleteTermNum number) { this.Term = term; this.Number = number; }
// Remaps all buffered deletes based on a completed // merge internal virtual void Remap(MergeDocIDRemapper mapper, SegmentInfos infos, int[][] docMaps, int[] delCounts, MergePolicy.OneMerge merge, int mergeDocCount) { lock (this) { HashMap <Term, DeleteTermNum> newDeleteTerms; // Remap delete-by-term if (terms.Count > 0) { newDeleteTerms = new HashMap <Term, DeleteTermNum>(); foreach (var entry in terms) { DeleteTermNum num = entry.Value; newDeleteTerms[entry.Key] = new DeleteTermNum(mapper.Remap(num.GetNum())); } } else { newDeleteTerms = null; } // Remap delete-by-docID List <int> newDeleteDocIDs; if (docIDs.Count > 0) { newDeleteDocIDs = new List <int>(docIDs.Count); foreach (int num in docIDs) { newDeleteDocIDs.Add(mapper.Remap(num)); } } else { newDeleteDocIDs = null; } // Remap delete-by-query HashMap <Query, int> newDeleteQueries; if (queries.Count > 0) { newDeleteQueries = new HashMap <Query, int>(queries.Count); foreach (var entry in queries) { int num = entry.Value; newDeleteQueries[entry.Key] = mapper.Remap(num); } } else { newDeleteQueries = null; } if (newDeleteTerms != null) { terms = newDeleteTerms; } if (newDeleteDocIDs != null) { docIDs = newDeleteDocIDs; } if (newDeleteQueries != null) { queries = newDeleteQueries; } } }