J'utilise le WCMS de Sitecore et j'ai un code C# qui utilise Lucene.net pour rechercher un index basé sur certains critères. J'utilise la classe IndexSearcher comme suit:Lucene.net IndexSearcher.search aucun résultat
Database webDB = Sitecore.Context.Database;
Sitecore.Data.Indexing.Index index = webDB.Indexes["CampusNewsIndex"];
IndexSearcher indexSearcher = index.GetSearcher(webDB);
BooleanQuery completeQuery = new BooleanQuery();
// build completeQuery
Hits hits = indexSearcher.Search(completeQuery, sort);
for (int i = 0; i < hits.length(); i++)
{
returnItems[i] = Sitecore.Data.Indexing.Index.GetItem(hits.Doc(i), Sitecore.Context.Database);
}
Ce code fonctionne correctement si les résultats sont renvoyés. Cependant, si "hits" n'a aucun résultat, hits.length() renvoie 1 même s'il est logique qu'il renvoie 0. Est-ce que quelqu'un sait comment je peux dire si la requête n'a donné aucun résultat?
Quelles sont les données renvoyées dans les résultats en l'absence de résultats? – danben
Strange - length() devrait être 0, et vaut 0 dans l'implémentation Java de Lucene. On dirait un Lucene.Net ou un bug WCMS ... Je le signalerais. –
Oui, plus je regarde ça, je vais appeler ça un bug de Sitecore. Il semble que Lucene retourne quelque chose (bien que ce ne soit pas le cas) et quand Sitecore essaie de l'évaluer, c'est null. J'ai aussi posté de l'aide sur les forums de Sitecore et je vais poster ici si je trouve quelque chose. – Kyle