Sitecore 7 검색 API를 사용하여 쿼리를 수행하려고합니다. 이 쿼리에는 여러 DateTime where 절이 들어 있습니다. 아래 예제에서 EffectiveFrom 및 EffectiveTo는 DateTime 속성입니다.Sitecore 7 Update-1에서 DateTime으로 검색
/// <summary>
/// Search result item for event schedules
/// </summary>
public class ScheduleSearchResultItem : SearchResultItem
{
/// <summary>
/// EffectiveFrom field
/// </summary>
[TypeConverter(typeof(IndexFieldDateTimeValueConverter))]
[IndexField("effectivefrom")]
public DateTime EffectiveFrom { get; set; }
/// <summary>
/// EffectiveTo field
/// </summary>
[TypeConverter(typeof(IndexFieldDateTimeValueConverter))]
[IndexField("effectiveto")]
public DateTime EffectiveTo { get; set; }
// ...
}
이 Sitecore 7의 초기 릴리스와 함께 일하고, 그러나 지금 는 "문자열이 유효한 것으로 인식되지 않았습니다 발생 :
var index = ContentSearchManager.GetIndex("sitecore_web_index");
using (var context = index.CreateSearchContext())
{
var schedules = context.GetQueryable<ScheduleSearchResultItem>()
.Where(item => item.EffectiveFrom <= DateTime.Now)
.Where(item => item.EffectiveTo >= DateTime.Now);
foreach (var schedule in schedules)
{
//...
}
}
ScheduleSearchResultItem
Sitecore.ContentSearch.SearchTypes.SearchResultItem
에서 상속과는 다음과 같습니다 날짜 시간." Sitecore 7 Update-1에서 오류가 발생했습니다.
수십 개의 색인 구성을 시도하고 ScheduleSearchResultItem
에 IndexFieldDateTimeValueConverter
특성을 추가 및 제거했습니다. 나는 Luke를 통해 이러한 항목에 yyyyMMdd 형식의 날짜가 포함되어 있음을 확인했습니다. 즉, 내 항목 모두가 유효하지 않습니다. 및 효과가 개입니다.
다른 사용자에게도 동일한 문제가 발생합니까?
이것은 나에게도 일어났습니다. 문제는 Sitecore 업그레이드 지침에 잘 정의되어 있지 않다는 것입니다. 주의를 기울이지 않으면 Sitecore.ContentSearch.Solr.Indexes.config 파일을 다른 업데이트 된 구성 파일과 함께 추가합니다. 감사! –