@Override public void close(IndexReader indexReader) { MultiReaderFactory.closeReader( indexReader ); }
public List<? extends IndexReader> getSubReaders() { return getSequentialSubReaders(); }
public static IndexReader openReader(IndexManager... indexManagers) { return openReader( null, null, indexManagers, true ); }
static ManagedMultiReader createInstance(IndexManager[] indexManagers, SortConfigurations configuredSorts, Sort sort, boolean indexUninvertingAllowed) throws IOException { final int length = indexManagers.length; IndexReader[] subReaders = new IndexReader[length]; ReaderProvider[] readerProviders = new ReaderProvider[length]; for ( int index = 0; index < length; index++ ) { ReaderProvider indexReaderManager = indexManagers[index].getReaderProvider(); IndexReader openIndexReader = indexReaderManager.openIndexReader(); subReaders[index] = openIndexReader; readerProviders[index] = indexReaderManager; } IndexReader[] effectiveReaders = getEffectiveReaders( indexManagers, subReaders, configuredSorts, sort, indexUninvertingAllowed ); return new ManagedMultiReader( effectiveReaders, subReaders, readerProviders ); }
public static IndexReader openReader(SortConfigurations configuredSorts, Sort sort, IndexManager[] indexManagers, boolean indexUninvertingAllowed) { if ( indexManagers.length == 0 ) { return null; } else { //everything should be the same so wrap in an MultiReader try { return ManagedMultiReader.createInstance( indexManagers, configuredSorts, sort, indexUninvertingAllowed ); } catch (IOException e) { throw log.ioExceptionOnMultiReaderRefresh( e ); } } }
public static IndexReader openReader(IndexManager... indexManagers) { return openReader( null, null, indexManagers, true ); }
static ManagedMultiReader createInstance(IndexManager[] indexManagers, SortConfigurations configuredSorts, Sort sort, boolean indexUninvertingAllowed) throws IOException { final int length = indexManagers.length; IndexReader[] subReaders = new IndexReader[length]; ReaderProvider[] readerProviders = new ReaderProvider[length]; for ( int index = 0; index < length; index++ ) { ReaderProvider indexReaderManager = indexManagers[index].getReaderProvider(); IndexReader openIndexReader = indexReaderManager.openIndexReader(); subReaders[index] = openIndexReader; readerProviders[index] = indexReaderManager; } IndexReader[] effectiveReaders = getEffectiveReaders( indexManagers, subReaders, configuredSorts, sort, indexUninvertingAllowed ); return new ManagedMultiReader( effectiveReaders, subReaders, readerProviders ); }
@Override public void close(IndexReader indexReader) { MultiReaderFactory.closeReader( indexReader ); }
public List<? extends IndexReader> getSubReaders() { return getSequentialSubReaders(); }
public static IndexReader openReader(SortConfigurations configuredSorts, Sort sort, IndexManager[] indexManagers, boolean indexUninvertingAllowed) { if ( indexManagers.length == 0 ) { return null; } else { //everything should be the same so wrap in an MultiReader try { return ManagedMultiReader.createInstance( indexManagers, configuredSorts, sort, indexUninvertingAllowed ); } catch (IOException e) { throw log.ioExceptionOnMultiReaderRefresh( e ); } } }
public static IndexReader openReader(Map<String, IndexManager> indexManagers) { IndexManager[] uniqueIndexManagers = indexManagers.values().toArray( new IndexManager[indexManagers.size()] ); return openReader( uniqueIndexManagers ); }
@Override public void close() { final IndexReader indexReader = searcher.getIndexReader(); try { MultiReaderFactory.closeReader( indexReader ); } catch (SearchException e) { log.unableToCloseSearcherDuringQuery( userQuery.toString(), e ); } }
public static IndexReader openReader(Map<String, IndexManager> indexManagers) { IndexManager[] uniqueIndexManagers = indexManagers.values().toArray( new IndexManager[indexManagers.size()] ); return openReader( uniqueIndexManagers ); }
@Override public void close() { final IndexReader indexReader = searcher.getIndexReader(); try { MultiReaderFactory.closeReader( indexReader ); } catch (SearchException e) { log.unableToCloseSearcherDuringQuery( userQuery.toString(), e ); } }
@Override public IndexReader open(Class<?>... entities) { if ( entities.length == 0 ) { throw log.needAtLeastOneIndexedEntityType(); } HashMap<String, IndexManager> indexManagers = new HashMap<>(); for ( Class<?> type : entities ) { collectAllIndexManagersInto( searchFactory.getSafeIndexBindingForEntity( type ), indexManagers ); } return MultiReaderFactory.openReader( indexManagers ); }
@Override public IndexReader open(Class<?>... entities) { if ( entities.length == 0 ) { throw log.needAtLeastOneIndexedEntityType(); } HashMap<String, IndexManager> indexManagers = new HashMap<>(); for ( Class<?> type : entities ) { collectAllIndexManagersInto( searchFactory.getSafeIndexBindingForEntity( type ), indexManagers ); } return MultiReaderFactory.openReader( indexManagers ); }
@Override public IndexReader open(String... indexNames) { TreeSet<String> names = new TreeSet<String>(); for ( String name : indexNames ) { if ( name != null ) { names.add( name ); } } final int size = names.size(); if ( size == 0 ) { throw log.needAtLeastOneIndexName(); } String[] indexManagerNames = names.toArray( new String[size] ); IndexManagerHolder managerSource = searchFactory.getIndexManagerHolder(); IndexManager[] managers = new IndexManager[size]; for ( int i = 0; i < size; i++ ) { String indexName = indexManagerNames[i]; managers[i] = managerSource.getIndexManager( indexName ); if ( managers[i] == null ) { throw log.requestedIndexNotDefined( indexName ); } } return MultiReaderFactory.openReader( managers ); }
@Override public IndexReader open(String... indexNames) { TreeSet<String> names = new TreeSet<String>(); for ( String name : indexNames ) { if ( name != null ) { names.add( name ); } } final int size = names.size(); if ( size == 0 ) { throw log.needAtLeastOneIndexName(); } String[] indexManagerNames = names.toArray( new String[size] ); IndexManagerHolder managerSource = searchFactory.getIndexManagerHolder(); IndexManager[] managers = new IndexManager[size]; for ( int i = 0; i < size; i++ ) { String indexName = indexManagerNames[i]; managers[i] = managerSource.getIndexManager( indexName ); if ( managers[i] == null ) { throw log.requestedIndexNotDefined( indexName ); } } return MultiReaderFactory.openReader( managers ); }
@Override public IndexReader open(IndexedTypeSet types) { if ( types.isEmpty() ) { throw log.needAtLeastOneIndexedEntityType(); } HashMap<String, IndexManager> indexManagers = new HashMap<>(); for ( IndexedTypeIdentifier type : types ) { collectAllIndexManagersInto( searchFactory.getSafeIndexBindingForEntity( type ), indexManagers ); } return MultiReaderFactory.openReader( indexManagers ); }
@Override public IndexReader open(IndexedTypeSet types) { if ( types.isEmpty() ) { throw log.needAtLeastOneIndexedEntityType(); } HashMap<String, IndexManager> indexManagers = new HashMap<>(); for ( IndexedTypeIdentifier type : types ) { collectAllIndexManagersInto( searchFactory.getSafeIndexBindingForEntity( type ), indexManagers ); } return MultiReaderFactory.openReader( indexManagers ); }