public ISearchResult ToSearchResult(LuceneSearchResultItem luceneSearchResult) { // get the actual Sitecore item since we don't store everything on the index var sitecoreItem = luceneSearchResult.GetItem(); // search result type discrimination // MEDIA if (luceneSearchResult.IsMediaItem) { return(new MediaItemSearchResult( luceneSearchResult.Title, luceneSearchResult.PageSummary, MediaManager.GetMediaUrl(sitecoreItem), luceneSearchResult.DateCreated, luceneSearchResult.ItemId, luceneSearchResult.TemplateId, sitecoreItem.Fields["Extension"].Value, // hardcoding this since it is based on Sitecore system fields sitecoreItem.Fields["Size"].Value)); } // default - CONTENTSEARCHRESULT // test if a featureimage is present MediaItem mediaItem = null; if (sitecoreItem.InheritsFromTemplate(new ID(DSP.Foundation.SitecoreTemplates.Featured_Content.TemplateId))) { mediaItem = ((ImageField)sitecoreItem.Fields[DSP.Foundation.SitecoreTemplates.Featured_Content.FeatureImage.FieldName]).MediaItem; } return(new ContentSearchResult( luceneSearchResult.Title, luceneSearchResult.PageSummary, LinkManager.GetItemUrl(luceneSearchResult.GetItem()), luceneSearchResult.DateCreated, luceneSearchResult.ItemId, luceneSearchResult.TemplateId, tagRepository.Get(luceneSearchResult.ContentTags).Where(tag => !tag.IsHiddenFromDisplay), mediaItem)); }
private XmlSitemapItem ToSitemapItem(LuceneSearchResultItem searchResultItem) { return(new XmlSitemapItem() { ItemUrl = LinkManager.GetItemUrl(searchResultItem.GetItem(), new UrlOptions() { AlwaysIncludeServerUrl = true, LanguageEmbedding = LanguageEmbedding.Never }) }); }