2017-09-04 3 views
0

Ich versuche, ein SimpleQuery zu verwenden unterschiedliches Ergebnis von meiner solr Sammlung zu erhalten, aber auch meine StatsOption mit calcDistincttrue nach der Einstellung, kann ich‘ t bekomme das Ergebnis, das ich will.Frühlings-Data-SOLR: Statistik Ergebnis auf SimpleQuery zurückkehren wird mir nicht unterscheidbar calcs

BTW Ich verwende spring-data-solr-2.1.4.RELEASE.

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; 

Nach den obigen Code versucht, alles, was ich bekommen, ist das Maximum, Minimum, zählen, aber keine Ergebnisse für unterschiedliche Summen oder unterschiedliche Werte.

Result

Was ich falsch in dieser Probe zu tun?

Antwort

0

Sieht aus wie Ihre disctintValues Sammlung ist auch eine Implementierung von EmptyList was bedeutet, dass keine Werte in der Antwort sind.

Überprüfen Sie, ob Ihre Abfrage zuerst ein Ergebnis zurückgibt.

+0

Ich habe bereits die gleiche Abfrage mit stats = on in meiner Solr API versucht und es gibt mir Ergebnisse für verschiedene Werte zurück. –

Verwandte Themen