Je tente d'effectuer une requête à l'aide de l'API de recherche Sitecore 7. La requête contient un certain nombre de clauses DateTime where. Dans l'exemple ci-dessous, EffectiveFrom et EffectiveTo sont des propriétés DateTime.Recherche par DateTime dans Sitecore 7 Update-1
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
hérite de Sitecore.ContentSearch.SearchTypes.SearchResultItem
et se présente comme suit:
/// <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; }
// ...
}
Ce travaillait avec la version initiale de Sitecore 7, cependant, il jette maintenant un « String n'a pas été reconnu comme valide DateTime. " Erreur dans Sitecore 7 Update-1.
J'ai essayé des douzaines de configurations d'index, en plus d'ajouter et de supprimer l'attribut IndexFieldDateTimeValueConverter
sur mon ScheduleSearchResultItem
. J'ai confirmé via Luke que ces articles contiennent des dates au format aaaaMMdj. Cela dit, tous mes articles ont effectivefrom et effectiveto champs.
Quelqu'un d'autre a le même comportement?
Cela m'est également arrivé. Le problème est qu'il n'est pas bien défini dans les instructions de mise à niveau de Sitecore. Si vous ne faites pas attention, vous allez ajouter le fichier Sitecore.ContentSearch.Solr.Indexes.config avec les autres fichiers de configuration mis à jour. Merci! –