2014-10-22 5 views
1

필드에 연결된 값이없는 경우 Lucene (Sitecore 7에서)이 기본값을 갖도록 강제하는 방법이 있습니까? 필드에 빈 문자열이나 null 값 비교를 시도했지만 작동하지 않습니다. 이 특정 필드에 내 결과 집합에서 제외 할 값이없는 모든 항목을 원합니다.Lucene 필드는 Sitecore 7의 기본값입니다.

감사합니다.

답변

1

원본 필드를 기반으로 계산 된 필드를 만들 수 있습니다. 만드는 계산 필드에 대한 도움말의 다음 문서를 참조하십시오

public class NullOrEmptyComputedField : IComputedIndexField 
{ 
    public object ComputeFieldValue(IIndexable indexable) 
    { 
     Item item = indexable as SitecoreIndexableItem; 
     if (item == null) 
      return null; 

     // We return a default value if the target field is empty 
     if (String.IsNullOrEmpty(item["originalField"])) 
      return "_EMPTY_"; 

     return item["originalField"]; 
    } 

    public string FieldName { get; set; 
    public string ReturnType { get; set; } 
} 

:

비어 있다면, 당신은 기본 값을 반환