Hi, I am trying to customize the index projection for unified search like below
SearchClient.Instance.Conventions.UnifiedSearchRegistry
.ForInstanceOf().ProjectTitleFrom(s => s.Position);
But i have noticed after several days of debugging that below code in EPiServer.Find.Cms.CmsClientConventions
client.Conventions.ForInstancesOf().IncludeField((Expression<Func<IContent, ContentReference>>) (x => x.ContentLink)).IncludeField((Expression<Func<IContent, DateTime>>) (x => x.GetTimestamp())).IncludeField((Expression<Func<IContent, string>>) (x => x.SiteId())).IncludeField((Expression<Func<IContent, string>>) (x => x.ContentTypeName())).IncludeField<IEnumerable>((Expression<Func<IContent, IEnumerable>>) (x => x.Ancestors())).IncludeField<Dictionary<string, LanguagePublicationStatus>>((Expression<Func<IContent, Dictionary<string, LanguagePublicationStatus>>>) (x => x.PublishedInLanguage())).IncludeField((Expression<Func<IContent, string>>) (x => x.CommonName())).IncludeField((Expression<Func<IContent, string>>) (x => x.CommonType())).IncludeField((Expression<Func<IContent, string>>) (x => x.CommonTypeShortName())).IncludeField((Expression<Func<IContent, string>>) (x => x.CommonTypeDisplayName())).IncludeField((Expression<Func<IContent, string>>) (x => x.SearchTitle())).IncludeField((Expression<Func<IContent, string>>) (x => x.SearchText())).IncludeField((Expression<Func<IContent, string>>) (x => x.SearchSection())).IncludeField((Expression<Func<IContent, string>>) (x => x.SearchSubsection())).IncludeField((Expression<Func<IContent, bool>>) (x => x.HasTemplate())).IdIs((Func<IContent, DocumentId>) (x => (DocumentId) x.GetIndexId())).ExcludeField("__interceptors").ExcludeFieldMatching((Func<JsonProperty, bool>) (prop => typeof (XForm).IsAssignableFrom(prop.PropertyType))).ExcludeFieldMatching((Func<JsonProperty, bool>) (prop => typeof (PageType).IsAssignableFrom(prop.PropertyType))).ExcludeFieldMatching((Func<JsonProperty, bool>) (prop => typeof (Url).IsAssignableFrom(prop.PropertyType))).ExcludeFieldMatching((Func<JsonProperty, bool>) (prop => typeof (LinkItemCollection).IsAssignableFrom(prop.PropertyType)));
always takes the precedence. I think the only way to override the SearchTitle/SearchSection is to provide the extension method not throw the unified registry?
Any comments regarding this?