Skip to content

Commit

Permalink
fix(serarch): Fix facet_stats type
Browse files Browse the repository at this point in the history
  • Loading branch information
ElPicador committed Mar 7, 2018
1 parent 7bef0a9 commit 6040c11
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package com.algolia.search.responses;

import java.io.Serializable;

public class FacetStats implements Serializable {

private Float min;
private Float max;
private Float avg;
private Float sum;

public Float getMin() {
return min;
}

public FacetStats setMin(Float min) {
this.min = min;
return this;
}

public Float getMax() {
return max;
}

public FacetStats setMax(Float max) {
this.max = max;
return this;
}

public Float getAvg() {
return avg;
}

public FacetStats setAvg(Float avg) {
this.avg = avg;
return this;
}

public Float getSum() {
return sum;
}

public FacetStats setSum(Float sum) {
this.sum = sum;
return this;
}

@Override
public String toString() {
return "FacetStats{" + "min=" + min + ", max=" + max + ", avg=" + avg + ", sum=" + sum + '}';
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import java.util.List;
import java.util.Map;

@SuppressWarnings("unused")
@SuppressWarnings({"unused", "WeakerAccess"})
public class SearchResult<T> implements Serializable {

private Long page;
Expand All @@ -20,7 +20,7 @@ public class SearchResult<T> implements Serializable {

private Map<String, Map<String, Long>> facets;

private Map<String, Float> facets_stats;
private Map<String, FacetStats> facets_stats;

private Boolean exhaustiveFacetsCount;

Expand Down Expand Up @@ -167,11 +167,11 @@ public SearchResult<T> setProcessed(Boolean processed) {
return this;
}

public Map<String, Float> getFacets_stats() {
public Map<String, FacetStats> getFacets_stats() {
return facets_stats;
}

public SearchResult<T> setFacets_stats(Map<String, Float> facets_stats) {
public SearchResult<T> setFacets_stats(Map<String, FacetStats> facets_stats) {
this.facets_stats = facets_stats;
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@
import com.algolia.search.objects.IndexSettings;
import com.algolia.search.objects.MultiQueriesStrategy;
import com.algolia.search.objects.Query;
import com.algolia.search.responses.FacetStats;
import com.algolia.search.responses.MultiQueriesResult;
import com.algolia.search.responses.SearchFacetResult;
import com.algolia.search.responses.SearchResult;
import com.google.common.collect.ImmutableMap;
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import org.junit.Test;

public abstract class SyncSearchTest extends SyncAlgoliaIntegrationTest {
Expand Down Expand Up @@ -75,21 +77,26 @@ public void searchOnNonExistingIndex() {
}

@Test
public void searchInFacets() throws AlgoliaException {
public void searchAndFacets() throws AlgoliaException {
Index<AlgoliaObjectForFaceting> index = createIndex(AlgoliaObjectForFaceting.class);
waitForCompletion(
index.setSettings(
new IndexSettings()
.setAttributesForFaceting(Collections.singletonList("searchable(series)"))));
.setAttributesForFaceting(Arrays.asList("searchable(series)", "age"))));

waitForCompletion(
index.addObjects(
Arrays.asList(
new AlgoliaObjectForFaceting("snoopy", 12, "Peanuts"),
new AlgoliaObjectForFaceting("woodstock", 12, "Peanuts"),
new AlgoliaObjectForFaceting("Calvin", 12, "Calvin & Hobbes"))));
new AlgoliaObjectForFaceting("snoopy", 10, "Peanuts"),
new AlgoliaObjectForFaceting("woodstock", 20, "Peanuts"),
new AlgoliaObjectForFaceting("Calvin", 30, "Calvin & Hobbes"))));

SearchFacetResult result = index.searchForFacetValues("series", "Peanuts");
assertThat(result.getFacetHits()).hasSize(1);

SearchResult<AlgoliaObjectForFaceting> search = index.search(new Query("").setFacets("age"));
Map<String, FacetStats> expected =
ImmutableMap.of("age", new FacetStats().setMax(30f).setMin(10f).setSum(60f).setAvg(20f));
assertThat(search.getFacets_stats()).isEqualToComparingFieldByFieldRecursively(expected);
}
}

0 comments on commit 6040c11

Please sign in to comment.