List of usage examples for org.apache.lucene.search IndexSearcher getIndexReader
public IndexReader getIndexReader()
From source file:org.apache.maven.index.incremental.DefaultIncrementalHandlerTest.java
License:Apache License
public void testUpdateValid() throws Exception { Properties properties = new Properties(); properties.setProperty(IndexingContext.INDEX_TIMESTAMP, "19991112182432.432 -0600"); FileUtils.copyDirectoryStructure(new File(getBasedir(), "src/test/repo/ch"), new File(repoDir, "ch")); indexer.scan(context);/*from w w w . j a v a 2 s .c o m*/ final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try { IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), indexDir); List<Integer> updates = handler.getIncrementalUpdates(request, properties); assertEquals(updates.size(), 1); } finally { context.releaseIndexSearcher(indexSearcher); } }
From source file:org.apache.maven.index.Nexus13NexusIndexerTest.java
License:Apache License
public void testIndexTimestamp() throws Exception { final File targetDir = Files.createTempDirectory("testIndexTimestamp").toFile(); targetDir.deleteOnExit();//from www. ja v a2 s . c om final IndexPacker indexPacker = lookup(IndexPacker.class); final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try { final IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), targetDir); indexPacker.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } Thread.sleep(1000L); Directory indexDir = new RAMDirectory(); IndexingContext newContext = nexusIndexer.addIndexingContext("test-new", "nexus-13", null, indexDir, null, null, DEFAULT_CREATORS); final IndexUpdater indexUpdater = lookup(IndexUpdater.class); final IndexUpdateRequest updateRequest = new IndexUpdateRequest(newContext, new DefaultIndexUpdater.FileFetcher(targetDir)); indexUpdater.fetchAndUpdateIndex(updateRequest); assertEquals(0, newContext.getTimestamp().getTime() - context.getTimestamp().getTime()); assertEquals(context.getTimestamp(), newContext.getTimestamp()); // make sure context has the same artifacts Query q = nexusIndexer.constructQuery(MAVEN.GROUP_ID, "cisco", SearchType.SCORED); FlatSearchResponse response = nexusIndexer.searchFlat(new FlatSearchRequest(q, newContext)); Collection<ArtifactInfo> r = response.getResults(); assertEquals(10, r.size()); List<ArtifactInfo> list = new ArrayList<ArtifactInfo>(r); assertEquals(10, list.size()); ArtifactInfo ai = list.get(0); assertEquals("1.0-SNAPSHOT", ai.getVersion()); ai = list.get(1); assertEquals("1.0-SNAPSHOT", ai.getVersion()); assertEquals("nexus-13", ai.getRepository()); newContext.close(true); }
From source file:org.apache.maven.index.Nexus1911IncrementalTest.java
License:Apache License
public void testNoIncremental() throws Exception { final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try {// www . j a va 2 s . c om IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), indexPackDir); request.setCreateIncrementalChunks(true); packer.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } Set<String> filenames = getFilenamesFromFiles(indexPackDir.listFiles()); Properties props = getPropertiesFromFiles(indexPackDir.listFiles()); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".gz")); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".properties")); Assert.assertFalse(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".1.gz")); Assert.assertFalse(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".2.gz")); Assert.assertNotNull(props); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "0")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "1")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "2")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "3")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "4")); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_COUNTER), "0"); Assert.assertNotNull(props.getProperty(IndexingContext.INDEX_CHAIN_ID)); }
From source file:org.apache.maven.index.Nexus1911IncrementalTest.java
License:Apache License
public void test1Incremental() throws Exception { final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try {/* w ww. j a va2 s .co m*/ IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), indexPackDir); request.setCreateIncrementalChunks(true); packer.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-1"), IndexPackingRequest.MAX_CHUNKS); Set<String> filenames = getFilenamesFromFiles(indexPackDir.listFiles()); Properties props = getPropertiesFromFiles(indexPackDir.listFiles()); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".gz")); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".properties")); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".1.gz")); Assert.assertFalse(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".2.gz")); Assert.assertNotNull(props); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "0"), "1"); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "1")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "2")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "3")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "4")); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_COUNTER), "1"); Assert.assertNotNull(props.getProperty(IndexingContext.INDEX_CHAIN_ID)); }
From source file:org.apache.maven.index.Nexus1911IncrementalTest.java
License:Apache License
public void test2Incremental() throws Exception { final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try {/* w w w.ja v a2 s . c o m*/ IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), indexPackDir); request.setCreateIncrementalChunks(true); packer.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-1"), IndexPackingRequest.MAX_CHUNKS); copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-2"), IndexPackingRequest.MAX_CHUNKS); Set<String> filenames = getFilenamesFromFiles(indexPackDir.listFiles()); Properties props = getPropertiesFromFiles(indexPackDir.listFiles()); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".gz")); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".properties")); //1 is missing with updated Lucene 4 implementation // Assert.assertTrue( filenames.contains( IndexingContext.INDEX_FILE_PREFIX + ".1.gz" ) ); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".2.gz")); Assert.assertFalse(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".3.gz")); Assert.assertNotNull(props); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "0"), "2"); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "1"), "1"); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "2")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "3")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "4")); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_COUNTER), "2"); Assert.assertNotNull(props.getProperty(IndexingContext.INDEX_CHAIN_ID)); }
From source file:org.apache.maven.index.Nexus1911IncrementalTest.java
License:Apache License
public void test3Incremental() throws Exception { final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try {//from w w w . jav a 2 s. c o m IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), indexPackDir); request.setCreateIncrementalChunks(true); packer.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-1"), IndexPackingRequest.MAX_CHUNKS); copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-2"), IndexPackingRequest.MAX_CHUNKS); copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-3"), IndexPackingRequest.MAX_CHUNKS); Set<String> filenames = getFilenamesFromFiles(indexPackDir.listFiles()); Properties props = getPropertiesFromFiles(indexPackDir.listFiles()); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".gz")); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".properties")); //1,2 are missing with updated Lucene 4 implementation // Assert.assertTrue( filenames.contains( IndexingContext.INDEX_FILE_PREFIX + ".1.gz" ) ); // Assert.assertTrue( filenames.contains( IndexingContext.INDEX_FILE_PREFIX + ".2.gz" ) ); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".3.gz")); Assert.assertNotNull(props); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "0"), "3"); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "1"), "2"); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "2"), "1"); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "3")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "4")); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_COUNTER), "3"); Assert.assertNotNull(props.getProperty(IndexingContext.INDEX_CHAIN_ID)); }
From source file:org.apache.maven.index.Nexus1911IncrementalTest.java
License:Apache License
public void testMaxChunks() throws Exception { final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try {/* w ww .j a v a 2 s. c o m*/ IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), indexPackDir); request.setCreateIncrementalChunks(true); request.setMaxIndexChunks(3); packer.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-1"), 3); copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-2"), 3); copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-3"), 3); copyRepoContentsAndReindex(new File(getBasedir(), "src/test/nexus-1911/repo-inc-4"), 3); Set<String> filenames = getFilenamesFromFiles(indexPackDir.listFiles()); Properties props = getPropertiesFromFiles(indexPackDir.listFiles()); System.out.println(filenames); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".gz")); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".properties")); Assert.assertFalse(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".1.gz")); //2,3 are missing with updated Lucene 4 implementation // Assert.assertTrue( filenames.contains( IndexingContext.INDEX_FILE_PREFIX + ".2.gz" ) ); // Assert.assertTrue( filenames.contains( IndexingContext.INDEX_FILE_PREFIX + ".3.gz" ) ); Assert.assertTrue(filenames.contains(IndexingContext.INDEX_FILE_PREFIX + ".4.gz")); Assert.assertNotNull(props); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "0"), "4"); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "1"), "3"); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "2"), "2"); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "3")); Assert.assertNull(props.getProperty(IndexingContext.INDEX_CHUNK_PREFIX + "4")); Assert.assertEquals(props.getProperty(IndexingContext.INDEX_CHUNK_COUNTER), "4"); Assert.assertNotNull(props.getProperty(IndexingContext.INDEX_CHAIN_ID)); }
From source file:org.apache.maven.index.Nexus1911IncrementalTest.java
License:Apache License
private void copyRepoContentsAndReindex(File src, int maxIndexChunks) throws Exception { File reposTargetDir = new File(getBasedir(), "target/repos/nexus-1911/repo"); FileUtils.copyDirectoryStructure(src, reposTargetDir); // this was ALWAYS broken, if incremental reindex wanted, this has to be TRUE!!! // TODO: fix this! indexer.scan(reindexedContext, false); final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try {/*from w w w . jav a 2 s .co m*/ IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), indexPackDir); request.setCreateIncrementalChunks(true); request.setMaxIndexChunks(maxIndexChunks); packer.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } }
From source file:org.apache.maven.index.NexusIndexerTest.java
License:Apache License
public void testUnpack() throws Exception { NexusIndexer indexer = prepare();/*from ww w .ja v a 2 s . c o m*/ String indexId = context.getId(); String repositoryId = context.getRepositoryId(); File repository = context.getRepository(); String repositoryUrl = context.getRepositoryUrl(); List<IndexCreator> indexCreators = context.getIndexCreators(); // Directory directory = context.getIndexDirectory(); final File targetDir = Files.createTempDirectory("testIndexTimestamp").toFile(); targetDir.deleteOnExit(); final IndexPacker indexPacker = lookup(IndexPacker.class); final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try { final IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), targetDir); indexPacker.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } indexer.removeIndexingContext(context, false); RAMDirectory newDirectory = new RAMDirectory(); IndexingContext newContext = indexer.addIndexingContext(indexId, // repositoryId, repository, newDirectory, repositoryUrl, null, indexCreators); final IndexUpdater indexUpdater = lookup(IndexUpdater.class); indexUpdater.fetchAndUpdateIndex( new IndexUpdateRequest(newContext, new DefaultIndexUpdater.FileFetcher(targetDir))); WildcardQuery q = new WildcardQuery(new Term(ArtifactInfo.PACKAGING, "maven-plugin")); FlatSearchResponse response = indexer.searchFlat(new FlatSearchRequest(q)); Collection<ArtifactInfo> infos = response.getResults(); assertEquals(infos.toString(), 2, infos.size()); }
From source file:org.apache.maven.index.packer.NEXUS4149TransferFormatTest.java
License:Apache License
public void testTransportFile() throws Exception { File packTargetDir = new File(getBasedir(), "target/nexus-4149/packed"); IndexPacker packer = lookup(IndexPacker.class); final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try {// w ww. j a va 2 s .co m IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), packTargetDir); request.setCreateIncrementalChunks(false); request.setFormats(Arrays.asList(IndexFormat.FORMAT_V1)); packer.packIndex(request); } finally { context.releaseIndexSearcher(indexSearcher); } // read it up and verify, but stay "low level", directly consume the GZ file and count InputStream fis = new BufferedInputStream( new FileInputStream(new File(packTargetDir, "nexus-maven-repository-index.gz"))); IndexDataReader reader = new IndexDataReader(fis); try { // read header and neglect it reader.readHeader(); // read docs int totalDocs = 0; int specialDocs = 0; int artifactDocs = 0; String allGroups = null; String rootGroups = null; Document doc; while ((doc = reader.readDocument()) != null) { totalDocs++; if (doc.getField("DESCRIPTOR") != null || doc.getField(ArtifactInfo.ALL_GROUPS) != null || doc.getField(ArtifactInfo.ROOT_GROUPS) != null) { specialDocs++; if (doc.get(ArtifactInfo.ALL_GROUPS) != null) { allGroups = doc.get(ArtifactInfo.ALL_GROUPS_LIST); } if (doc.get(ArtifactInfo.ROOT_GROUPS) != null) { rootGroups = doc.get(ArtifactInfo.ROOT_GROUPS_LIST); } } else { artifactDocs++; } } Assert.assertNotNull("Group transport file should contain allGroups!", allGroups); Assert.assertNotNull("Group transport file should contain rootGroups!", rootGroups); checkListOfStringDoesNotContainEmptyString(ArtifactInfo.str2lst(allGroups)); checkListOfStringDoesNotContainEmptyString(ArtifactInfo.str2lst(rootGroups)); Assert.assertEquals(15, totalDocs); // 1 descriptor + 1 allGroups + 1 rootGroups Assert.assertEquals(3, specialDocs); // repo1 has 1 artifact, repo2 has 1 artifact and repo3 has 10 artifact Assert.assertEquals(12, artifactDocs); } finally { fis.close(); } }