public void run() throws IOException, SqlParseException { long timeBefore = System.currentTimeMillis(); List<SearchHit> combinedSearchHits = innerRun(); int resultsSize = combinedSearchHits.size(); SearchHit[] hits = combinedSearchHits.toArray(new SearchHit[resultsSize]); this.results = new SearchHits(hits, resultsSize,1.0f); long joinTimeInMilli = System.currentTimeMillis() - timeBefore; this.metaResults.setTookImMilli(joinTimeInMilli); }
private void fillMinusHitsFromOneField(String fieldName, Set<Object> fieldValues, SearchHit someHit) { List<SearchHit> minusHitsList = new ArrayList<>(); int currentId = 1; for(Object result : fieldValues){ Map<String,DocumentField> fields = new HashMap<>(); ArrayList<Object> values = new ArrayList<Object>(); values.add(result); fields.put(fieldName,new DocumentField(fieldName, values)); SearchHit searchHit = new SearchHit(currentId,currentId+"", new Text(someHit.getType()), fields); searchHit.sourceRef(someHit.getSourceRef()); searchHit.getSourceAsMap().clear(); Map<String, Object> sourceAsMap = new HashMap<>(); sourceAsMap.put(fieldName,result); searchHit.getSourceAsMap().putAll(sourceAsMap); currentId++; minusHitsList.add(searchHit); } int totalSize = currentId - 1; SearchHit[] unionHitsArr = minusHitsList.toArray(new SearchHit[totalSize]); this.minusHits = new SearchHits(unionHitsArr, totalSize,1.0f); }
private void fillMinusHitsFromResults(Set<ComperableHitResult> comperableHitResults) { int currentId = 1; List<SearchHit> minusHitsList = new ArrayList<>(); for(ComperableHitResult result : comperableHitResults){ ArrayList<Object> values = new ArrayList<Object>(); values.add(result); SearchHit originalHit = result.getOriginalHit(); SearchHit searchHit = new SearchHit(currentId,originalHit.getId(), new Text(originalHit.getType()), originalHit.getFields()); searchHit.sourceRef(originalHit.getSourceRef()); searchHit.getSourceAsMap().clear(); Map<String, Object> sourceAsMap = result.getFlattenMap(); for(Map.Entry<String,String> entry : this.builder.getFirstTableFieldToAlias().entrySet()){ if(sourceAsMap.containsKey(entry.getKey())){ Object value = sourceAsMap.get(entry.getKey()); sourceAsMap.remove(entry.getKey()); sourceAsMap.put(entry.getValue(),value); } } searchHit.getSourceAsMap().putAll(sourceAsMap); currentId++; minusHitsList.add(searchHit); } int totalSize = currentId - 1; SearchHit[] unionHitsArr = minusHitsList.toArray(new SearchHit[totalSize]); this.minusHits = new SearchHits(unionHitsArr, totalSize,1.0f); }
@Override public void run() throws IOException, SqlParseException { SearchResponse firstResponse = this.multiQueryBuilder.getFirstSearchRequest().get(); SearchHit[] hits = firstResponse.getHits().getHits(); List<SearchHit> unionHits = new ArrayList<>(hits.length); fillInternalSearchHits(unionHits,hits,this.multiQueryBuilder.getFirstTableFieldToAlias()); SearchResponse secondResponse = this.multiQueryBuilder.getSecondSearchRequest().get(); fillInternalSearchHits(unionHits,secondResponse.getHits().getHits(),this.multiQueryBuilder.getSecondTableFieldToAlias()); int totalSize = unionHits.size(); SearchHit[] unionHitsArr = unionHits.toArray(new SearchHit[totalSize]); this.results = new SearchHits(unionHitsArr, totalSize,1.0f); }
public static SearchHits empty() { // We shouldn't use static final instance, since that could directly be returned by native transport clients return new SearchHits(EMPTY, 0, 0); }
public static SearchHits readSearchHits(StreamInput in) throws IOException { SearchHits hits = new SearchHits(); hits.readFrom(in); return hits; }
hits[i] = shardHits[scoreDoc.shardIndex].getAt(position); return new InternalTopHits(name, this.from, this.size, reducedTopDocs, new SearchHits(hits, reducedTopDocs.totalHits, reducedTopDocs.getMaxScore()), pipelineAggregators(), getMetaData());
return new SearchHits(hits.toArray(new SearchHit[0]), totalHits, maxScore);
return new SearchHits(hits.toArray(new SearchHit[0]), reducedQueryPhase.totalHits, reducedQueryPhase.maxScore, sortedTopDocs.sortFields, sortedTopDocs.collapseField, sortedTopDocs.collapseValues);
public static SearchHits empty() { // We shouldn't use static final instance, since that could directly be returned by native transport clients return new SearchHits(EMPTY, 0, 0); }
public static SearchHits empty() { // We shouldn't use static final instance, since that could directly be returned by native transport clients return new SearchHits(EMPTY, 0, 0); }
public static SearchHits empty() { // We shouldn't use static final instance, since that could directly be returned by native transport clients return new SearchHits(EMPTY, 0, 0); }
public static SearchHits readSearchHits(StreamInput in) throws IOException { SearchHits hits = new SearchHits(); hits.readFrom(in); return hits; }
public static SearchHits readSearchHits(StreamInput in) throws IOException { SearchHits hits = new SearchHits(); hits.readFrom(in); return hits; }
public static SearchHits readSearchHits(StreamInput in) throws IOException { SearchHits hits = new SearchHits(); hits.readFrom(in); return hits; }
context.fetchResult().hits(new SearchHits(hits, context.queryResult().getTotalHits(), context.queryResult().getMaxScore())); } catch (IOException e) { throw ExceptionsHelper.convertToElastic(e);
public void run() throws IOException, SqlParseException { long timeBefore = System.currentTimeMillis(); List<SearchHit> combinedSearchHits = innerRun(); int resultsSize = combinedSearchHits.size(); SearchHit[] hits = combinedSearchHits.toArray(new SearchHit[resultsSize]); this.results = new SearchHits(hits, resultsSize,1.0f); long joinTimeInMilli = System.currentTimeMillis() - timeBefore; this.metaResults.setTookImMilli(joinTimeInMilli); }
private void fillMinusHitsFromOneField(String fieldName, Set<Object> fieldValues, SearchHit someHit) { List<SearchHit> minusHitsList = new ArrayList<>(); int currentId = 1; for(Object result : fieldValues){ Map<String,DocumentField> fields = new HashMap<>(); ArrayList<Object> values = new ArrayList<Object>(); values.add(result); fields.put(fieldName,new DocumentField(fieldName, values)); SearchHit searchHit = new SearchHit(currentId,currentId+"", new Text(someHit.getType()), fields); searchHit.sourceRef(someHit.getSourceRef()); searchHit.getSourceAsMap().clear(); Map<String, Object> sourceAsMap = new HashMap<>(); sourceAsMap.put(fieldName,result); searchHit.getSourceAsMap().putAll(sourceAsMap); currentId++; minusHitsList.add(searchHit); } int totalSize = currentId - 1; SearchHit[] unionHitsArr = minusHitsList.toArray(new SearchHit[totalSize]); this.minusHits = new SearchHits(unionHitsArr, totalSize,1.0f); }
@Override public void run() throws IOException, SqlParseException { SearchResponse firstResponse = this.multiQueryBuilder.getFirstSearchRequest().get(); SearchHit[] hits = firstResponse.getHits().getHits(); List<SearchHit> unionHits = new ArrayList<>(hits.length); fillInternalSearchHits(unionHits,hits,this.multiQueryBuilder.getFirstTableFieldToAlias()); SearchResponse secondResponse = this.multiQueryBuilder.getSecondSearchRequest().get(); fillInternalSearchHits(unionHits,secondResponse.getHits().getHits(),this.multiQueryBuilder.getSecondTableFieldToAlias()); int totalSize = unionHits.size(); SearchHit[] unionHitsArr = unionHits.toArray(new SearchHit[totalSize]); this.results = new SearchHits(unionHitsArr, totalSize,1.0f); }
private void fillMinusHitsFromResults(Set<ComperableHitResult> comperableHitResults) { int currentId = 1; List<SearchHit> minusHitsList = new ArrayList<>(); for(ComperableHitResult result : comperableHitResults){ ArrayList<Object> values = new ArrayList<Object>(); values.add(result); SearchHit originalHit = result.getOriginalHit(); SearchHit searchHit = new SearchHit(currentId,originalHit.getId(), new Text(originalHit.getType()), originalHit.getFields()); searchHit.sourceRef(originalHit.getSourceRef()); searchHit.getSourceAsMap().clear(); Map<String, Object> sourceAsMap = result.getFlattenMap(); for(Map.Entry<String,String> entry : this.builder.getFirstTableFieldToAlias().entrySet()){ if(sourceAsMap.containsKey(entry.getKey())){ Object value = sourceAsMap.get(entry.getKey()); sourceAsMap.remove(entry.getKey()); sourceAsMap.put(entry.getValue(),value); } } searchHit.getSourceAsMap().putAll(sourceAsMap); currentId++; minusHitsList.add(searchHit); } int totalSize = currentId - 1; SearchHit[] unionHitsArr = minusHitsList.toArray(new SearchHit[totalSize]); this.minusHits = new SearchHits(unionHitsArr, totalSize,1.0f); }