本文整理了Java中org.hibernate.search.query.dsl.QueryBuilder.range
方法的一些代码示例,展示了QueryBuilder.range
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryBuilder.range
方法的具体详情如下:
包路径:org.hibernate.search.query.dsl.QueryBuilder
类名称: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();
}
内容来源于网络,如有侵权,请联系作者删除!