Waldemar Kłaczyński (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) *created* an issue
Hibernate Search (
https://hibernate.atlassian.net/browse/HSEARCH?atlOrigin=eyJpIjoiYzYwYzZi...
) / Improvement (
https://hibernate.atlassian.net/browse/HSEARCH-3889?atlOrigin=eyJpIjoiYzY...
) HSEARCH-3889 (
https://hibernate.atlassian.net/browse/HSEARCH-3889?atlOrigin=eyJpIjoiYzY...
) Exception Predicate targets unexpected fields when use nested() in sort filter (
https://hibernate.atlassian.net/browse/HSEARCH-3889?atlOrigin=eyJpIjoiYzY...
)
Issue Type: Improvement Affects Versions: 6.0.0.Beta6 Assignee: Unassigned Components:
backend-lucene Created: 11/Apr/2020 14:20 PM Priority: Major Reporter: Waldemar Kłaczyński
(
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
)
When use:
PermissionQuery allowQuery = new PermissionQuery(
"prices.permissions" , operation, user, true );
PermissionQuery dannyQuery = new PermissionQuery(
"prices.permissions" , operation, user, false );
BooleanQuery query = new BooleanQuery.Builder()
.add(allowQuery, BooleanClause.Occur.MUST)
.add(dannyQuery, BooleanClause.Occur.MUST_NOT)
.build();
filter = predicate.nested().objectField( "prices" )
.nest(f ->
f.extension(LuceneExtension.get()).fromLuceneQuery(query))
.toPredicate();
sort.add(sorter.field( "prices.bruttoPrice_sort" )
.asc()
.mode(SortMode.MIN)
.filter(filter));
SearchQuery<Assortment> query = session.search(scope)
.where((f) -> f.bool().must(select)
.filter(filter))
.sort(sort.toSort())
.toQuery();
An exception was thrown:
Caused by: org.hibernate.search.util.common.SearchException: HSEARCH600121: Predicate
targets unexpected fields [prices]. Only fields that are contained in the nested object
with path 'prices' are allowed here.
at org.hibernate.search.backend-lucene(a)6.0.0-SNAPSHOT
//org.hibernate.search.backend.lucene.search.predicate.impl.AbstractLuceneNestablePredicateBuilder.checkNestableWithin(AbstractLuceneNestablePredicateBuilder.java:27)
at org.hibernate.search.backend-lucene(a)6.0.0-SNAPSHOT
//org.hibernate.search.backend.lucene.search.predicate.impl.AbstractLuceneSingleFieldPredicateBuilder.checkNestableWithin(AbstractLuceneSingleFieldPredicateBuilder.java:12)
at org.hibernate.search.backend-lucene(a)6.0.0-SNAPSHOT
//org.hibernate.search.backend.lucene.search.predicate.impl.AbstractLuceneNestablePredicateBuilder.build(AbstractLuceneNestablePredicateBuilder.java:36)
at org.hibernate.search.backend-lucene(a)6.0.0-SNAPSHOT
//org.hibernate.search.backend.lucene.search.predicate.impl.LuceneSearchPredicate.build(LuceneSearchPredicate.java:32)
at org.hibernate.search.backend-lucene(a)6.0.0-SNAPSHOT
//org.hibernate.search.backend.lucene.search.predicate.impl.LuceneFilterPredicateBuilder.doBuild(LuceneFilterPredicateBuilder.java:68)
(
https://hibernate.atlassian.net/browse/HSEARCH-3889#add-comment?atlOrigin...
) Add Comment (
https://hibernate.atlassian.net/browse/HSEARCH-3889#add-comment?atlOrigin...
)
Get Jira notifications on your phone! Download the Jira Cloud app for Android (
https://play.google.com/store/apps/details?id=com.atlassian.android.jira....
) or iOS (
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=Em...
) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100124- sha1:185bad4 )