Package org.hibernate.search.query.dsl

Examples of org.hibernate.search.query.dsl.QueryBuilder


  @Test
  @TestForIssue( jiraKey = "HSEARCH-1378")
  public void testNumericRangeQueryAbove() {
    Transaction transaction = fullTextSession.beginTransaction();
    final QueryBuilder monthQb = fullTextSession.getSearchFactory()
        .buildQueryBuilder().forEntity( Month.class ).get();

    //inclusive
    Query query = monthQb
        .range()
          .onField( "raindropInMm" )
          .above( 0.231d )
          .createQuery();

    assertTrue( query.getClass().isAssignableFrom( NumericRangeQuery.class ) );

    List<?> results = fullTextSession.createFullTextQuery( query, Month.class ).list();
    assertThat( results ).onProperty( "name" ).containsOnly( "January", "February", "March" );

    //exclusive
    query = monthQb
        .range()
          .onField( "raindropInMm" )
          .above( 0.231d )
          .excludeLimit()
          .createQuery();
View Full Code Here


  }

  private void assertFormulaMatches(String value, Session session) {
    FullTextSession fullTextSession = Search.getFullTextSession( session );
    Transaction transaction = session.beginTransaction();
    QueryBuilder queryBuilder = fullTextSession.getSearchFactory()
        .buildQueryBuilder()
        .forEntity( FormulaAdd.class )
        .get();
    Query luceneQuery = queryBuilder.keyword().onField( "aplusB" ).ignoreAnalyzer().matching( value ).createQuery();
    FullTextQuery query = fullTextSession.createFullTextQuery( luceneQuery, FormulaAdd.class );
    List resultsList = query.list();
    transaction.commit();
    Assert.assertEquals( 1, resultsList.size() );
    FormulaAdd result = (FormulaAdd) resultsList.get( 0 );
View Full Code Here

  @Test
  @TestForIssue( jiraKey = "HSEARCH-1378")
  public void testNumericRangeQueryBelow() {
    Transaction transaction = fullTextSession.beginTransaction();
    final QueryBuilder monthQb = fullTextSession.getSearchFactory()
        .buildQueryBuilder().forEntity( Month.class ).get();

    //inclusive
    Query query = monthQb
        .range()
          .onField( "raindropInMm" )
          .below( 0.435d )
          .createQuery();

    assertTrue( query.getClass().isAssignableFrom( NumericRangeQuery.class ) );

    List<?> results = fullTextSession.createFullTextQuery( query, Month.class ).list();
    assertThat( results ).onProperty( "name" ).containsOnly( "January", "February", "March" );

    //exclusive
    query = monthQb
        .range()
          .onField( "raindropInMm" )
          .below( 0.435d )
          .excludeLimit()
          .createQuery();
View Full Code Here

  }

  @Test
  public void testNumericFieldsTermQuery() {
    Transaction transaction = fullTextSession.beginTransaction();
    final QueryBuilder monthQb = fullTextSession.getSearchFactory()
        .buildQueryBuilder().forEntity( Month.class ).get();

    Query query = monthQb.keyword()
        .onField( "raindropInMm" )
        .matching( 0.231d )
        .createQuery();

    assertTrue( query.getClass().isAssignableFrom( NumericRangeQuery.class ) );
View Full Code Here

  }

  @Test
  public void testFieldBridge() {
    Transaction transaction = fullTextSession.beginTransaction();
    final QueryBuilder monthQb = fullTextSession.getSearchFactory()
        .buildQueryBuilder().forEntity( Month.class ).get();
    Query query = monthQb.keyword()
        .onField( "monthRomanNumber" )
        .matching( 2 )
        .createQuery();
    FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( query, Month.class );
    List<?> results = fullTextQuery.list();
View Full Code Here

  }

  @Test
  public void testSpatialQueries() {
    Transaction transaction = fullTextSession.beginTransaction();
    final QueryBuilder builder = fullTextSession.getSearchFactory()
        .buildQueryBuilder().forEntity( POI.class ).get();

    Coordinates coordinates = Point.fromDegrees( 24d, 31.5d );
    Query query = builder
        .spatial()
          .onCoordinates( "location" )
          .within( 51, Unit.KM )
            .ofCoordinates( coordinates )
          .createQuery();

    List<?> results = fullTextSession.createFullTextQuery( query, POI.class ).list();

    assertEquals( "test spatial hash based spatial query", 1, results.size() );
    assertEquals( "test spatial hash based spatial query", "Bozo", ( (POI) results.get( 0 ) ).getName() );

    query = builder
        .spatial()
          .onCoordinates( "location" )
          .within( 500, Unit.KM )
            .ofLatitude( 48.858333d ).andLongitude( 2.294444d )
          .createQuery();
View Full Code Here

  @Test
  @TestForIssue( jiraKey = "HSEARCH-703" )
  public void testPolymorphicQueryForUnindexedSuperTypeReturnsIndexedSubType() {
    Transaction transaction = fullTextSession.beginTransaction();

    final QueryBuilder builder = fullTextSession
        .getSearchFactory()
        .buildQueryBuilder()
        .forEntity( Object.class )
        .get();

    Query query = builder.all().createQuery();
    List<?> results = fullTextSession.createFullTextQuery( query, Object.class ).list();

    assertEquals( "expected all instances of all indexed types", 7, results.size() );

    transaction.commit();
View Full Code Here

  @Test
  @TestForIssue( jiraKey = "HSEARCH-703" )
  public void testPolymorphicQueryWithKeywordTermForUnindexedSuperTypeReturnsIndexedSubType() {
    Transaction transaction = fullTextSession.beginTransaction();

    final QueryBuilder builder = fullTextSession
        .getSearchFactory()
        .buildQueryBuilder()
        .forEntity( Car.class )
        .get();

    Query query = builder.keyword().onField( "name" ).matching( "Morris" ).createQuery();
    List<?> results = fullTextSession.createFullTextQuery( query ).list();

    assertEquals( "expected one instance of indexed sub-type", 1, results.size() );
    assertEquals( 180, ( (SportsCar) results.get( 0 ) ).getEnginePower() );
View Full Code Here

  private void verifyNodeSeesUpdatedIndex(FullTextSessionBuilder node) {
    FullTextSession fullTextSession = node.openFullTextSession();
    try {
      Transaction transaction = fullTextSession.beginTransaction();
      QueryBuilder queryBuilder = fullTextSession.getSearchFactory()
          .buildQueryBuilder()
          .forEntity( SimpleEmail.class )
          .get();
      Query query = queryBuilder.keyword()
          .onField( "message" )
          .matching( "Hibernate Getting Started" )
          .createQuery();
      List list = fullTextSession.createFullTextQuery( query ).setProjection( "message" ).list();
      assertEquals( 1, list.size() );
View Full Code Here

  @Test
  public void testLocationLoading() {
    Session session = openSession();
    Transaction tx = session.beginTransaction();
    QueryBuilder queryBuilder = getSearchFactory().buildQueryBuilder().forEntity( Location.class ).get();
    Query query = queryBuilder.all().createQuery();
    FieldSelectorLeakingReaderProvider.resetFieldSelector();
    FullTextSession fullTextSession = Search.getFullTextSession( session );
    FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( query, Location.class );
    fullTextQuery.setSort( new Sort( new SortField( "description", SortField.Type.STRING ) ) ); // to avoid loading in document order -- too easy
    List<Location> locations = fullTextQuery.list();
View Full Code Here

TOP

Related Classes of org.hibernate.search.query.dsl.QueryBuilder

Copyright © 2018 www.massapicom. 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.