У нас Lucene не используется напрямую. С движком мы работает через Hibernate Search 5. В части фасетов применяется FacetManager.
Скорее всего он и использует DrillSideways для drill-down поиска.
Проблема больше не в многокритериальности, а в том, что невозможно установить связь между элементами коллекций проиндексированной сущности
Материал по работе с Apache Lucene и созданию простейшего нечёткого поиска