/** * Gets the entity objects. * * @param clazz * the clazz * @param entityMetadata * the entity metadata * @param entityType * the entity type * @param hits * the hits * @return the entity objects */ private List getEntityObjects(Class clazz, final EntityMetadata entityMetadata, EntityType entityType, SearchHits hits) { List results = new ArrayList(); Object entity = null; for (SearchHit hit : hits.getHits()) { entity = KunderaCoreUtils.createNewInstance(clazz); Map<String, Object> hitResult = hit.sourceAsMap(); results.add(wrap(hitResult, entityType, entity, entityMetadata, false)); } return results; } }
entity = query.getSelectStatement().hasGroupByClause() ? hits.getAt(0).sourceAsMap().get(jpaField) : hits .getAt(0).getFields().get(jpaField).getValue();
/** * The source of the document as a map (can be <tt>null</tt>). */ public Map<String, Object> getSource() { return sourceAsMap(); }
@Override public Map<String, Object> sourceAsMap() { return this.searchHit.sourceAsMap(); }
/** * Gets the entity objects. * * @param clazz * the clazz * @param entityMetadata * the entity metadata * @param entityType * the entity type * @param hits * the hits * @return the entity objects */ private List getEntityObjects(Class clazz, final EntityMetadata entityMetadata, EntityType entityType, SearchHits hits) { List results = new ArrayList(); Object entity = null; for (SearchHit hit : hits.getHits()) { entity = KunderaCoreUtils.createNewInstance(clazz); Map<String, Object> hitResult = hit.sourceAsMap(); results.add(wrap(hitResult, entityType, entity, entityMetadata, false)); } return results; } }
for (final SearchHit hit : hits) { final Map<String, Object> sourceMap = hit .sourceAsMap(); final List<String> methodList = MapUtil .getAsList(sourceMap, "methods",
private Collection<AgentResult> getAgents(PercolateResponse response) throws UnknownHostException { Map<String, AgentResult> indexedAgents = new HashMap<>(); BoolQueryBuilder agentsQueryBuilder = QueryBuilders.boolQuery(); for (PercolateResponse.Match match : response) { String agentId = match.getId().string(); agentsQueryBuilder = agentsQueryBuilder.should(termQuery("_id", agentId)); indexedAgents.put(agentId, new AgentResult(agentId, match, null)); } SearchHits agentHits = getElasticClient() .prepareSearch(policyIndexName) .setTypes(percolatorTypeName) .setQuery(agentsQueryBuilder) .setSize(elasticsearchProperties.getElasticsearchMaxStoredqueries()) .get(elasticsearchProperties.getElasticsearchSearchTimeout()) .getHits(); for (SearchHit agentHit : agentHits) { AgentResult agentResult = indexedAgents.get(agentHit.getId()); if (agentResult != null) { agentResult.setSource(agentHit.sourceAsMap()); } } if (indexedAgents.values().stream().anyMatch(r -> r.getSource() == null)) { String error = "Failed to retrieve all the expected boolean agents from Elasticsearch"; logger.error(error); throw new RuntimeException(error); } return indexedAgents.values(); }
List executeQuery(FilterBuilder filter, final EntityMetadata entityMetadata) { Class clazz = entityMetadata.getEntityClazz(); MetamodelImpl metaModel = (MetamodelImpl) KunderaMetadata.INSTANCE.getApplicationMetadata().getMetamodel( entityMetadata.getPersistenceUnit()); EntityType entityType = metaModel.entity(clazz); List results = new ArrayList(); SearchResponse response = txClient.prepareSearch(entityMetadata.getSchema().toLowerCase()) .setTypes(entityMetadata.getTableName()).setFilter(filter).execute().actionGet(); SearchHits hits = response.getHits(); Object entity = null; for (SearchHit hit : hits.getHits()) { entity = getInstance(clazz, entity); Map<String, Object> hitResult = hit.sourceAsMap(); results.add(wrap(hitResult, entityType, entity,entityMetadata, false)); } return results; }
SearchHit[] searchHits = scrollResp.getHits().getHits(); return Arrays.stream(searchHits).map(searchHitFields -> { Map<String, Object> sourceLine = new HashMap<>(searchHitFields.sourceAsMap()); sourceLine.put("_type", searchHitFields.getType()); sourceLine.put("_id", searchHitFields.getId());
Map<String, Object> source = hit.sourceAsMap(); if (fields.isEmpty()) { if (source != null) {
SearchHit[] searchHits = scrollResp.getHits().getHits(); return Arrays.stream(searchHits).map(searchHitFields -> { Map<String, Object> sourceLine = new HashMap<>(searchHitFields.sourceAsMap()); sourceLine.put("_type", searchHitFields.getType()); sourceLine.put("_id", searchHitFields.getId());
hitProperties.put("_version", hit.version()); Map<String, Object> sourceAsMap = hit.sourceAsMap(); if(sourceAsMap != null){ hitProperties.put("_source", hit.sourceAsMap());
hitProperties.put("_version", hit.version()); Map<String, Object> sourceAsMap = hit.sourceAsMap(); if(sourceAsMap != null){ hitProperties.put("_source", hit.sourceAsMap());
entity = query.getSelectStatement().hasGroupByClause() ? hits.getAt(0).sourceAsMap().get(jpaField) : hits .getAt(0).getFields().get(jpaField).getValue();
if (sr.getHits().getTotalHits() > 0) { SearchHit hit = sr.getHits().getAt(0); lastIndexing = ProjectIndexingInfo.readFromDocument(hit.sourceAsMap()); } else { logger.debug("No last indexing info found in activity log for project {}", projectKey);
Map<String, Object> objectMap = hit.sourceAsMap(); if(objectMap==null){ if(hit.fields()!=null){
tagTypeMap.put(CODE, TAG_TYPE_CODE); sourceMap1.put(TAG_TYPE, tagTypeMap); when(searchHit1.sourceAsMap()).thenReturn(sourceMap1); Map<String, Object> sourceMap2 = new HashMap<>(); Map<String, Object> businessObjectDefinitionMap = new HashMap<>(); businessObjectDefinitionMap.put(CODE, NAMESPACE_CODE); sourceMap2.put(NAMESPACE, businessObjectDefinitionMap); when(searchHit2.sourceAsMap()).thenReturn(sourceMap2); when(searchHit1.getShard()).thenReturn(searchShardTarget1); when(searchHit2.getShard()).thenReturn(searchShardTarget2);