Also asked this question on stackoverflow, but wasn’t sure if it was better suited here.
We are using hibernate-search with ES back end. Parent class has multiple collection of different children objects. We can filter parents based on the value of the child as the collections are annotated with @IndexedEmbedded…
We want to be able to filter parents based on if the collection of children is empty or not. We have tried using @IndexedEmbedded(indexNullAs = “null”) , and then filtering on queryBuilder.phrase().onField(“parent.children”).sentence(“null”).createQuery() , which has made no difference. Using the ES console we can show the parent, but when the collection is empty it isn’t listed at all, leading us to believe it hasn’t been indexed due to it being empty (not null).
Another option would be to filter on parent.collection.field using a wildcard, however this would not be recommended by the hibernate search docs due to the performance.