Я хотел бы знать, как Solr индексирует общее поле ссылки, или нам нужно создать поле вычисляемого индекса для этого?
У меня есть вспомогательный класс, который наследуется от SearchResultItem и имеет поле ниже индекса.
[IndexField("Call To Action")]
public LinkField CallToAction { get; set; }
Это поле является общим полем ссылки в sitecore.
Ниже приведен код поиска, который извлекает все значения Event_card, кроме CallToAction (т. е. Всегда null). если я преобразую тип поля из Link в string , я получаю исходное значение общей ссылки, которое трудно проанализировать при просмотре и сделать его редактируемым с помощью Glass Mapper.
если (результат.TotalSearchResults != 0)
{
//Load Event card data to be displayed on page
var resultItems =
result.Select(c => new Event_Card
{
Headline = c.Document.Headline,
Start_Date=c.Document.StartDate,
Content=c.Document.ContentData,
Call_To_Action=c.Document.CallToAction // this is always null
});
}
Вот мой класс Entity, связанный с Event_Card
Event_Card
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Командная разработка для Sitecore - GlassItem.tt", "1.0")]
[SitecoreField(IEvent_CardConstants.Call_To_ActionFieldName)]
public virtual Link Call_To_Action { get; set; }
IEvent_Card
[SitecoreField(IEvent_CardConstants.Call_To_ActionFieldName)]
Link Call_To_Action { get; set; }
общедоступный статический частичный класс IEvent_CardConstants
{
общедоступный статический идентификатор только для чтения Call_To_ActionFieldId = новый идентификатор ("4c296a05-d05f-47c5-8934-8801bec5be85");
public const string Call_To_ActionFieldName = "Call To Action";
}
Может ли кто-нибудь сообщить мне, как я могу этого достичь. Если нам нужно использовать вычисляемое поле, пример будет очень полезен.
Заранее спасибо !