Package org.hibernate.search.query.dsl

Examples of org.hibernate.search.query.dsl.QueryBuilder.keyword()


    //boosted query, January and february both contain whitening but February in a longer text
    //since history is boosted, February should come first though
    query = monthQb
        .bool()
        .should( monthQb.keyword().onField( "mythology" ).matching( "whitening" ).createQuery() )
        .should( monthQb.keyword().onField( "history" ).boostedTo( 30 ).matching( "whitening" ).createQuery() )
        .createQuery();

    results = fullTextSession.createFullTextQuery( query, Month.class ).list();
    assertEquals( 2, results.size() );
    assertEquals( "February", results.get( 0 ).getName() );
View Full Code Here


      QueryBuilder queryBuilder = sf.buildQueryBuilder()
          .forEntity( Book.class )
          .get();

      Query query = queryBuilder.keyword()
        .onField( fieldName )
        .ignoreAnalyzer()
        .matching( matchTitle ? book.title : isbn )
        .createQuery();
View Full Code Here

    QueryBuilder queryBuilder = searchFactory.buildQueryBuilder().forEntity( Book.class ).get();

    exceptions.expect( EmptyQueryException.class );

    queryBuilder.keyword().onField( "text" ).matching( " " ).createQuery();
    // Hence the answer is: a program won't be able to tell you.
  }

  @Indexed
  static class Book {
View Full Code Here

    session.clear();

    session.getTransaction().begin();
    FullTextSession fullTextSession = Search.getFullTextSession( session );
    QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity( AlternateDocument.class ).get();
    Query luceneQuery = queryBuilder.keyword().onField( "Abstract" ).matching( "Infinispan" ).createQuery();
    List list = fullTextSession.createFullTextQuery( luceneQuery ).list();
    Assert.assertEquals( 1, list.size() );
    session.getTransaction().commit();
    session.clear();
View Full Code Here

    tx.commit();

    s.clear();
    tx = s.beginTransaction();
    final QueryBuilder qb = s.getSearchFactory().buildQueryBuilder().forEntity( Husband.class ).get();
    Query query = qb.keyword().onField( "lastName" ).matching( "Roberto" ).createQuery();
    org.hibernate.search.FullTextQuery hibQuery = s.createFullTextQuery( query, Husband.class );
    hibQuery.setProjection( FullTextQuery.THIS );
    Criteria fetchingStrategy = s.createCriteria( Husband.class );
    fetchingStrategy.setFetchMode( "spouse", FetchMode.JOIN );
    hibQuery.setCriteriaQuery( fetchingStrategy );
View Full Code Here

  }

  private Query searchQuery(String field, String value, FullTextSession session) {
    QueryBuilder queryBuilder = session.getSearchFactory().buildQueryBuilder()
        .forEntity( WorkingPerson.class ).get();
    return queryBuilder.keyword().onField( field ).matching( value ).createQuery();
  }

  private void renamePerson(Integer id, String newName) {
    Transaction transaction = getSession().beginTransaction();
    WorkingPerson person = (WorkingPerson) getSession().load( WorkingPerson.class, id );
View Full Code Here

    session = openSession();
    tx = session.beginTransaction();
    FullTextSession fullTextSession = Search.getFullTextSession( session );

    QueryBuilder qb = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity( LobHolder.class ).get();
    Query query = qb.keyword().onField( "veryLongText" ).matching( "text" ).createQuery();

    FullTextQuery hibernateQuery = fullTextSession.createFullTextQuery( query );
    List<LobHolder> result = hibernateQuery.list();
    assertEquals( "We should have a match for the single LobHolder", 1, result.size() );
View Full Code Here

    s.persist( incorrect );
    tx.commit();
    s.clear();
    tx = s.beginTransaction();
    final QueryBuilder builder = s.getSearchFactory().buildQueryBuilder().forEntity( IncorrectGet.class ).get();
    final Query query = builder.keyword().onField( "subIncorrect.name" ).matching( "name" ).createQuery();

    try {
      final FullTextQuery textQuery = s.createFullTextQuery( query, IncorrectGet.class ).setProjection( "subIncorrect.name" );
      textQuery.list();
      fail( "Incorrect bridge should fail" );
View Full Code Here

  @SuppressWarnings("unchecked")
  private List<ArrayBridgeTestEntity> findEmbeddedNullResults(String fieldName, Object value, boolean checkNullToken) {
    QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder()
        .forEntity( ArrayBridgeTestEntity.class ).get();
    TermMatchingContext termMatchingContext = queryBuilder.keyword().onField( fieldName );
    if ( checkNullToken ) {
      termMatchingContext.ignoreFieldBridge();
    }
    Query query = termMatchingContext.ignoreAnalyzer().matching( value ).createQuery();
    return fullTextSession.createFullTextQuery( query, ArrayBridgeTestEntity.class ).list();
View Full Code Here

  @SuppressWarnings("unchecked")
  private List<ArrayBridgeTestEntity> findResults(String fieldName, Object value, boolean checkNullToken) {
    QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder()
        .forEntity( ArrayBridgeTestEntity.class ).get();
    TermMatchingContext termMatchingContext = queryBuilder.keyword().onField( fieldName );
    if ( checkNullToken ) {
      termMatchingContext.ignoreFieldBridge();
    }
    Query query = termMatchingContext.matching( value ).createQuery();
    return fullTextSession.createFullTextQuery( query, ArrayBridgeTestEntity.class ).list();
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.