there is a mismatch here between "default analyzer" and "class analyzer". It is my understanding that you initially pass the default analyzer when invoking

    org.hibernate.search.engine.metadata.impl.AnnotationMetadataProvider.getTypeMetadataFor(Class<?>)

but this can later on be overriden. That looks like about correct, but maybe the field name should no longer be called _defaultAnalyzer_ then? If I understood this correctly, I'd change the field name and the getter to _classAnalyzer_ or just _analyzer_.