2010-09-22 22 views
3

Utilisation de SolrNet pour l'interrogation & facettage. J'ai une combinaison de champs int, tdate et string que je voudrais aborder. Toutefois, je ne parviens pas à mélanger SolrFacetFieldQuery et SolrFacetQuery (pour les plages) et SolrFacetDateQuery (pour les plages de dates) dans la même requête. J'obtiens une erreur "aucun meilleur type trouvé pour le tableau implicitement typé". Comment cela devrait-il être mieux géré? De toute évidence, ne voulez pas envoyer plusieurs requêtes pour obtenir les autres facettes.SolrNet Question de facettage

Je sais que c'est quelque chose de stupide, mais été me vexer ....

 results = solr.Query(qry 
     , new QueryOptions 
     { 
      Rows = 250, 
      Facet = new FacetParameters 
      { 
       Queries = new[] 
         { 
          new SolrFacetFieldQuery("Registry"), 
          new SolrFacetFieldQuery("Status"), 
          new SolrFacetFieldQuery("Type"), 
          //this is where it throws up "no best type found for implicty typed array" 
          new SolrFacetQuery(lessThan25), 

         } 
      } 

     }); 

Répondre

4

C# ne peut pas déduire le type de base commune, donc vous devez être explicite à ce sujet lors de la création du tableau:

Queries = new ISolrFacetQuery[] { 
    new SolrFacetFieldQuery("Registry"), 
    new SolrFacetFieldQuery("Status"), 
    new SolrFacetFieldQuery("Type"), 
    new SolrFacetQuery(lessThan25), 
} 
+0

Merci comme toujours @Mauricio. – Mikos