Example usage for org.apache.lucene.search IndexSearcher getIndexReader

List of usage examples for org.apache.lucene.search IndexSearcher getIndexReader

Introduction

In this page you can find the example usage for org.apache.lucene.search IndexSearcher getIndexReader.

Prototype

public IndexReader getIndexReader() 

Source Link

Document

Return the IndexReader this searches.

Usage

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();
    }
}