@Override public Query getQuery() { return child == null ? builder.all().createQuery() : child.getQuery(); } }
FullTextEntityManager fullTextEm = Search.getFullTextEntityManager(this.entityManager); QueryBuilder qb = fullTextEm.getSearchFactory().buildQueryBuilder().forEntity(Person.class).get(); FullTextQuery fullTextQuery = fullTextEm.createFullTextQuery(qb.all().createQuery()); // I added this line to use projections fullTextQuery.setProjection("id", "name", "email", "user", "phone"); Sort sortField = new Sort(new SortField("name", SortField.STRING)); fullTextQuery.setSort(sortField); return fullTextQuery.getResultList();
@Override public Query visit(ConstantBooleanExpr constantBooleanExpr) { Query all = queryBuilder.all().createQuery(); return constantBooleanExpr.getValue() ? all : queryBuilder.bool().must(all).not().createQuery(); }
@Override public Query visit(ConstantBooleanExpr constantBooleanExpr) { Query all = queryBuilder.all().createQuery(); return constantBooleanExpr.getValue() ? all : queryBuilder.bool().must(all).not().createQuery(); }
public FullTextQuery createMatchAllQuery(Class<?> clazz) { QueryBuilder builder = queryBuilder( clazz ); Query luceneQuery = builder.all().createQuery(); return fullTextSession.createFullTextQuery( luceneQuery, clazz ); }
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(); }
@Test public void searchBeforeMaxResultWindow() throws Exception { generateData( 0, DEFAULT_MAX_RESULT_WINDOW + 10 ); Query query = builder().all().createQuery(); List<EntityInfo> results = getQuery( query ) .firstResult( DEFAULT_MAX_RESULT_WINDOW - 5 ).maxResults( 5 ) .queryEntityInfos(); assertEquals( 5, results.size() ); assertEquals( DEFAULT_MAX_RESULT_WINDOW - 5, results.get( 0 ).getId() ); }
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(); } }
@Test @TestForIssue( jiraKey = "HSEARCH-703" ) public void testPolymorphicQueryForUnindexedSuperTypeReturnsIndexedSubType() { final QueryBuilder builder = helper.queryBuilder( Object.class ); Query query = builder.all().createQuery(); helper.assertThat( query ).from( Object.class ) .as( "expected all instances of all indexed types" ) .hasResultSize( 8 ); }
@Test public void forEntity_configured_indexed() { QueryBuilder builder = sfHolder.getSearchFactory().buildQueryBuilder().forEntity( ConfiguredIndexed.class ).get(); Assert.assertEquals( new MatchAllDocsQuery(), builder.all().createQuery() ); }
@Test(expected = SearchException.class) public void searchBeyondMaxResultWindow() throws Exception { generateData( 0, DEFAULT_MAX_RESULT_WINDOW + 10 ); Query query = builder().all().createQuery(); getQuery( query ) .firstResult( DEFAULT_MAX_RESULT_WINDOW + 1 ).maxResults( 5 ) .queryEntityInfos(); }
private List<Clock> searchAll(String tenantId) { FullTextSession session = Search.getFullTextSession( openSessionWithTenantId( tenantId ) ); QueryBuilder queryBuilder = session.getSearchFactory().buildQueryBuilder().forEntity( Clock.class ).get(); Query luceneQuery = queryBuilder.all().createQuery(); Transaction transaction = session.beginTransaction(); @SuppressWarnings("unchecked") List<Clock> list = session.createFullTextQuery( luceneQuery ).list(); transaction.commit(); session.clear(); session.close(); return list; }
@Test public void testDSLMatchAll() throws Exception { try ( Session session = openSession() ) { FullTextSession fullTextSession = Search.getFullTextSession( session ); final QueryBuilder queryBuilder = queryBuilder( fullTextSession ); Query query = queryBuilder .all() .createQuery(); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( query, Letter.class ); String queryString = fullTextQuery.getQueryString(); assertJsonEquals( "{'query':{'match_all':{}}}", queryString ); } }
@Test public void scrollBeyondMaxResultWindow() throws Exception { generateData( 0, DEFAULT_MAX_RESULT_WINDOW + 10 ); Query query = builder().all().createQuery(); try ( DocumentExtractor extractor = getQuery( query ) .queryDocumentExtractor() ) { for ( int i = 0; i < DEFAULT_MAX_RESULT_WINDOW + 10; ++i ) { EntityInfo info = extractor.extract( i ); assertNotNull( info ); assertEquals( i, info.getId() ); } } }
@Override protected void execute(FullTextSession fts) { Query q = fts.getSearchFactory() .buildQueryBuilder() .forEntity( Book.class ) .get() .all() .createQuery(); fts.createFullTextQuery( q, Book.class ) .setSort( new Sort( new SortField( "rating", SortField.Type.FLOAT, true ) ) ) .setMaxResults( 100 ) .list(); }
@Override protected void execute(FullTextSession fts) { Query q = fts.getSearchFactory() .buildQueryBuilder() .forEntity( Book.class ) .get() .all() .createQuery(); fts.createFullTextQuery( q, Book.class ) .setSort( new Sort( new SortField( "totalSold", SortField.Type.LONG, true ) ) ) .setMaxResults( 100 ) .list(); }
@Override protected void execute(FullTextSession fts) { Query q = fts.getSearchFactory() .buildQueryBuilder() .forEntity( Book.class ) .get() .all() .createQuery(); fts.createFullTextQuery( q, Book.class ) .setSort( new Sort( new SortField( "publicationDate", SortField.Type.LONG, true ) ) ) .setMaxResults( 100 ) .list(); }
@Test(expected = ClassCastException.class) public void singleField_numericFieldBridge_nonMetadataProviding_missingValue_use_nonRaw() throws Exception { Query query = builder().all().createQuery(); Sort sort = builder().sort() .byField( "nonMetadataProvidingFieldBridgedNumericField", SortField.Type.DOUBLE ) .onMissingValue().use( new WrappedDoubleValue( 1.5d ) ) .createSort(); sfHolder.getSearchFactory().createHSQuery( query, IndexedEntry.class ) .sort( sort ) .queryEntityInfos(); }
@Test public void scrollForwardToArbitraryPosition() throws Exception { generateData( 0, 1000 ); Query query = builder().all().createQuery(); try ( DocumentExtractor extractor = getQuery( query ) .queryDocumentExtractor() ) { EntityInfo info = extractor.extract( 1 ); assertNotNull( info ); assertEquals( 1, info.getId() ); info = extractor.extract( 500 ); assertNotNull( info ); assertEquals( 500, info.getId() ); } }
@Override @Before public void setUp() throws Exception { super.setUp(); fts = Search.getFullTextSession( openSession() ); QueryBuilder builder = fts.getSearchFactory().buildQueryBuilder().forEntity( Clock.class ).get(); allSeikoClocksQuery = builder.keyword().onField( "brand" ).matching( "Seiko" ).createQuery(); allSwatchClocksQuery = builder.keyword().onField( "brand" ).matching( "Swatch" ).createQuery(); noMatchQuery = builder.keyword().onField( "brand" ).matching( "Blah" ).createQuery(); matchAllQuery = builder.all().createQuery(); storeClocks( fts ); }