Dieser Code gibt die ersten 10 Facette Artikel (von 200) für FieldX:SolrJ Gesamt Facetten ohne alle Facetten abrufen
query.setQuery("*:*");
query.setFacet(true);
query.addFacetField("fieldx");
query.setFacetLimit(10);
QueryResponse resp = solr.query(query);
System.out.println("tot="+resp.getResults().getNumFound());
Ich brauche die Gesamtzahl der Facetten Artikel (200 in diesem Fall zu erhalten), damit ich die Facettenmenge paginieren kann. resp.getResults().getNumFound()
gibt die Gesamtzahl der Dokumente (31.000.000) zurück, nicht die Gesamtzahl der Facettenelemente.
Dies funktioniert nicht, weil 'fieldxFacets.getValueCount()' die zurückgegebene Facettenzahl zurückgibt (in diesem Fall 10), nicht die gesamten Facetten. – Bruce
Woher weißt du, dass du 200 Facetten hast? Wenn diese Methode nur 10 zurückgibt, aber bei 100% sicher ist, dass sie 200 sind, besteht die Möglichkeit, dass Sie das Limit festlegen. Versuchen Sie, das Limit mithilfe von facet.limit = -1 (unbegrenzt) festzulegen. – AR1
Entschuldigung, ich kann in Ihrem Code sehen, dass Sie Facettenlimit 10 setzen, das ist Ihr Problem. Setzen Sie es auf -1, wenn Sie alle Facetten oder eine obere Grenze erhalten möchten, wenn Sie weniger anzeigen möchten – AR1