@Override public EsResult queryAndAggregate(NxQueryBuilder queryBuilder) { SearchResponse response = search(queryBuilder); List<Aggregate<Bucket>> aggs = getAggregates(queryBuilder, response); if (queryBuilder.returnsDocuments()) { DocumentModelListImpl docs = getDocumentModels(queryBuilder, response); return new EsResult(docs, aggs, response); } else if (queryBuilder.returnsRows()) { IterableQueryResult rows = getRows(queryBuilder, response); return new EsResult(rows, aggs, response); } return new EsResult(response); }
@Override public DocumentModelList query(NxQueryBuilder queryBuilder) { return queryAndAggregate(queryBuilder).getDocuments(); }
DocumentModelList dmList = ret.getDocuments(); currentAggregates = new HashMap<>(ret.getAggregates().size()); for (Aggregate<Bucket> agg : ret.getAggregates()) { currentAggregates.put(agg.getId(), agg);
@Override public void run() throws NuxeoException { if (StringUtils.isNotBlank(this.query)) { // ES query ElasticSearchService ess = ToutaticeEsQueryHelper.getElasticSearchService(); NxQueryBuilder queryBuilder = new NxQueryBuilder(super.session).fetchFromElasticsearch().nxql(this.query).limit(this.limit); this.iqr = ess.queryAndAggregate(queryBuilder).getRows(); } else { throw new NuxeoException("No query defined."); } }
DocumentModelList dmList = ret.getDocuments(); currentAggregates = new HashMap<>(ret.getAggregates().size()); for (Aggregate<Bucket> agg : ret.getAggregates()) { currentAggregates.put(agg.getId(), agg);