/** * @return analyzer */ public Analyzer getAnalyzer() { return super.getFullTextSession().getSearchFactory().getAnalyzer("cms"); }
/** * @return analyzer */ public Analyzer getAnalyzer() { return super.getFullTextSession().getSearchFactory().getAnalyzer("cms"); }
protected MultiFieldQueryParser newMultipleFieldQueryParser(Collection<String> fields) { Analyzer analyzer; if (getType().isAssignableFrom(PatientIdentifier.class) || getType().isAssignableFrom(PersonName.class) || getType().isAssignableFrom(PersonAttribute.class)) { analyzer = getFullTextSession().getSearchFactory().getAnalyzer(LuceneAnalyzers.EXACT_ANALYZER); } else { analyzer = getFullTextSession().getSearchFactory().getAnalyzer(getType()); } MultiFieldQueryParser queryParser = new MultiFieldQueryParser(fields.toArray(new String[fields.size()]), analyzer); setDefaultOperator(queryParser); return queryParser; }
SearchFactory searchFactory = fullTextSession.getSearchFactory(); QueryBuilder buildQuery = searchFactory.buildQueryBuilder().forEntity(Compound.class).get(); TermContext keyword = buildQuery.keyword();
/** * @param fields * @param text * @return full text query */ protected QueryBuilder getFullTextQueryBuilder() { FullTextSession fullTextSession = getFullTextSession(); return fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(getEntityClass()).get(); }
/** * You can use it in {@link #prepareQuery()}. * * @return the query parser */ protected QueryParser newQueryParser() { Analyzer analyzer = getFullTextSession().getSearchFactory().getAnalyzer(getType()); QueryParser queryParser = new QueryParser(null, analyzer); setDefaultOperator(queryParser); return queryParser; }
/** * @param fields * @param text * @return full text query */ protected QueryBuilder getFullTextQueryBuilder() { FullTextSession fullTextSession = getFullTextSession(); return fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(getEntityClass()).get(); }
/** * You can use it in {@link #prepareQuery()}. * * @return the query builder */ protected QueryBuilder newQueryBuilder() { return getFullTextSession().getSearchFactory().buildQueryBuilder().forEntity(getType()).get(); }
private LuceneProcessingChain createProcessingChain(Map<String, Object> namedParameters, FullTextSession fullTextSession) { SearchIntegrator searchFactory = fullTextSession.getSearchFactory().unwrap( SearchIntegrator.class ); return new LuceneProcessingChain.Builder( searchFactory, entityNamesResolver ) .namedParameters( namedParameters ) .buildProcessingChainForClassBasedEntities(); }
private void assertCorrectDirectoryType(SessionFactory factory, String className) { Session session = factory.openSession(); FullTextSession fullTextSession = Search.getFullTextSession( session ); SearchIntegrator integrator = fullTextSession.getSearchFactory().unwrap( SearchIntegrator.class ); EntityIndexBinding snowIndexBinder = integrator.getIndexBindings().get( SnowStorm.class ); Set<IndexManager> indexManagers = snowIndexBinder.getIndexManagerSelector().all(); assertTrue( "Wrong number of directory providers", indexManagers.size() == 1 ); DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) indexManagers.iterator().next(); Directory directory = indexManager.getDirectoryProvider().getDirectory(); assertEquals( "Wrong directory provider type", className, directory.getClass().getName() ); session.close(); }
@Override @Before public void setUp() throws Exception { super.setUp(); FullTextSession fts = indexData(); indexReaderAccessor = fts.getSearchFactory().getIndexReaderAccessor(); }
private Query searchQueryForValue(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 searchSongDsl(Session session) throws Exception { FullTextSession fullTextSession = Search.getFullTextSession( session ); Transaction tx = session.beginTransaction(); QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity( Song.class ).get(); Query queryEmmanuel = queryBuilder.keyword().onField( "mp3FileName" ).ignoreFieldBridge().matching( "Emmanuel" ).createQuery(); List<Song> result = fullTextSession.createFullTextQuery( queryEmmanuel ).list(); assertEquals( "Emmanuel is not an artist", 0, result.size() ); Query queryHardy = queryBuilder.keyword().onField( "mp3FileName" ).ignoreFieldBridge().matching( "Hardy" ).createQuery(); result = fullTextSession.createFullTextQuery( queryHardy ).list(); assertEquals( "Hardy is the artist", 1, result.size() ); tx.commit(); }
private List<EntityA> search(Session s, String field, String value) { FullTextSession session = Search.getFullTextSession( s ); QueryBuilder queryBuilder = session.getSearchFactory().buildQueryBuilder().forEntity( EntityA.class ).get(); Query query = queryBuilder.keyword().onField( field ).matching( value ).createQuery(); @SuppressWarnings("unchecked") List<EntityA> result = session.createFullTextQuery( query ).list(); return result; }
@SuppressWarnings("unchecked") private List<IndexedEntity> searchIndexedEntity(Session session, String field, Object value) { FullTextSession fullTextSession = Search.getFullTextSession( session ); QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder() .forEntity( IndexedEntity.class ).get(); FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( queryBuilder.keyword().onField( field ).matching( value ).createQuery(), IndexedEntity.class ); return (List<IndexedEntity>) fullTextQuery.list(); }
private void purgeAll(Class<?> entityType) throws IOException { FullTextSession session = Search.getFullTextSession( openSession() ); session.purgeAll( entityType ); session.flushToIndexes(); final int numDocs; try ( IndexReader indexReader = session.getSearchFactory().getIndexReaderAccessor().open( entityType ) ) { numDocs = indexReader.numDocs(); } session.close(); assertThat( numDocs ).isEqualTo( 0 ); }
@SuppressWarnings("unchecked") private List<MapBridgeNullEmbeddedTestEntity> findEmbeddedNullResults(String fieldName, Object value, boolean checkNullToken) { QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder() .forEntity( MapBridgeNullEmbeddedTestEntity.class ).get(); TermMatchingContext termMatchingContext = queryBuilder.keyword().onField( fieldName ); if ( checkNullToken ) { termMatchingContext.ignoreFieldBridge(); } Query query = termMatchingContext.ignoreAnalyzer().matching( value ).createQuery(); return fullTextSession.createFullTextQuery( query, MapBridgeNullEmbeddedTestEntity.class ).list(); }
@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(); termMatchingContext.ignoreAnalyzer(); } Query query = termMatchingContext.matching( value ).createQuery(); return fullTextSession.createFullTextQuery( query, ArrayBridgeTestEntity.class ).list(); }
@SuppressWarnings("unchecked") private List<MapBridgeTestEntity> findResults(String fieldName, Object value, boolean checkNullToken) { QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder() .forEntity( MapBridgeTestEntity.class ).get(); TermMatchingContext termMatchingContext = queryBuilder.keyword().onField( fieldName ); if ( checkNullToken ) { termMatchingContext.ignoreFieldBridge(); termMatchingContext.ignoreAnalyzer(); } Query query = termMatchingContext.matching( value ).createQuery(); return fullTextSession.createFullTextQuery( query, MapBridgeTestEntity.class ).list(); }
@SuppressWarnings("unchecked") private List<IterableBridgeNullEmbeddedTestEntity> findResults( String fieldName, Object value, boolean checkRawValue) { QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder() .forEntity( IterableBridgeNullEmbeddedTestEntity.class ).get(); TermMatchingContext termMatchingContext = queryBuilder.keyword().onField( fieldName ); if ( checkRawValue ) { termMatchingContext.ignoreFieldBridge(); termMatchingContext.ignoreAnalyzer(); } Query query = termMatchingContext.matching( value ).createQuery(); return fullTextSession.createFullTextQuery( query, IterableBridgeNullEmbeddedTestEntity.class ).list(); }