Skip to content

Commit

Permalink
HSEARCH-2535 Support faceting on container properties (arrays, iterab…
Browse files Browse the repository at this point in the history
…les, maps)
  • Loading branch information
yrodiere authored and gsmet committed Jan 4, 2017
1 parent 6596953 commit 11d5f6e
Showing 1 changed file with 25 additions and 2 deletions.
Expand Up @@ -661,10 +661,33 @@ else if ( currentFieldValue instanceof Map ) {
if ( fieldMetadata.hasFacets() ) {
faceting.enableFacetProcessing();
for ( FacetMetadata facetMetadata : fieldMetadata.getFacetMetadata() ) {
if ( isParentPropertyMultiValued ) {
boolean multiValued = isParentPropertyMultiValued;

if ( member.isCollection() && currentFieldValue instanceof Collection ) {
multiValued = true;
for ( Object element : (Collection<?>) currentFieldValue ) {
addFacetDocValues( document, fieldMetadata, facetMetadata, element );
}
}
else if ( member.isCollection() && currentFieldValue instanceof Map ) {
multiValued = true;
for ( Object element : ((Map<?,?>) currentFieldValue).values() ) {
addFacetDocValues( document, fieldMetadata, facetMetadata, element );
}
}
else if ( member.isArray() ) {
multiValued = true;
for ( Object element : (Object[]) currentFieldValue ) {
addFacetDocValues( document, fieldMetadata, facetMetadata, element );
}
}
else {
addFacetDocValues( document, fieldMetadata, facetMetadata, currentFieldValue );
}

if ( multiValued ) {
faceting.setMultiValued( facetMetadata.getAbsoluteName() );
}
addFacetDocValues( document, fieldMetadata, facetMetadata, currentFieldValue );
}
}
}
Expand Down

0 comments on commit 11d5f6e

Please sign in to comment.