private void UpdateCommitMetadata(DateTime commitTimeStamp, int docsDifference) { var count = docsDifference; if (_metadataForNextCommit != null) { // we want the total for the entire commit, so add to the number we already have count += _metadataForNextCommit.Count; } _metadataForNextCommit = DocumentCreator.CreateCommitMetadata( commitTimeStamp, "from catalog", count, Guid.NewGuid().ToString()); }
public void EnsureCommitted() { if (_metadataForNextCommit == null) { // this means no changes have been made to the index - no need to commit _logger.LogInformation(string.Format("SKIP COMMIT No changes. Index contains {0} documents.", _indexWriter.NumDocs())); return; } _indexWriter.ExpungeDeletes(); _indexWriter.Commit(_metadataForNextCommit.ToDictionary()); _logger.LogInformation("COMMIT index contains {0} documents. Metadata: commitTimeStamp {CommitTimeStamp}; change count {ChangeCount}; trace {CommitTrace}", _indexWriter.NumDocs(), _metadataForNextCommit.CommitTimeStamp.ToString("O"), _metadataForNextCommit.Count, _metadataForNextCommit.Trace); _metadataForNextCommit = null; }