/** * @see org.openmrs.api.db.hibernate.search.SearchQuery#resultSize() */ @Override public long resultSize() { if (noUniqueTerms) { return 0; } return buildQuery().getResultSize(); }
@Override public ListPart<T> listPart(Long firstResult, Long maxResults) { if (noUniqueTerms) { return ListPart.newListPart(Collections.emptyList(), firstResult, maxResults, 0L, true); } FullTextQuery fullTextQuery = buildQuery(); applyPartialResults(fullTextQuery, firstResult, maxResults); @SuppressWarnings("unchecked") List<T> list = fullTextQuery.list(); return ListPart.newListPart(list, firstResult, maxResults, (long) fullTextQuery.getResultSize(), !fullTextQuery.hasPartialResults()); }
public ListPart<Object[]> listPartProjection(Long firstResult, Long maxResults, String... fields) { if (noUniqueTerms) { return ListPart.newListPart(Collections.emptyList(), firstResult, maxResults, 0L, true); } FullTextQuery fullTextQuery = buildQuery(); applyPartialResults(fullTextQuery, firstResult, maxResults); fullTextQuery.setProjection(fields); @SuppressWarnings("unchecked") List<Object[]> list = fullTextQuery.list(); return ListPart.newListPart(list, firstResult, maxResults, (long) fullTextQuery.getResultSize(), !fullTextQuery.hasPartialResults()); }
@Override protected void doAction(FullTextSession s, int jobSeed) { FullTextQuery q = getQuery( "John Doe", s, Detective.class ); q.setMaxResults( 10 ); q.getResultSize(); }
@Test public void testGetResultSize() throws Exception { Session s = openSession(); FullTextSession session = Search.getFullTextSession( s ); Transaction tx = s.beginTransaction(); QueryDescriptor query = ElasticsearchQueries.fromJson( "{ 'query': { 'match' : { 'abstract' : 'Hibernate' } } }" ); FullTextQuery fullTextQuery = session.createFullTextQuery( query, ScientificArticle.class ); assertThat( fullTextQuery.getResultSize() ).isEqualTo( 4 ); tx.commit(); s.close(); }
private int countDocuments(String field) { FullTextSession session = Search.getFullTextSession( getSession() ); return session /** * We must use a raw Lucene query, and not use the QueryBuilder, * because the field may not exist. */ .createFullTextQuery( new WildcardQuery( new Term( field, "*" ) ) ) .getResultSize(); }
@Test public void testFilterDefinedOnSuperClass() { TermQuery query = new TermQuery( new Term( "employer", "Red Hat" ) ); FullTextQuery ftQuery = fullTextSession.createFullTextQuery( query, Employee.class ); ftQuery.enableFullTextFilter( "roleFilter" ) .setParameter( "role", Role.ADMINISTRATOR ); assertEquals( "Should find the filter defined in the super class", 1, ftQuery.getResultSize() ); }
@Test public void testFilterDefinedOnSuperClass() { TermQuery query = new TermQuery( new Term( "employer", "Red Hat" ) ); FullTextQuery ftQuery = fullTextSession.createFullTextQuery( query, Employee.class ); ftQuery.enableFullTextFilter( "roleFilter" ) .setParameter( "role", Role.ADMINISTRATOR ); assertEquals( "Should find the filter defined in the super class", 1, ftQuery.getResultSize() ); }
private int nbrOfMatchingResults(String field, String token, FullTextSession s) throws ParseException { QueryParser parser = new QueryParser( field, TestConstants.standardAnalyzer ); org.apache.lucene.search.Query luceneQuery = parser.parse( token ); FullTextQuery query = s.createFullTextQuery( luceneQuery ); return query.getResultSize(); }
private int countResults(Query query, FullTextSessionBuilder ftSessionBuilder, Class<?> type) { FullTextSession fullTextSession = ftSessionBuilder.openFullTextSession(); Transaction transaction = fullTextSession.beginTransaction(); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( query, type ); int resultSize = fullTextQuery.getResultSize(); transaction.commit(); fullTextSession.close(); return resultSize; }
private FullTextQuery matchAll(FacetingRequest request) { Query luceneQuery = new MatchAllDocsQuery(); FullTextQuery query = fullTextSession.createFullTextQuery( luceneQuery, Car.class ); query.getFacetManager().enableFaceting( request ); assertEquals( "Wrong number of indexed cars", 50, query.getResultSize() ); return query; }
private FullTextQuery queryCompanyWithFacet(FacetingRequest request) { FullTextQuery query = fullTextSession.createFullTextQuery( new MatchAllDocsQuery() ); query.getFacetManager().enableFaceting( request ); assertEquals( "Wrong number of query matches", 1, query.getResultSize() ); return query; }
@Test public void testAllRelevantProgressMonitoringOperationsCalled() throws InterruptedException { // let mass indexer re-index the data in the db (created in initializeData()) AssertingMassIndexerProgressMonitor monitor = new AssertingMassIndexerProgressMonitor( 10, 10 ); fullTextSession.createIndexer( LegacyCar.class ) .progressMonitor( monitor ) .startAndWait(); fullTextSession.createFullTextQuery( new MatchAllDocsQuery(), LegacyCar.class ) .getResultSize(); monitor.assertExpectedProgressMade(); }
private FullTextQuery queryHondaNoResultsWithFacet(FacetingRequest request) { Query luceneQuery = queryBuilder( Car.class ) .keyword() .onField( "make" ) .matching( "nonExistentValue" ) .createQuery(); FullTextQuery query = fullTextSession.createFullTextQuery( luceneQuery, Car.class ); query.getFacetManager().enableFaceting( request ); assertEquals( "Wrong number of query matches", 0, query.getResultSize() ); return query; } @Test
private FullTextQuery queryHondaWithFacet(FacetingRequest request) { Query luceneQuery = queryBuilder( Car.class ) .keyword() .onField( "make" ) .matching( "Honda" ) .createQuery(); FullTextQuery query = fullTextSession.createFullTextQuery( luceneQuery, Car.class ); query.getFacetManager().enableFaceting( request ); assertEquals( "Wrong number of query matches", 13, query.getResultSize() ); return query; }
private FullTextQuery queryHondaWithFacet(FacetingRequest request) { Query luceneQuery = queryBuilder( Car.class ) .keyword() .onField( "make" ) .matching( "Honda" ) .createQuery(); FullTextQuery query = fullTextSession.createFullTextQuery( luceneQuery, Car.class ); query.getFacetManager().enableFaceting( request ); assertEquals( "Wrong number of query matches", 13, query.getResultSize() ); return query; }
private FullTextQuery queryHondaWithFacet(FacetingRequest request) { Query luceneQuery = queryBuilder( Car.class ) .keyword() .onField( "make" ) .matching( "Honda" ) .createQuery(); FullTextQuery query = fullTextSession.createFullTextQuery( luceneQuery, Car.class ); query.getFacetManager().enableFaceting( request ); assertEquals( "Wrong number of query matches", 13, query.getResultSize() ); return query; }
@Test public void testMultipleFiltersOfSameTypeWithDifferentParameters() { FullTextQuery ftQuery = fullTextSession.createFullTextQuery( query, Driver.class ); ftQuery.enableFullTextFilter( "fieldConstraintFilter-1" ) .setParameter( "field", "teacher" ) .setParameter( "value", "andre" ); ftQuery.enableFullTextFilter( "fieldConstraintFilter-2" ) .setParameter( "field", "teacher" ) .setParameter( "value", "aaron" ); assertEquals( "Should apply both filters resulting in 0 results", 0, ftQuery.getResultSize() ); }
@Test public void testMultipleFiltersOfSameTypeWithDifferentParameters() { FullTextQuery ftQuery = fullTextSession.createFullTextQuery( query, Driver.class ); ftQuery.enableFullTextFilter( "fieldConstraintFilter-1" ) .setParameter( "field", "teacher" ) .setParameter( "value", "andre" ); ftQuery.enableFullTextFilter( "fieldConstraintFilter-2" ) .setParameter( "field", "teacher" ) .setParameter( "value", "aaron" ); assertEquals( "Should apply both filters resulting in 0 results", 0, ftQuery.getResultSize() ); }
private int queryResultSize(int fieldValue) { try ( Session session = openSession() ) { FullTextSession ftSession = Search.getFullTextSession( session ); QueryBuilder builder = ftSession.getSearchFactory().buildQueryBuilder() .forEntity( Containing.class ).get(); Query luceneQuery = builder.keyword().onField( "contained.field" ).matching( fieldValue ).createQuery(); FullTextQuery query = ftSession.createFullTextQuery( luceneQuery, Containing.class ); return query.getResultSize(); } }