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 | } |