final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager);
final QueryBuilder builder = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(Phrase.class).get();
final FacetingRequest categoryFacetingRequest = builder.facet()
.name("categoryFacet")
.onField("categoryId")
.discrete()
.orderedBy(FacetSortOrder.FIELD_VALUE)
.includeZeroCounts(false)
.maxFacetCount(3)
.createFacetingRequest();
final Query luceneQuery = builder.all().createQuery();
final FullTextQuery fullTextQuery = fullTextEntityManager.createFullTextQuery(luceneQuery, Phrase.class);
final FacetManager facetManager = fullTextQuery.getFacetManager();
facetManager.enableFaceting(categoryFacetingRequest);
final List<Facet> facets = facetManager.getFacets("categoryFacet");