List of usage examples for org.apache.lucene.index IndexWriter IndexWriter
public IndexWriter(Directory d, IndexWriterConfig conf) throws IOException
conf
. From source file:com.gemstone.gemfire.cache.lucene.internal.repository.IndexRepositoryImplJUnitPerformanceTest.java
License:Apache License
@Test public void testIndexRepository() throws Exception { doTest("IndexRepository", new TestCallbacks() { private Cache cache; private IndexRepositoryImpl repo; private IndexWriter writer; @Override/*from www . j a v a2s. c o m*/ public void addObject(String key, String text) throws Exception { repo.create(key, new TestObject(text)); } @Override public void commit() throws Exception { repo.commit(); } @Override public void init() throws Exception { cache = new CacheFactory().set("mcast-port", "0").set("log-level", "error").create(); Region<String, File> fileRegion = cache.<String, File>createRegionFactory(RegionShortcut.REPLICATE) .create("files"); Region<ChunkKey, byte[]> chunkRegion = cache .<ChunkKey, byte[]>createRegionFactory(RegionShortcut.REPLICATE).create("chunks"); RegionDirectory dir = new RegionDirectory(fileRegion, chunkRegion); IndexWriterConfig config = new IndexWriterConfig(analyzer); writer = new IndexWriter(dir, config); String[] indexedFields = new String[] { "text" }; HeterogenousLuceneSerializer mapper = new HeterogenousLuceneSerializer(indexedFields); repo = new IndexRepositoryImpl(fileRegion, writer, mapper); } @Override public void cleanup() throws IOException { writer.close(); cache.close(); } @Override public void waitForAsync() throws Exception { //do nothing } @Override public int query(Query query) throws IOException { TopEntriesCollector collector = new TopEntriesCollector(); repo.query(query, 100, collector); return collector.size(); } }); }
From source file:com.gemstone.gemfire.cache.lucene.internal.repository.IndexRepositoryImplJUnitPerformanceTest.java
License:Apache License
@Test public void testLuceneWithRegionDirectory() throws Exception { doTest("RegionDirectory", new TestCallbacks() { private IndexWriter writer; private SearcherManager searcherManager; @Override/*from ww w .ja va 2s .com*/ public void init() throws Exception { RegionDirectory dir = new RegionDirectory(new ConcurrentHashMap<String, File>(), new ConcurrentHashMap<ChunkKey, byte[]>()); IndexWriterConfig config = new IndexWriterConfig(analyzer); writer = new IndexWriter(dir, config); searcherManager = new SearcherManager(writer, true, null); } @Override public void addObject(String key, String text) throws Exception { Document doc = new Document(); doc.add(new TextField("key", key, Store.YES)); doc.add(new TextField("text", text, Store.NO)); writer.addDocument(doc); } @Override public void commit() throws Exception { writer.commit(); searcherManager.maybeRefresh(); } @Override public void cleanup() throws Exception { writer.close(); } @Override public void waitForAsync() throws Exception { //do nothing } @Override public int query(Query query) throws Exception { IndexSearcher searcher = searcherManager.acquire(); try { return searcher.count(query); } finally { searcherManager.release(searcher); } } }); }
From source file:com.gemstone.gemfire.cache.lucene.internal.repository.IndexRepositoryImplJUnitPerformanceTest.java
License:Apache License
@Test public void testLucene() throws Exception { doTest("Lucene", new TestCallbacks() { private IndexWriter writer; private SearcherManager searcherManager; @Override// ww w. j a v a 2 s . c o m public void init() throws Exception { RAMDirectory dir = new RAMDirectory(); IndexWriterConfig config = new IndexWriterConfig(analyzer); writer = new IndexWriter(dir, config); searcherManager = new SearcherManager(writer, true, null); } @Override public void addObject(String key, String text) throws Exception { Document doc = new Document(); doc.add(new TextField("key", key, Store.YES)); doc.add(new TextField("text", text, Store.NO)); writer.addDocument(doc); } @Override public void commit() throws Exception { writer.commit(); searcherManager.maybeRefresh(); } @Override public void cleanup() throws Exception { writer.close(); } @Override public void waitForAsync() throws Exception { //do nothing } @Override public int query(Query query) throws Exception { IndexSearcher searcher = searcherManager.acquire(); try { return searcher.count(query); } finally { searcherManager.release(searcher); } } }); }
From source file:com.gemstone.gemfire.cache.lucene.internal.repository.IndexRepositoryImplJUnitTest.java
License:Apache License
@Before public void setUp() throws IOException { ConcurrentHashMap<String, File> fileRegion = new ConcurrentHashMap<String, File>(); ConcurrentHashMap<ChunkKey, byte[]> chunkRegion = new ConcurrentHashMap<ChunkKey, byte[]>(); RegionDirectory dir = new RegionDirectory(fileRegion, chunkRegion); IndexWriterConfig config = new IndexWriterConfig(analyzer); writer = new IndexWriter(dir, config); String[] indexedFields = new String[] { "s", "i", "l", "d", "f", "s2", "missing" }; mapper = new HeterogenousLuceneSerializer(indexedFields); region = Mockito.mock(Region.class); Mockito.when(region.isDestroyed()).thenReturn(false); repo = new IndexRepositoryImpl(region, writer, mapper); }
From source file:com.gemstone.gemfire.cache.lucene.internal.repository.IndexRepositoryImplPerformanceTest.java
License:Apache License
@Test public void testIndexRepository() throws Exception { doTest("IndexRepository", new TestCallbacks() { private Cache cache; private IndexRepositoryImpl repo; private IndexWriter writer; @Override//from w ww .j a va 2 s.c o m public void addObject(String key, String text) throws Exception { repo.create(key, new TestObject(text)); } @Override public void commit() throws Exception { repo.commit(); } @Override public void init() throws Exception { cache = new CacheFactory().set(MCAST_PORT, "0").set(LOG_LEVEL, "error").create(); Region<String, File> fileRegion = cache.<String, File>createRegionFactory(RegionShortcut.REPLICATE) .create("files"); Region<ChunkKey, byte[]> chunkRegion = cache .<ChunkKey, byte[]>createRegionFactory(RegionShortcut.REPLICATE).create("chunks"); RegionDirectory dir = new RegionDirectory(fileRegion, chunkRegion, new FileSystemStats(cache.getDistributedSystem(), "region-index")); final LuceneIndexStats stats = new LuceneIndexStats(cache.getDistributedSystem(), "region-index"); IndexWriterConfig config = new IndexWriterConfig(analyzer); writer = new IndexWriter(dir, config); String[] indexedFields = new String[] { "text" }; HeterogeneousLuceneSerializer mapper = new HeterogeneousLuceneSerializer(indexedFields); repo = new IndexRepositoryImpl(fileRegion, writer, mapper, stats); } @Override public void cleanup() throws IOException { writer.close(); cache.close(); } @Override public void waitForAsync() throws Exception { //do nothing } @Override public int query(Query query) throws IOException { TopEntriesCollector collector = new TopEntriesCollector(); repo.query(query, 100, collector); return collector.size(); } }); }
From source file:com.gemstone.gemfire.cache.lucene.internal.repository.IndexRepositoryImplPerformanceTest.java
License:Apache License
@Test public void testLuceneWithRegionDirectory() throws Exception { doTest("RegionDirectory", new TestCallbacks() { public Cache cache; private IndexWriter writer; private SearcherManager searcherManager; @Override// ww w . j av a 2 s . c om public void init() throws Exception { cache = new CacheFactory().set(MCAST_PORT, "0").set(LOG_LEVEL, "warning").create(); final FileSystemStats stats = new FileSystemStats(cache.getDistributedSystem(), "stats"); RegionDirectory dir = new RegionDirectory(new ConcurrentHashMap<String, File>(), new ConcurrentHashMap<ChunkKey, byte[]>(), stats); IndexWriterConfig config = new IndexWriterConfig(analyzer); writer = new IndexWriter(dir, config); searcherManager = new SearcherManager(writer, true, true, null); } @Override public void addObject(String key, String text) throws Exception { Document doc = new Document(); doc.add(new TextField("key", key, Store.YES)); doc.add(new TextField("text", text, Store.NO)); writer.addDocument(doc); } @Override public void commit() throws Exception { writer.commit(); searcherManager.maybeRefresh(); } @Override public void cleanup() throws Exception { writer.close(); cache.close(); ; } @Override public void waitForAsync() throws Exception { //do nothing } @Override public int query(Query query) throws Exception { IndexSearcher searcher = searcherManager.acquire(); try { return searcher.count(query); } finally { searcherManager.release(searcher); } } }); }
From source file:com.gemstone.gemfire.cache.lucene.internal.repository.IndexRepositoryImplPerformanceTest.java
License:Apache License
@Test public void testLucene() throws Exception { doTest("Lucene", new TestCallbacks() { private IndexWriter writer; private SearcherManager searcherManager; @Override/*from w w w .jav a2 s . co m*/ public void init() throws Exception { RAMDirectory dir = new RAMDirectory(); IndexWriterConfig config = new IndexWriterConfig(analyzer); writer = new IndexWriter(dir, config); searcherManager = new SearcherManager(writer, true, true, null); } @Override public void addObject(String key, String text) throws Exception { Document doc = new Document(); doc.add(new TextField("key", key, Store.YES)); doc.add(new TextField("text", text, Store.NO)); writer.addDocument(doc); } @Override public void commit() throws Exception { writer.commit(); searcherManager.maybeRefresh(); } @Override public void cleanup() throws Exception { writer.close(); } @Override public void waitForAsync() throws Exception { //do nothing } @Override public int query(Query query) throws Exception { IndexSearcher searcher = searcherManager.acquire(); try { return searcher.count(query); } finally { searcherManager.release(searcher); } } }); }
From source file:com.gitblit.LuceneExecutor.java
License:Apache License
/** * Gets an index writer for the repository. The index will be created if it * does not already exist or if forceCreate is specified. * // www. j a va 2 s. c om * @param repository * @return an IndexWriter * @throws IOException */ private IndexWriter getIndexWriter(String repository) throws IOException { IndexWriter indexWriter = writers.get(repository); File repositoryFolder = FileKey.resolve(new File(repositoriesFolder, repository), FS.DETECTED); File indexFolder = new File(repositoryFolder, LUCENE_DIR); Directory directory = FSDirectory.open(indexFolder); if (indexWriter == null) { if (!indexFolder.exists()) { indexFolder.mkdirs(); } StandardAnalyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); IndexWriterConfig config = new IndexWriterConfig(LUCENE_VERSION, analyzer); config.setOpenMode(OpenMode.CREATE_OR_APPEND); indexWriter = new IndexWriter(directory, config); writers.put(repository, indexWriter); } return indexWriter; }
From source file:com.gitblit.service.LuceneService.java
License:Apache License
/** * Gets an index writer for the repository. The index will be created if it * does not already exist or if forceCreate is specified. * * @param repository//ww w . j av a 2s.co m * @return an IndexWriter * @throws IOException */ private IndexWriter getIndexWriter(String repository) throws IOException { IndexWriter indexWriter = writers.get(repository); if (indexWriter == null) { File repositoryFolder = FileKey.resolve(new File(repositoriesFolder, repository), FS.DETECTED); LuceneRepoIndexStore indexStore = new LuceneRepoIndexStore(repositoryFolder, INDEX_VERSION); indexStore.create(); Directory directory = FSDirectory.open(indexStore.getPath()); StandardAnalyzer analyzer = new StandardAnalyzer(); IndexWriterConfig config = new IndexWriterConfig(analyzer); config.setOpenMode(OpenMode.CREATE_OR_APPEND); indexWriter = new IndexWriter(directory, config); writers.put(repository, indexWriter); } return indexWriter; }
From source file:com.gitblit.tickets.TicketIndexer.java
License:Apache License
private IndexWriter getWriter() throws IOException { if (writer == null) { indexStore.create();// w w w.jav a2s.com Directory directory = FSDirectory.open(indexStore.getPath()); StandardAnalyzer analyzer = new StandardAnalyzer(); IndexWriterConfig config = new IndexWriterConfig(analyzer); config.setOpenMode(OpenMode.CREATE_OR_APPEND); writer = new IndexWriter(directory, config); } return writer; }