org.hibernate.search.query.dsl.QueryBuilder.range()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(93)

本文整理了Java中org.hibernate.search.query.dsl.QueryBuilder.range方法的一些代码示例,展示了QueryBuilder.range的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryBuilder.range方法的具体详情如下:
包路径:org.hibernate.search.query.dsl.QueryBuilder
类名称:QueryBuilder
方法名:range

QueryBuilder.range介绍

[英]Build a range query (see org.apache.lucene.search.TermRangeQuery.
[中]构建一个范围查询(请参见org.apache.lucene.search.TermRangeQuery)。

代码示例

代码示例来源:origin: sanluan/PublicCMS

.must(new TermQuery(new Term("siteId", siteId.toString())));
if (null != startPublishDate) {
  termination.must(queryBuilder.range().onField("publishDate").above(startPublishDate).createQuery());
  termination.must(queryBuilder.range().onField("publishDate").below(endPublishDate).createQuery());

代码示例来源:origin: sanluan/PublicCMS

.must(new TermQuery(new Term("siteId", siteId.toString())));
if (null != startPublishDate) {
  termination.must(queryBuilder.range().onField("publishDate").above(startPublishDate).createQuery());
  termination.must(queryBuilder.range().onField("publishDate").below(endPublishDate).createQuery());

代码示例来源:origin: stackoverflow.com

Record lastRecord = ...;

QueryBuilder queryBuilder = fullTextSession
  .getSearchFactory()
  .buildQueryBuilder()
  .forEntity(Record.class).get();

Query query = queryBuilder.range()
  .onField( "created" )
  .above( lastRecord.getCreated() )
  .createQuery();

FullTextQuery fullTextQuery = fulllTextSession.createFullTextQuery(
  query, Record.class
);

代码示例来源:origin: sanluan/PublicCMS

.must(new TermQuery(new Term("siteId", siteId.toString())));
if (null != startPublishDate) {
  termination.must(queryBuilder.range().onField("publishDate").above(startPublishDate).createQuery());
  termination.must(queryBuilder.range().onField("publishDate").below(endPublishDate).createQuery());

代码示例来源:origin: sanluan/PublicCMS

.must(new TermQuery(new Term("siteId", siteId.toString())));
if (null != startPublishDate) {
  termination.must(queryBuilder.range().onField("publishDate").above(startPublishDate).createQuery());
  termination.must(queryBuilder.range().onField("publishDate").below(endPublishDate).createQuery());

代码示例来源:origin: stackoverflow.com

//look for users whos id is 1 and createDate is more than lastMonth
Date lastMonth = ...;
QueryBuilder userQB = searchFactory.buildQueryBuilder().forEntity( User.class ).get();

Query luceneQuery = userQB
  .bool()
   .must( userQB.keyword().onField("id").matching("1").createQuery() )
   .must( userQB.range().onField("creationDate").above(lastMonth)
    .createQuery() )
  .createQuery();

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testNumericRangeQueries() {
  final QueryBuilder monthQb = helper.queryBuilder( Month.class );
  Query query = monthQb
      .range()
        .onField( "raindropInMm" )
        .from( 0.23d )
        .to( 0.24d )
        .createQuery();
  assertTrue( query.getClass().isAssignableFrom( NumericRangeQuery.class ) );
  helper.assertThat( query ).from( Month.class ).matchesExactlyIds( 1 );
}

代码示例来源:origin: hibernate/hibernate-search

@Test
@TestForIssue(jiraKey = "HSEARCH-1791")
public void testUsingRangeQueryOnNumericDocumentIdGeneratesTermRangeQuery() throws Exception {
  final QueryBuilder monthQb = helper.queryBuilder( Month.class );
  Query query = monthQb.range()
      .onField( "id" )
      .from( 1 )
      .to( 3 )
      .createQuery();
  assertTrue(
      "A string based TermQuery is expected, but got a " + query.getClass(), query instanceof TermRangeQuery
  );
}

代码示例来源:origin: hibernate/hibernate-search

@Test
@TestForIssue(jiraKey = "HSEARCH-2070")
public void testSearchDateWithoutFieldBridge() throws Exception {
  QueryBuilder qb = helper.queryBuilder( ContainerEntity.class );
  Query q = qb.range().onField( "emb.date" )
      .above( initCalendar( 2007, Calendar.JANUARY, 14 ).getTime() )
      .createQuery();
  assertQuery( q ).matchesExactlyIds( 1L );
}

代码示例来源:origin: org.infinispan/infinispan-embedded-query

@Override
public Query visit(BetweenExpr betweenExpr) {
 PropertyValueExpr propertyValueExpr = (PropertyValueExpr) betweenExpr.getLeftChild();
 ConstantValueExpr fromValueExpr = (ConstantValueExpr) betweenExpr.getFromChild();
 ConstantValueExpr toValueExpr = (ConstantValueExpr) betweenExpr.getToChild();
 Comparable fromValue = fromValueExpr.getConstantValueAs(propertyValueExpr.getPrimitiveType(), namedParameters);
 Comparable toValue = toValueExpr.getConstantValueAs(propertyValueExpr.getPrimitiveType(), namedParameters);
 return applyFieldBridge(false, propertyValueExpr.getPropertyPath(), queryBuilder.range().onField(propertyValueExpr.getPropertyPath().asStringPath()))
    .from(fromValue).to(toValue).createQuery();
}

代码示例来源:origin: org.infinispan/infinispan-query

@Override
public Query visit(BetweenExpr betweenExpr) {
 PropertyValueExpr propertyValueExpr = (PropertyValueExpr) betweenExpr.getLeftChild();
 ConstantValueExpr fromValueExpr = (ConstantValueExpr) betweenExpr.getFromChild();
 ConstantValueExpr toValueExpr = (ConstantValueExpr) betweenExpr.getToChild();
 Comparable fromValue = fromValueExpr.getConstantValueAs(propertyValueExpr.getPrimitiveType(), namedParameters);
 Comparable toValue = toValueExpr.getConstantValueAs(propertyValueExpr.getPrimitiveType(), namedParameters);
 return applyFieldBridge(false, propertyValueExpr.getPropertyPath(), queryBuilder.range().onField(propertyValueExpr.getPropertyPath().asStringPath()))
    .from(fromValue).to(toValue).createQuery();
}

代码示例来源:origin: org.infinispan/infinispan-query

private List<Object> getYoungerThan(SearchManager sm, int age) {
 QueryBuilder queryBuilder = sm.buildQueryBuilderForClass(Person.class).get();
 Query query = queryBuilder.range().onField("age").below(age).createQuery();
 return sm.getQuery(query, Person.class).list();
}

代码示例来源:origin: hibernate/hibernate-search

private Query queryForRangeOnFieldSorted(int min, int max, String fieldName) {
  ExtendedSearchIntegrator integrator = factoryHolder.getSearchFactory();
  QueryBuilder queryBuilder = integrator.buildQueryBuilder().forEntity( Person.class ).get();
  return queryBuilder
      .range()
      .onField( fieldName )
      .from( min )
      .to( max )
      .createQuery();
}

代码示例来源:origin: hibernate/hibernate-search

@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();
}

代码示例来源:origin: hibernate/hibernate-search

@SuppressWarnings("unchecked")
private List<IterableBridgeTestEntity> findResultsWithRangeQuery(String fieldName, Object start) {
  QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder()
      .forEntity( IterableBridgeTestEntity.class ).get();
  Query query = queryBuilder.range().onField( fieldName ).above( start ).createQuery();
  return fullTextSession.createFullTextQuery( query, IterableBridgeTestEntity.class ).list();
}

代码示例来源:origin: hibernate/hibernate-search

@SuppressWarnings("unchecked")
private List<MapBridgeTestEntity> findResultsWithRangeQuery(String fieldName, Object start) {
  QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder()
      .forEntity( MapBridgeTestEntity.class ).get();
  Query query = queryBuilder.range().onField( fieldName ).above( start ).createQuery();
  return fullTextSession.createFullTextQuery( query, MapBridgeTestEntity.class ).list();
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testRangeQueryAboveInclusive() throws Exception {
  final QueryBuilder monthQb = helper.queryBuilder( Month.class );
  // test the limits, inclusive
  Query query = monthQb
      .range()
        .onField( "estimatedCreation" )
        .andField( "justfortest" )
          .ignoreFieldBridge().ignoreAnalyzer()
        .above( february )
        .createQuery();
  helper.assertThat( query ).from( Month.class ).matchesExactlyIds( 2 );
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void verifyExplicitRangeQuery() {
  Query query = getQueryBuilder()
        .range()
          .onField( "age" )
          .from( 1 ).excludeLimit()
          .to( 3 ).excludeLimit()
          .createQuery();
  Assert.assertTrue( query instanceof NumericRangeQuery );
  assertProjection( query, "title" ).matchesExactlySingleProjections( "title-two" );
}

代码示例来源:origin: hibernate/hibernate-search

@Test
@TestForIssue(jiraKey = "HSEARCH-2656")
public void testNumericRangeQueryWithFieldTypeOverriddenByFieldBridge() throws Exception {
  final QueryBuilder monthQb = helper.queryBuilder( Month.class );
  Query query = monthQb
      .range()
        .onField( "monthBase0" )
          .ignoreFieldBridge().ignoreAnalyzer()
        .below( 1 ).excludeLimit()
        .createQuery();
  helper.assertThat( query ).from( Month.class ).matchesUnorderedIds( 1 );
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testRangeQueryAboveExclusive() throws Exception {
  final QueryBuilder monthQb = helper.queryBuilder( Month.class );
  // test the limits, exclusive
  Query query = monthQb
      .range()
        .onField( "estimatedCreation" )
        .andField( "justfortest" )
          .ignoreFieldBridge().ignoreAnalyzer()
          .above( february ).excludeLimit()
        .createQuery();
  helper.assertThat( query ).from( Month.class ).matchesNone();
}

相关文章