2017-09-04 3 views
0

Je suis en train d'utiliser un SimpleQuery pour obtenir le résultat distinct de ma collection solr, mais même après avoir réglé mon StatsOption avec calcDistincttrue, je peux » t obtenir le résultat que je veux. J'ai utilisé spring-data-solr-2.1.4.RELEASE.Printemps-données-SOLR: résultat Statistiques sur SimpleQuery ne me revenir calcs distincts

SampleCode:

Field field = new SimpleField("fieldName"); 
StatsOptions statsOptions = new StatsOptions().addField(field).setCalcDistinct(true); 
SimpleQuery query = new SimpleQuery("*:*").setStatsOptions(statsOptions); 
StatsPage<MyClass> statsPage = solrTemplate.queryForStatsPage(query, MyClass.class); 
FieldStatsResult statsResult = statsPage.getFieldStatsResult(field); 
Collection<Object> distinctValues = statsResult.getDistinctValues(); 
Set<String> result = distinctValues.stream().map((i) -> i.toString()).collect(Collectors.toSet()); 
return result; 

Après avoir essayé le code ci-dessus, tout ce que je reçois est le max, min, compte, mais aucun résultat pour les totaux distincts ou des valeurs distinctes.

Result

Qu'est-ce que je fais mal dans cet exemple?

Répondre

0

On dirait que votre collection disctintValues est aussi une mise en œuvre de EmptyList ce qui signifie qu'il n'y a pas de valeurs dans la réponse.

Vérifiez si votre requête renvoie un résultat, d'abord.

+0

J'ai déjà essayé la même requête avec stats = on dans mon API solr et il me renvoie des résultats pour des valeurs distinctes. –