public override async Task BuildIndexAsync(BagPart bagPart, BuildPartIndexContext context) { var options = context.Settings.ToOptions(); if (options == DocumentIndexOptions.None) { return; } if (bagPart.ContentItems.Count != 0) { // Lazy resolution to prevent cyclic dependency var contentItemIndexHandlers = _serviceProvider.GetServices <IContentItemIndexHandler>(); foreach (var contentItemIndexHandler in contentItemIndexHandlers) { foreach (var contentItem in bagPart.ContentItems) { var keys = new List <string>(); keys.Add(contentItem.ContentType); foreach (var key in context.Keys) { keys.Add($"{key}.{contentItem.ContentType}"); } var buildIndexContext = new BuildIndexContext(context.DocumentIndex, contentItem, keys); await contentItemIndexHandler.BuildIndexAsync(buildIndexContext); } } } }
public override Task BuildIndexAsync(AliasPart part, BuildPartIndexContext context) { var options = DocumentIndexOptions.Store; context.DocumentIndex.Entries.Add(context.Key, new DocumentIndex.DocumentIndexEntry(part.Alias, DocumentIndex.Types.Text, options)); return(Task.CompletedTask); }
public override Task BuildIndexAsync(TitlePart part, BuildPartIndexContext context) { var options = context.Settings.ToOptions() | DocumentIndexOptions.Analyze ; context.DocumentIndex.Entries.Add(context.Key, new DocumentIndex.DocumentIndexEntry(part.Title, DocumentIndex.Types.Text, options)); return(Task.CompletedTask); }
public override Task BuildIndexAsync(ContentPermissionsPart part, BuildPartIndexContext context) { context.DocumentIndex.Set($"{nameof(ContentPermissionsPart)}.{nameof(ContentPermissionsPart.Enabled)}", part.Enabled, DocumentIndexOptions.Store); foreach (var role in part.Roles) { context.DocumentIndex.Set($"{nameof(ContentPermissionsPart)}.{nameof(ContentPermissionsPart.Roles)}", role, DocumentIndexOptions.Store); } return(Task.CompletedTask); }
public override Task BuildIndexAsync(TagsPart part, BuildPartIndexContext context) { var options = DocumentIndexOptions.Store; foreach (var key in context.Keys) { context.DocumentIndex.Set(key, part.Tags, options); } return(Task.CompletedTask); }
public override Task BuildIndexAsync(PartyPart part, BuildPartIndexContext context) { var options = context.Settings.ToOptions() | DocumentIndexOptions.Analyze; foreach (var key in context.Keys) { context.DocumentIndex.Set(key, part.FullName, options); } return(Task.CompletedTask); }
public override Task BuildIndexAsync(LocalizationPart part, BuildPartIndexContext context) { var options = DocumentIndexOptions.Store; foreach (var key in context.Keys) { context.DocumentIndex.Set(key + ".LocalizationSet", part.LocalizationSet, options); context.DocumentIndex.Set(key + ".Culture", part.Culture?.ToLowerInvariant(), options); } return(Task.CompletedTask); }
public override Task BuildIndexAsync(AutoroutePart part, BuildPartIndexContext context) { var options = context.Settings.ToOptions() & ~DocumentIndexOptions.Sanitize & ~DocumentIndexOptions.Analyze ; foreach (var key in context.Keys) { context.DocumentIndex.Set(key, part.Path, options); } return(Task.CompletedTask); }
public override Task BuildIndexAsync(LeverPostingPart part, BuildPartIndexContext context) { var options = context.Settings.ToOptions() | DocumentIndexOptions.Analyze | DocumentIndexOptions.Store ; var posting = JsonConvert.DeserializeObject <Posting>(part.Data); context.DocumentIndex.Set($"{nameof(LeverPostingPart)}.Text", posting.Text, options); context.DocumentIndex.Set($"{nameof(LeverPostingPart)}.Team", posting.Categories.Team, DocumentIndexOptions.Store); context.DocumentIndex.Set($"{nameof(LeverPostingPart)}.Location", posting.Categories.Location, DocumentIndexOptions.Store); context.DocumentIndex.Set($"{nameof(LeverPostingPart)}.Commitment", posting.Categories.Commitment, DocumentIndexOptions.Store); return(Task.CompletedTask); }
public override Task BuildIndexAsync(SearchablePart part, BuildPartIndexContext context) { var options = context.Settings.ToOptions() | DocumentIndexOptions.Analyze ; context.DocumentIndex.Set("SearchablePart.Keywords", part.Keywords, options); context.DocumentIndex.Entries.Add( new DocumentIndex.DocumentIndexEntry( "SearchablePart.ExcludeFromResults", part.ExcludeFromResults, DocumentIndex.Types.Boolean, DocumentIndexOptions.Store ) ); return(Task.CompletedTask); }
public override async Task BuildIndexAsync(AutoroutePart part, BuildPartIndexContext context) { var options = context.Settings.ToOptions() & ~DocumentIndexOptions.Sanitize & ~DocumentIndexOptions.Analyze ; var metadataitem = await _contentManager.PopulateAspectAsync <ContentItemMetadata>(part.ContentItem); string itemDisplayUrl = _urlHelper.Action(metadataitem.DisplayRouteValues["action"].ToString(), metadataitem.DisplayRouteValues); context.DocumentIndex.Set("displayUrl", itemDisplayUrl, options); // foreach (var key in context.Keys) // { // context.DocumentIndex.Set(key, part.Path, options); // } // return Task.CompletedTask; }