View difference between Paste ID: 3xC5B1SM and dSJ53Daw
SHOW: | | - or go back to the newest paste.
1
namespace Templates.Search
2
{
3
    using EPiServer.Core;
4
    using EPiServer.Find;
5
    using EPiServer.Find.ClientConventions;
6
    using EPiServer.Find.Cms;
7
    using EPiServer.Find.Cms.Conventions;
8
    using EPiServer.Find.Cms.Module;
9
    using EPiServer.Find.UnifiedSearch;
10
    using EPiServer.Framework;
11
    using EPiServer.Framework.Initialization;
12
    using EPiServer.Web.Hosting;
13
    using System;
14
    using System.Collections.Generic;
15
    using NameSpace.To.Your.Extensions;
16
17
    [InitializableModule]
18
    [ModuleDependency(typeof(IndexingModule))]
19
    public class IndexingConventions : IInitializableModule
20
    {
21
        private bool eventsAttached;
22
23-
        static readonly IList<string> FileTypesToIndex = new List<string>
23+
        static readonly IList<string> fileTypesToIndex = new List<string>
24
        {
25
            ".txt",
26
            ".pdf",
27
            ".doc",
28
            ".docx",
29
            ".rtf",
30
            ".htm",
31
            ".html",
32
            ".xls",
33
            ".xlsx"
34
        };
35
36
        public void Initialize(InitializationEngine context)
37
        {
38-
            if (!this.eventsAttached)
38+
            if (!eventsAttached)
39
            {
40
                SearchClient.Instance.Conventions.UnifiedSearchRegistry.Add<PageData>().PublicSearchFilter(c => c.BuildFilter<PageData>().FilterForVisitor<PageData>());
41
                SearchClient.Instance.Conventions.UnifiedSearchRegistry.Add<UnifiedFile>().PublicSearchFilter(c => c.BuildFilter<UnifiedFile>().FilterOnUnifiedFileReadAccess());
42
43
                FileIndexer.Instance.Conventions.ShouldIndexVPPConvention = new VisibleInFilemanagerVPPIndexingConvention();
44-
                FileIndexer.Instance.Conventions.ForInstancesOf<UnifiedFile>().ShouldIndex(x => FileTypesToIndex.Contains(x.Extension));
44+
                FileIndexer.Instance.Conventions.ForInstancesOf<UnifiedFile>().ShouldIndex(x => fileTypesToIndex.Contains(x.Extension));
45
46
                PageIndexer.Instance.Conventions.EnablePageFilesIndexing();
47
48
                SearchClient.Instance.Conventions.ForInstancesOf<UnifiedFile>()
49
                    .ExcludeField(file => file.Attachment()) // Exclude the default Attachment
50
                    .IncludeField(file => file.SearchFilename())
51
                    .IncludeField(file => file.SearchFileExtension())
52
                    .IncludeField(file => file.SearchHitUrl())
53
                    .IncludeField(file => file.SearchAttachment()) // Include our extened Attachment
54
                    .IncludeField(file => file.SearchPublishDate())
55
                    .IncludeField(file => file.SearchUpdateDate())
56
                    .IncludeField(file => file.SearchHitTypeName())
57
                    .IncludeField(file => file.SearchSubsection())
58
                    .IncludeField(file => file.SearchTitle());
59
60
		eventsAttached = true;
61
            }
62
        }
63
64-
            this.eventsAttached = false;
64+
65
        {
66
            eventsAttached = false;
67
        }
68
69
        public void Preload(string[] parameters)
70
        {
71
            throw new NotImplementedException();
72
        }
73
    }
74
}