private XmlSitemapItem ToSitemapItem(LuceneSearchResultItem searchResultItem)
 {
     return(new XmlSitemapItem()
     {
         ItemUrl = LinkManager.GetItemUrl(searchResultItem.GetItem(),
                                          new UrlOptions()
         {
             AlwaysIncludeServerUrl = true,
             LanguageEmbedding = LanguageEmbedding.Never
         })
     });
 }
コード例 #2
0
        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));
        }