diff --git a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNestedPredicateBuilder.java b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNestedPredicateBuilder.java index bef2323f323..4934a1dc1eb 100644 --- a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNestedPredicateBuilder.java +++ b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNestedPredicateBuilder.java @@ -39,6 +39,10 @@ protected Query doBuild(LuceneSearchPredicateContext context) { } public static Query doBuild(LuceneSearchPredicateContext parentContext, String nestedDocumentPath, Query nestedQuery) { + if ( nestedDocumentPath.equals( parentContext.getNestedPath() ) ) { + return nestedQuery; + } + BooleanQuery.Builder childQueryBuilder = new BooleanQuery.Builder(); childQueryBuilder.add( Queries.childDocumentQuery(), Occur.FILTER ); childQueryBuilder.add( Queries.nestedDocumentPathQuery( nestedDocumentPath ), Occur.FILTER ); diff --git a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneDocumentValueSortBuilder.java b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneDocumentValueSortBuilder.java index 844cfee4355..a26934490e2 100644 --- a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneDocumentValueSortBuilder.java +++ b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneDocumentValueSortBuilder.java @@ -78,11 +78,11 @@ protected Query getLuceneFilter() { Query luceneFilter = null; if ( filter instanceof LuceneSearchPredicateBuilder ) { - LuceneSearchPredicateContext filterContext = new LuceneSearchPredicateContext( absoluteFieldPath ); + LuceneSearchPredicateContext filterContext = new LuceneSearchPredicateContext( nestedDocumentPath ); luceneFilter = ((LuceneSearchPredicateBuilder) filter).build( filterContext ); } else { - throw log.unableToCreateNestedSortFilter( absoluteFieldPath ); + throw log.unableToCreateNestedSortFilter( nestedDocumentPath ); } return luceneFilter;