DATAES-263 - Inner Hits support.

Original PR: #477
This commit is contained in:
Peter-Josef Meisch 2020-06-08 10:16:21 +02:00 committed by GitHub
commit 275560ecf3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -178,10 +178,10 @@ class SearchHitMapping<T> {
ElasticsearchPersistentEntityWithNestedMetaData persistentEntityWithNestedMetaData = getPersistentEntity( ElasticsearchPersistentEntityWithNestedMetaData persistentEntityWithNestedMetaData = getPersistentEntity(
mappingContext.getPersistentEntity(type), nestedMetaData); mappingContext.getPersistentEntity(type), nestedMetaData);
List<SearchHit<Object>> convertedSearchHits = new ArrayList<>();
if (persistentEntityWithNestedMetaData.entity != null) { if (persistentEntityWithNestedMetaData.entity != null) {
List<SearchHit<Object>> convertedSearchHits = new ArrayList<>();
Class<?> targetType = persistentEntityWithNestedMetaData.entity.getType(); Class<?> targetType = persistentEntityWithNestedMetaData.entity.getType();
// convert the list of SearchHit<SearchDocument> to list of SearchHit<Object> // convert the list of SearchHit<SearchDocument> to list of SearchHit<Object>
searchHits.getSearchHits().forEach(searchHit -> { searchHits.getSearchHits().forEach(searchHit -> {
SearchDocument searchDocument = searchHit.getContent(); SearchDocument searchDocument = searchHit.getContent();
@ -192,7 +192,7 @@ class SearchHitMapping<T> {
searchDocument.getScore(), // searchDocument.getScore(), //
searchDocument.getSortValues(), // searchDocument.getSortValues(), //
searchDocument.getHighlightFields(), // searchDocument.getHighlightFields(), //
mapInnerHits(searchDocument), // searchHit.getInnerHits(), //
persistentEntityWithNestedMetaData.nestedMetaData, // persistentEntityWithNestedMetaData.nestedMetaData, //
targetObject)); targetObject));
}); });
@ -221,9 +221,9 @@ class SearchHitMapping<T> {
* *
* @param persistentEntity base entity * @param persistentEntity base entity
* @param nestedMetaData nested metadata * @param nestedMetaData nested metadata
* @return The found entity or null * @return A {@link ElasticsearchPersistentEntityWithNestedMetaData} containing the found entity or null together with
* the {@link NestedMetaData} that has mapped field names.
*/ */
@Nullable
private ElasticsearchPersistentEntityWithNestedMetaData getPersistentEntity( private ElasticsearchPersistentEntityWithNestedMetaData getPersistentEntity(
@Nullable ElasticsearchPersistentEntity<?> persistentEntity, @Nullable NestedMetaData nestedMetaData) { @Nullable ElasticsearchPersistentEntity<?> persistentEntity, @Nullable NestedMetaData nestedMetaData) {