Skip to content

Commit

Permalink
chore: change to follow the dependent changed codes
Browse files Browse the repository at this point in the history
Signed-off-by: Maximillian Arruda <dearrudam@gmail.com>
  • Loading branch information
dearrudam committed Jun 7, 2023
1 parent a4e2121 commit 6935791
Showing 1 changed file with 2 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@

import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch._types.SortOrder;
import co.elastic.clients.elasticsearch._types.query_dsl.BoolQuery;
import co.elastic.clients.elasticsearch._types.query_dsl.MatchQuery;
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
import co.elastic.clients.elasticsearch.core.SearchRequest;
import co.elastic.clients.elasticsearch.core.SearchResponse;
import org.eclipse.jnosql.communication.document.Document;
Expand All @@ -30,7 +27,6 @@

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Stream;
Expand Down Expand Up @@ -59,18 +55,14 @@ static Map<String, Object> getMap(DocumentEntity entity) {
}

static Stream<DocumentEntity> query(DocumentQuery query, ElasticsearchClient client, String index) {
QueryConverterResult select = QueryConverter.select(query);
QueryConverterResult select = QueryConverter.select(client, index, query);

try {
Stream<DocumentEntity> idQueryStream = Stream.empty();
Stream<DocumentEntity> statementQueryStream = Stream.empty();
if (select.hasId()) {
idQueryStream = executeId(client, index, select);
}
if (select.hasStatement()) {
statementQueryStream = executeStatement(query, client, index, select);
}
return Stream.concat(idQueryStream, statementQueryStream).distinct();
return statementQueryStream.distinct();
} catch (IOException e) {
throw new ElasticsearchException("An error to execute a query on elasticsearch", e);
}
Expand Down Expand Up @@ -122,25 +114,6 @@ private static boolean isSudDocumentList(Object value) {
allMatch(d -> d instanceof Iterable && isSudDocument(d));
}

private static Stream<DocumentEntity> executeId(ElasticsearchClient client, String index,
QueryConverterResult select) throws IOException {

List<Query> ids = select.getIds().stream()
.map(id -> MatchQuery.of(m -> m
.field(EntityConverter.ID_FIELD)
.query(id))._toQuery()
).collect(toList());

SearchRequest searchRequest = SearchRequest.of(sb -> sb
.index(index)
.query(BoolQuery.of(q -> q
.should(ids))._toQuery()));
SearchResponse<Map> responses = client.search(searchRequest, Map.class);

return getDocumentEntityStream(client, responses);

}

static Stream<DocumentEntity> getDocumentEntityStream(ElasticsearchClient client, SearchResponse<Map> responses) {
return responses.hits().hits().stream()
.map(hits -> ElasticsearchEntry.of(hits.id(), hits.source()))
Expand Down

0 comments on commit 6935791

Please sign in to comment.