.buildQueryBuilder().forEntity(User.class).get(); .keyword() .onFields("name", "city", "email") .matching(text) .createQuery();
@Override public boolean isDisabled() { Boolean retVal = ourDisabled; if (retVal == null) { retVal = new TransactionTemplate(myTxManager).execute(t -> { try { FullTextEntityManager em = org.hibernate.search.jpa.Search.getFullTextEntityManager(myEntityManager); em.getSearchFactory().buildQueryBuilder().forEntity(ResourceTable.class).get(); return Boolean.FALSE; } catch (Exception e) { ourLog.trace("FullText test failed", e); ourLog.debug("Hibernate Search (Lucene) appears to be disabled on this server, fulltext will be disabled"); return Boolean.TRUE; } }); ourDisabled = retVal; } assert retVal != null; return retVal; }
@Test public void forEntity_notConfigured_notIndexed() { thrown.expectMessage( "HSEARCH000331" ); thrown.expectMessage( "configured" ); thrown.expectMessage( NotConfiguredNotIndexed.class.getSimpleName() ); sfHolder.getSearchFactory().buildQueryBuilder().forEntity( NotConfiguredNotIndexed.class ).get(); }
QueryBuilder qb = em.getSearchFactory().buildQueryBuilder().forEntity(ResourceTable.class).get(); BooleanJunction<?> bool = qb.bool(); bool.must(qb.keyword().onField("myResourceLinksField").matching(theReferencingPid.toString()).createQuery()); bool.must(qb.keyword().onField("myResourceType").matching(theResourceName).createQuery());
/** * @param fields * @param text * @return full text query */ protected QueryBuilder getFullTextQueryBuilder() { FullTextSession fullTextSession = getFullTextSession(); return fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(getEntityClass()).get(); }
QueryBuilder qb = em.getSearchFactory().buildQueryBuilder().forEntity(ResourceTable.class).get(); .must(qb.keyword().onField("myResourceLinksField").matching(pid.toString()).createQuery()) .must(textQuery) .createQuery();
/** * @param fields * @param text * @return full text query */ protected QueryBuilder getFullTextQueryBuilder() { FullTextSession fullTextSession = getFullTextSession(); return fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(getEntityClass()).get(); }
TermCodeSystemVersion csv = cs.getCurrentVersion(); FullTextEntityManager em = org.hibernate.search.jpa.Search.getFullTextEntityManager(myEntityManager); QueryBuilder qb = em.getSearchFactory().buildQueryBuilder().forEntity(TermConcept.class).get(); BooleanJunction<?> bool = qb.bool(); bool.must(qb.keyword().onField("myCodeSystemVersionPid").matching(csv.getPid()).createQuery()); bool.must(qb.keyword().onField("myParentPids").matching("" + code.getId()).createQuery()); } else { throw new InvalidRequestException("Don't know how to handle op=" + nextFilter.getOp() + " on property " + nextFilter.getProperty());
/** * You can use it in {@link #prepareQuery()}. * * @return the query builder */ protected QueryBuilder newQueryBuilder() { return getFullTextSession().getSearchFactory().buildQueryBuilder().forEntity(getType()).get(); }
private Query searchQueryForValue(String field, String value, FullTextSession session) { QueryBuilder queryBuilder = session.getSearchFactory().buildQueryBuilder() .forEntity( WorkingPerson.class ).get(); return queryBuilder.keyword().onField( field ).matching( value ).createQuery(); }
private QueryBuilder queryBuilder(FullTextSession fullTextSession) { final QueryBuilder tweetQueryBuilder = fullTextSession.getSearchFactory() .buildQueryBuilder().forEntity( Letter.class ).get(); return tweetQueryBuilder; }
@Test(expected = SearchException.class) public void testNullIndexingWithDSLQueryIgnoringFieldBridge() throws Exception { QueryBuilder queryBuilder = getSearchFactory().buildQueryBuilder().forEntity( Value.class ).get(); queryBuilder.keyword().onField( "value" ).ignoreFieldBridge().matching( null ).createQuery(); }
public QueryBuilder queryBuilder(Class<?> clazz) { return fullTextSession.getSearchFactory().buildQueryBuilder().forEntity( clazz ).get(); }
@SuppressWarnings("unchecked") public List<Member> search(String name) { Query luceneQuery = em.getSearchFactory().buildQueryBuilder() .forEntity( Member.class ).get().keyword() .onField( "name" ).matching( name ) .createQuery(); return em.createFullTextQuery( luceneQuery ).getResultList(); }
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(); }
public List<String> searchName(String name) { FullTextEntityManager fullTextEm = Search.getFullTextEntityManager( em ); Query luceneQuery = fullTextEm.getSearchFactory().buildQueryBuilder() .forEntity( RegisteredMember.class ).get() .keyword().onField( "name" ).matching( name ).createQuery(); List<?> resultList = fullTextEm.createFullTextQuery( luceneQuery ).setProjection( "name" ).getResultList(); List<String> names = new ArrayList<>( resultList.size() ); for ( Object projection : resultList ) { names.add( (String) ( ( (Object[]) projection )[0] ) ); } return names; }
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(); } }
public List<Concert> findConcertsByArtist(String artist) { FullTextEntityManager fem = Search.getFullTextEntityManager( entityManager ); Query luceneQuery = fem.getSearchFactory().buildQueryBuilder() .forEntity( Concert.class ).get() .keyword().onField( "artist" ).matching( artist ) .createQuery(); @SuppressWarnings("unchecked") List<Concert> result = fem.createFullTextQuery( luceneQuery ).getResultList(); return result; }
@SuppressWarnings("unchecked") private List<ArrayBridgeTestEntity> findResultsWithRangeQuery(String fieldName, Object start) { QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder() .forEntity( ArrayBridgeTestEntity.class ).get(); Query query = queryBuilder.range().onField( fieldName ).above( start ).createQuery(); return fullTextSession.createFullTextQuery( query, ArrayBridgeTestEntity.class ).list(); }
private List<Human> search(Session s, String field, String value) { FullTextSession session = Search.getFullTextSession( s ); QueryBuilder queryBuilder = session.getSearchFactory().buildQueryBuilder().forEntity( Human.class ).get(); Query query = queryBuilder.keyword().onField( field ).matching( value ).createQuery(); @SuppressWarnings("unchecked") List<Human> result = session.createFullTextQuery( query ).list(); return result; }