facetManager.enableFaceting(facetingRequest); FacetPageHandler page = new FacetPageHandler(pageIndex, pageSize, fullTextQuery.getResultSize(), maxResults); if (0 < page.getTotalCount()) { Set<String> facetSet = new LinkedHashSet<>(); page.setTotalCount(fullTextQuery.getResultSize(), maxResults); page.init();
facetManager.enableFaceting(facetingRequest); FacetPageHandler page = new FacetPageHandler(pageIndex, pageSize, fullTextQuery.getResultSize(), maxResults); if (0 < page.getTotalCount()) { Set<String> facetSet = new LinkedHashSet<>(); page.setTotalCount(fullTextQuery.getResultSize(), maxResults); page.init();
/** * @param fullTextQuery * @param pageIndex * @param pageSize * @param maxResults * @return results page */ protected PageHandler getPage(FullTextQuery fullTextQuery, Integer pageIndex, Integer pageSize, Integer maxResults) { PageHandler page = new PageHandler(pageIndex, pageSize, fullTextQuery.getResultSize(), maxResults); if (CommonUtils.notEmpty(pageSize)) { fullTextQuery.setFirstResult(page.getFirstResult()).setMaxResults(page.getPageSize()); } page.setList(fullTextQuery.getResultList()); return page; }
/** * @param fullTextQuery * @param pageIndex * @param pageSize * @param maxResults * @return results page */ protected PageHandler getPage(FullTextQuery fullTextQuery, Integer pageIndex, Integer pageSize, Integer maxResults) { PageHandler page = new PageHandler(pageIndex, pageSize, fullTextQuery.getResultSize(), maxResults); if (CommonUtils.notEmpty(pageSize)) { fullTextQuery.setFirstResult(page.getFirstResult()).setMaxResults(page.getPageSize()); } page.setList(fullTextQuery.getResultList()); return page; }
public Object doInJpa(EntityManager em) throws PersistenceException { FullTextQuery fq = createSearchQuery(criteria, includeDisabled, em); fq.setHint("org.hibernate.cacheable", true); return fq.getResultSize(); }
@Override public int countSearchRecommended(String searchTerm) throws ServiceException { FullTextQuery query = getSearchRecommendedQuery(searchTerm); if (query == null) { return 0; } return query.getResultSize(); }
@Override public int countSearch(String searchTerm) { return getSearchQuery(searchTerm).getResultSize(); }
@Override public int countSearchByName(String searchTerm) { return getSearchByNameQuery(searchTerm).getResultSize(); }
@Override public int countSearchByName(String searchTerm, ArtifactDeprecationStatus deprecation) { return getSearchByNameQuery(searchTerm, deprecation).getResultSize(); }
@SuppressWarnings("unchecked") private void updateResults() { FullTextQuery query; try { query = searchQuery(searchQuery); } catch (ParseException pe) { return; } List<Product> items = query .setMaxResults(pageSize + 1) .setFirstResult(pageSize * currentPage) .getResultList(); numberOfResults = query.getResultSize(); if (items.size() > pageSize) { searchResults = new ArrayList(items.subList(0, pageSize)); hasMore = true; } else { searchResults = items; hasMore = false; } searchSelections = new HashMap<Product, Boolean>(); }
@Override public Page<DataSource> searchByQuery(String query, Pageable pageable) { final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); LOGGER.info("Query : {}, Pageable: {}", query, pageable); FullTextQuery fullTextQuery; try { final QueryParser queryParser = new QueryParser("content", fullTextEntityManager.getSearchFactory().getAnalyzer(DataSource.class)); fullTextQuery = fullTextEntityManager.createFullTextQuery(queryParser.parse(query), DataSource.class); } catch (ParseException e) { LOGGER.error("Fail to search query : {}", e.getMessage()); throw new RuntimeException("Fail to search query : " + e.getMessage()); } fullTextQuery.setFirstResult(pageable.getOffset()); fullTextQuery.setMaxResults(pageable.getPageSize()); fullTextQuery.setSort(getSearchSort(pageable)); LOGGER.debug("FullTextQuery : {}", fullTextQuery); return new PageImpl<>(fullTextQuery.getResultList(), pageable, fullTextQuery.getResultSize()); }
@Test public void testGetResultSize() throws Exception { em.getTransaction().begin(); Query query = NumericRangeQuery.newIntRange( "saltQty", 23, 23, true, true ); assertEquals( "Wrong result size", 1, em.createFullTextQuery( query ).getResultSize() ); em.getTransaction().commit(); }
@Override public Page<Role> searchByQuery(String query, Pageable pageable) { final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); FullTextQuery fullTextQuery; try { final QueryParser queryParser = new QueryParser("name", fullTextEntityManager.getSearchFactory().getAnalyzer(Role.class)); Query parsedQuery = queryParser.parse(query); LOGGER.debug("{}, Parsed {}", query, parsedQuery); fullTextQuery = fullTextEntityManager.createFullTextQuery(parsedQuery, Role.class); } catch (ParseException e) { e.printStackTrace(); throw new RuntimeException("Fail to search query : " + e.getMessage()); } fullTextQuery.setFirstResult(pageable.getOffset()); fullTextQuery.setMaxResults(pageable.getPageSize()); Sort sort = getSearchSort(pageable); LOGGER.debug("Sort : {}", Arrays.toString(sort.getSort())); if(sort.getSort().length > 0) { fullTextQuery.setSort(getSearchSort(pageable)); } return new PageImpl<>(fullTextQuery.getResultList(), pageable, fullTextQuery.getResultSize()); }
@Override public Page<User> searchByQuery(@Param("q") String query, Pageable pageable) { final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); FullTextQuery fullTextQuery; try { final QueryParser queryParser = new QueryParser("content", fullTextEntityManager.getSearchFactory().getAnalyzer(User.class)); fullTextQuery = fullTextEntityManager.createFullTextQuery(queryParser.parse(query), User.class); } catch (ParseException e) { e.printStackTrace(); throw new RuntimeException("Fail to search query : " + e.getMessage()); } fullTextQuery.setFirstResult(pageable.getOffset()); fullTextQuery.setMaxResults(pageable.getPageSize()); fullTextQuery.setSort(getSearchSort(pageable)); return new PageImpl<>(fullTextQuery.getResultList(), pageable, fullTextQuery.getResultSize()); }
@Override public Page<PrDataset> searchByQuery(String query, Pageable pageable) { final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); FullTextQuery fullTextQuery; try { final QueryParser queryParser = new QueryParser("content", fullTextEntityManager.getSearchFactory().getAnalyzer(PrDataset.class)); fullTextQuery = fullTextEntityManager.createFullTextQuery(queryParser.parse(query), PrDataset.class); } catch (ParseException e) { e.printStackTrace(); throw new RuntimeException("Fail to search query : " + e.getMessage()); } fullTextQuery.setFirstResult(pageable.getOffset()); fullTextQuery.setMaxResults(pageable.getPageSize()); return new PageImpl<>(fullTextQuery.getResultList(), pageable, fullTextQuery.getResultSize()); }
public static <T> int nbDocumentsInIndex(EntityManagerFactory emf, Class<T> clazz) { FullTextEntityManager em = org.hibernate.search.jpa.Search.getFullTextEntityManager( emf.createEntityManager() ); QueryBuilder queryBuilder = em.getSearchFactory().buildQueryBuilder().forEntity( clazz ).get(); Query allQuery = queryBuilder.all().createQuery(); FullTextQuery fullTextQuery = em.createFullTextQuery( allQuery, clazz ); return fullTextQuery.getResultSize(); }
@Override public Page<User> searchByKeyword(@Param("q") String keywords, Pageable pageable) { if(StringUtils.isBlank(keywords)) { keywords = "*"; } // Must be retrieved inside a transaction to take part of final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); // Prepare a search query builder final QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(User.class).get(); // This is a boolean junction... I'll add at least a keyword query final BooleanJunction<BooleanJunction> outer = queryBuilder.bool(); outer.must( queryBuilder .keyword() .wildcard() .onFields("username", "fullName") .matching(keywords) .createQuery() ); FullTextQuery fullTextQuery = fullTextEntityManager.createFullTextQuery(outer.createQuery(), User.class); fullTextQuery.setFirstResult(pageable.getOffset()); fullTextQuery.setMaxResults(pageable.getPageSize()); fullTextQuery.setSort(getSearchSort(pageable)); return new PageImpl<>(fullTextQuery.getResultList(), pageable, fullTextQuery.getResultSize()); }
private int countBretzelsViaIndex(FullTextEntityManager em) { QueryBuilder queryBuilder = em.getSearchFactory().buildQueryBuilder().forEntity( Bretzel.class ).get(); Query allQuery = queryBuilder.all().createQuery(); FullTextQuery fullTextQuery = em.createFullTextQuery( allQuery, Bretzel.class ); return fullTextQuery.getResultSize(); } }
@Override public Page<DataSource> searchByKeyword(String keywords, Pageable pageable) { // Must be retrieved inside a transaction to take part of final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); // Prepare a search query builder final QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(DataSource.class).get(); // This is a boolean junction... I'll add at least a keyword query final BooleanJunction<BooleanJunction> outer = queryBuilder.bool(); outer.must( queryBuilder .keyword() .wildcard() .onFields("name", "description", "alias") .matching(keywords) .createQuery() ); FullTextQuery fullTextQuery = fullTextEntityManager.createFullTextQuery(outer.createQuery(), DataSource.class); fullTextQuery.setFirstResult(pageable.getOffset()); fullTextQuery.setMaxResults(pageable.getPageSize()); fullTextQuery.setSort(getSearchSort(pageable)); return new PageImpl<>(fullTextQuery.getResultList(), pageable, fullTextQuery.getResultSize()); }
@Override public Page<Role> searchByKeyword(String keywords, Pageable pageable) { // Must be retrieved inside a transaction to take part of final FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); // Prepare a search query builder final QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(Role.class).get(); // This is a boolean junction... I'll add at least a keyword query final BooleanJunction<BooleanJunction> outer = queryBuilder.bool(); outer.must( queryBuilder .keyword() .wildcard() .onFields("name") .matching(keywords) .createQuery() ); FullTextQuery fullTextQuery = fullTextEntityManager.createFullTextQuery(outer.createQuery(), Role.class); fullTextQuery.setFirstResult(pageable.getOffset()); fullTextQuery.setMaxResults(pageable.getPageSize()); fullTextQuery.setSort(getSearchSort(pageable)); return new PageImpl<>(fullTextQuery.getResultList(), pageable, fullTextQuery.getResultSize()); }