public GetIndexDefinition ( string index ) : Raven.Database.Indexing.IndexDefinition | ||
index | string | |
return | Raven.Database.Indexing.IndexDefinition |
public void Execute(DocumentDatabase database) { Database = database; var indexDefinition = database.GetIndexDefinition(RavenDocumentsByExpirationDate); if (indexDefinition == null) { database.PutIndex(RavenDocumentsByExpirationDate, new IndexDefinition { Map = @" from doc in docs let expiry = doc[""@metadata""][""Raven-Expiration-Date""] where expiry != null select new { Expiry = expiry } " }); } var deleteFrequencyInSeconds = database.Configuration.GetConfigurationValue<int>("Raven/Expiration/DeleteFrequencySeconds") ?? 300; logger.Info("Initialized expired document cleaner, will check for expired documents every {0} seconds", deleteFrequencyInSeconds); timer = new Timer(TimerCallback, null, TimeSpan.FromSeconds(deleteFrequencyInSeconds), TimeSpan.FromSeconds(deleteFrequencyInSeconds)); }
public static void CreateIndex(DocumentDatabase database) { var index = new IndexDefinition { Map = string.Format( @"from doc in docs where doc[""{0}""][""{1}""] == ""{2}"" && doc[""{0}""][""{3}""] == true select new {{ {4} = doc[""{0}""][""{5}""], }}", Constants.Metadata, TemporalMetadata.RavenDocumentTemporalStatus, TemporalStatus.Revision, TemporalMetadata.RavenDocumentTemporalPending, Activation, TemporalMetadata.RavenDocumentTemporalEffectiveStart) }; if (database.GetIndexDefinition(TemporalConstants.PendingRevisionsIndex) == null) database.PutIndex(TemporalConstants.PendingRevisionsIndex, index); }