Commit cce56a77 authored by Noel Alonso's avatar Noel Alonso
Browse files

Ordena por fecha y elimina duplicados

parent 3ee31e0e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.sort.SortBuilder;
import org.locationtech.jts.geom.Geometry;
import org.springframework.beans.factory.annotation.Autowired;

@@ -137,6 +138,11 @@ public abstract class RGeoDataESRepository<TModel extends Feature<?, ?>> extends
				getSourceType(GeoSearchWrapper.class));
	}

	protected GeoSearchWrapper<?, ?> findBy(QueryBuilder queryBuilder, SortBuilder<?> sort, List<String> returnFields) {
		return searchResponseToWrapper(searchRequest(queryBuilder, sort, returnFields),
				getSourceType(GeoSearchWrapper.class));
	}

	public List<String> suggest(String parentId, GeoDataQueryDTO queryDTO) {

		QueryBuilder serviceQuery = GeoDataQueryUtils.getHierarchicalQuery(queryDTO, parentId);
+9 −3
Original line number Diff line number Diff line
package es.redmic.es.geodata.common.repository;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;

/*-
@@ -30,6 +30,8 @@ import java.util.Map;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.sort.SortOrder;
import org.elasticsearch.search.sort.SortBuilders;
import org.locationtech.jts.geom.Geometry;
import org.springframework.stereotype.Repository;

@@ -60,7 +62,10 @@ public class SpeciesGeoESRepository extends GeoPresenceESRepository<GeoPointData
		List<String> returnFields = new ArrayList<>();
		returnFields.add("activityId");
		GeoSearchWrapper<Properties, Geometry> result =
			(GeoSearchWrapper<Properties, Geometry>) findBy(QueryBuilders.boolQuery().filter(filterBuilder), returnFields);
			(GeoSearchWrapper<Properties, Geometry>) findBy(
				QueryBuilders.boolQuery().filter(filterBuilder),
				SortBuilders.fieldSort("properties.date").order(SortOrder.DESC),
				returnFields);

		if (result == null || result.getTotal() == 0)
			return activities;
@@ -71,7 +76,8 @@ public class SpeciesGeoESRepository extends GeoPresenceESRepository<GeoPointData

			activities.add(item.get_source().getProperties().getActivityId());
		}
		return activities;
		// ELimina duplicados
		return new ArrayList<>(new LinkedHashSet<>(activities));
	}

	/**