Example usage for org.apache.lucene.store RAMDirectory RAMDirectory

List of usage examples for org.apache.lucene.store RAMDirectory RAMDirectory

Introduction

In this page you can find the example usage for org.apache.lucene.store RAMDirectory RAMDirectory.

Prototype

public RAMDirectory() 

Source Link

Document

Constructs an empty Directory .

Usage

From source file:com.fuerve.villageelder.indexing.IndexerTest.java

License:Apache License

@Test
public final void testMaxDoc() throws Exception {
    RAMDirectory indexDirectory = new RAMDirectory();
    RAMDirectory taxonomyDirectory = new RAMDirectory();

    Field iwField = IndexManager.class.getDeclaredField("indexWriter");
    Field twField = IndexManager.class.getDeclaredField("taxonomyWriter");
    Field imField = Indexer.class.getDeclaredField("indexManager");

    iwField.setAccessible(true);/*ww w .  j a va2 s.c  om*/
    twField.setAccessible(true);
    imField.setAccessible(true);

    Indexer target = new Indexer(indexDirectory, taxonomyDirectory, OpenMode.CREATE);
    target.initializeIndex();
    List<RevisionInfo> revisions = new ArrayList<RevisionInfo>();
    revisions.add(buildDumbRevisionInfo());
    revisions.add(buildDumbRevisionInfo());
    target.indexRevisions(revisions);

    assertEquals(2, target.getMaxDoc());

    target.dispose();
}

From source file:com.fuerve.villageelder.indexing.IndexerTest.java

License:Apache License

@Test
public final void testTaxonomySize() throws Exception {
    RAMDirectory indexDirectory = new RAMDirectory();
    RAMDirectory taxonomyDirectory = new RAMDirectory();

    Field iwField = IndexManager.class.getDeclaredField("indexWriter");
    Field twField = IndexManager.class.getDeclaredField("taxonomyWriter");
    Field imField = Indexer.class.getDeclaredField("indexManager");

    iwField.setAccessible(true);//from   w  w  w .  j av  a2  s  .  c o m
    twField.setAccessible(true);
    imField.setAccessible(true);

    Indexer target = new Indexer(indexDirectory, taxonomyDirectory, OpenMode.CREATE);
    target.initializeIndex();
    List<RevisionInfo> revisions = new ArrayList<RevisionInfo>();
    revisions.add(buildDumbRevisionInfo());
    revisions.add(buildDumbRevisionInfo());
    target.indexRevisions(revisions);

    assertEquals(8, target.getTaxonomySize());

    target.dispose();
}

From source file:com.fuerve.villageelder.indexing.IndexManagerTest.java

License:Apache License

/**
 * Test method for {@link com.fuerve.villageelder.indexing.IndexManager#IndexManager(org.apache.lucene.store.Directory, org.apache.lucene.store.Directory)}.
 * @throws Exception // w w w.j  av a  2 s  . c o m
 */
@Test
public final void testIndexManagerDirectoryDirectory() throws Exception {
    RAMDirectory indexDirectory = new RAMDirectory();
    RAMDirectory taxonomyDirectory = new RAMDirectory();

    Field idField = IndexManager.class.getDeclaredField("indexDirectory");
    Field tdField = IndexManager.class.getDeclaredField("taxonomyDirectory");
    Field iwField = IndexManager.class.getDeclaredField("indexWriter");
    Field twField = IndexManager.class.getDeclaredField("taxonomyWriter");
    Field stField = IndexManager.class.getDeclaredField("stringDirectories");
    Field initField = IndexManager.class.getDeclaredField("initialized");

    idField.setAccessible(true);
    tdField.setAccessible(true);
    iwField.setAccessible(true);
    twField.setAccessible(true);
    stField.setAccessible(true);
    initField.setAccessible(true);

    IndexManager target = new IndexManager(indexDirectory, taxonomyDirectory);

    // TEST 1: A newly constructed IndexManager believes itself
    // to be uninitialized, as indicated by the 'initialized'
    // field.
    boolean initActual = initField.getBoolean(target);
    assertFalse(initActual);

    target.initializeIndex();

    Directory idActual = (Directory) idField.get(target);
    Directory tdActual = (Directory) tdField.get(target);
    IndexWriter iwActual = (IndexWriter) iwField.get(target);
    TaxonomyWriter twActual = (TaxonomyWriter) twField.get(target);
    boolean stActual = (Boolean) stField.get(target);
    initActual = initField.getBoolean(target);

    // TEST 2: The IndexManager's index directory is what was passed in.
    assertEquals(indexDirectory, idActual);
    // TEST 3: The IndexManager's taxonomy directory is what was passed in.
    assertEquals(taxonomyDirectory, tdActual);
    // TEST 4: The IndexWriter's directory is what was passed in.
    assertEquals(indexDirectory, iwActual.getDirectory());
    // TEST 5: The taxonomy index is initialized afresh with no categories
    // in it.
    assertEquals(1, twActual.getSize());
    // TEST 6: An IndexManager constructed with Directories does not
    // believe that it needs to construct new Directories from string
    // pathnames.
    assertEquals(false, stActual);
    // TEST 7: The IndexManager's initialized field is true after it
    // has been initialized.
    assertEquals(true, initActual);

    target.dispose();

    // TEST 8: The IndexManager's index writer is null after it has
    // been disposed.
    iwActual = (IndexWriter) iwField.get(target);
    assertEquals(null, iwActual);

    // TEST 9: The IndexManager's taxonomy writer is null after it
    // has been disposed.
    twActual = (TaxonomyWriter) twField.get(target);
    assertEquals(null, twActual);

    // TEST 10: The IndexManager's initialized flag is false after
    // it has been disposed.
    initActual = initField.getBoolean(target);
    assertEquals(false, initActual);
}

From source file:com.fuerve.villageelder.indexing.IndexManagerTest.java

License:Apache License

/**
 * Test method for {@link com.fuerve.villageelder.indexing.IndexManager#IndexManager(org.apache.lucene.store.Directory, org.apache.lucene.store.Directory, org.apache.lucene.index.IndexWriterConfig.OpenMode)}.
 *///from www  . j  a v  a 2s .co m
@Test
public final void testIndexManagerDirectoryDirectoryOpenMode() throws Exception {
    RAMDirectory indexDirectory = new RAMDirectory();
    RAMDirectory taxonomyDirectory = new RAMDirectory();

    Field idField = IndexManager.class.getDeclaredField("indexDirectory");
    Field tdField = IndexManager.class.getDeclaredField("taxonomyDirectory");
    Field iwField = IndexManager.class.getDeclaredField("indexWriter");
    Field twField = IndexManager.class.getDeclaredField("taxonomyWriter");
    Field stField = IndexManager.class.getDeclaredField("stringDirectories");
    Field initField = IndexManager.class.getDeclaredField("initialized");

    idField.setAccessible(true);
    tdField.setAccessible(true);
    iwField.setAccessible(true);
    twField.setAccessible(true);
    stField.setAccessible(true);
    initField.setAccessible(true);

    IndexManager target = new IndexManager(indexDirectory, taxonomyDirectory, OpenMode.CREATE);
    target.initializeIndex();
    TaxonomyWriter tw = (TaxonomyWriter) twField.get(target);
    IndexWriter iw = (IndexWriter) iwField.get(target);
    tw.addCategory(new CategoryPath("test/stuff", '/'));
    Document doc = new Document();
    doc.add(new LongField("testfield", 1000L, Store.YES));
    iw.addDocument(doc);
    target.dispose();

    // TEST: Initializing an index, disposing it and initializing another
    // index instance on the same Directories results in loading the same
    // index.
    IndexManager target2 = new IndexManager(indexDirectory, taxonomyDirectory, OpenMode.APPEND);
    target2.initializeIndex();
    iw = (IndexWriter) iwField.get(target2);
    tw = (TaxonomyWriter) twField.get(target2);
    assertEquals(1, iw.numDocs());
    assertEquals(3, tw.getSize());
    target2.dispose();
}

From source file:com.fuerve.villageelder.indexing.IndexManagerTest.java

License:Apache License

/**
 * Test method for {@link com.fuerve.villageelder.indexing.IndexManager#getIndexWriter()}.
 *///w  ww. java 2s  .  c  o  m
@Test
public final void testGetIndexWriter() throws Exception {
    RAMDirectory indexDirectory = new RAMDirectory();
    RAMDirectory taxonomyDirectory = new RAMDirectory();

    IndexManager target = new IndexManager(indexDirectory, taxonomyDirectory);
    target.initializeIndex();

    Document doc = new Document();
    doc.add(new LongField("testfield", 1000L, Store.YES));
    target.getIndexWriter().addDocument(doc);
    assertEquals(1, target.getIndexWriter().numDocs());

    target.dispose();
}

From source file:com.fuerve.villageelder.indexing.IndexManagerTest.java

License:Apache License

/**
 * Test method for {@link com.fuerve.villageelder.indexing.IndexManager#getTaxonomyWriter()}.
 *//*from   w ww .java 2s. c  o  m*/
@Test
public final void testGetTaxonomyWriter() throws Exception {
    RAMDirectory indexDirectory = new RAMDirectory();
    RAMDirectory taxonomyDirectory = new RAMDirectory();

    IndexManager target = new IndexManager(indexDirectory, taxonomyDirectory);
    target.initializeIndex();

    target.getTaxonomyWriter().addCategory(new CategoryPath("test/stuff", '/'));
    assertEquals(3, target.getTaxonomyWriter().getSize());

    target.dispose();
}

From source file:com.fuerve.villageelder.indexing.IndexManagerTest.java

License:Apache License

/**
 * Test method for {@link com.fuerve.villageelder.indexing.IndexManager#getAnalyzer()}.
 *///from www  .j  av a 2 s. co m
@Test
public final void testGetAnalyzer() throws Exception {
    RAMDirectory indexDirectory = new RAMDirectory();
    RAMDirectory taxonomyDirectory = new RAMDirectory();

    IndexManager target = new IndexManager(indexDirectory, taxonomyDirectory);
    target.initializeIndex();

    assertTrue(target.getAnalyzer() instanceof PerFieldAnalyzerWrapper);

    target.dispose();
}

From source file:com.fuerve.villageelder.search.SearcherTest.java

License:Apache License

/**
 * Test method for {@link com.fuerve.villageelder.search.Searcher#Searcher(org.apache.lucene.store.Directory, org.apache.lucene.store.Directory)}.
 *//*from  w  w w  . j ava  2 s .  c  o m*/
@SuppressWarnings("unused")
@Test
public final void testSearcherDirectoryDirectory() throws Exception {
    // Gather declared fields.
    Field indexDirectoryField = Searcher.class.getDeclaredField("indexDirectory");
    Field taxonomyDirectoryField = Searcher.class.getDeclaredField("taxonomyDirectory");
    Field indexDirectoryNameField = Searcher.class.getDeclaredField("indexDirectoryName");
    Field taxonomyDirectoryNameField = Searcher.class.getDeclaredField("taxonomyDirectoryName");
    Field stringDirectoriesField = Searcher.class.getDeclaredField("stringDirectories");
    Field initializedField = Searcher.class.getDeclaredField("initialized");
    Field searchField = Searcher.class.getDeclaredField("search");

    indexDirectoryField.setAccessible(true);
    taxonomyDirectoryField.setAccessible(true);
    indexDirectoryNameField.setAccessible(true);
    taxonomyDirectoryNameField.setAccessible(true);
    stringDirectoriesField.setAccessible(true);
    initializedField.setAccessible(true);
    searchField.setAccessible(true);

    // Setup
    Directory indexDirectoryExpected = new RAMDirectory();
    Directory taxonomyDirectoryExpected = new RAMDirectory();

    Searcher target = new Searcher(indexDirectoryExpected, taxonomyDirectoryExpected);

    // Gather field values.
    Directory indexDirectoryActual = (Directory) indexDirectoryField.get(target);
    Directory taxonomyDirectoryActual = (Directory) taxonomyDirectoryField.get(target);
    String indexDirectoryNameActual = (String) indexDirectoryNameField.get(target);
    String taxonomyDirectoryNameActual = (String) taxonomyDirectoryNameField.get(target);
    boolean stringDirectoriesActual = stringDirectoriesField.getBoolean(target);
    boolean initializedActual = initializedField.getBoolean(target);
    Search searchFieldActual = (Search) searchField.get(target);

    // Test
    assertEquals(indexDirectoryExpected, indexDirectoryActual);
    assertEquals(false, stringDirectoriesActual);
}

From source file:com.fuerve.villageelder.search.SearcherTest.java

License:Apache License

/**
 * Test method for {@link com.fuerve.villageelder.search.Searcher#initializeSearch()}.
 *//*from   w  ww  .ja v a 2 s  . c om*/
@SuppressWarnings("unused")
@Test
public final void testInitializeSearch() throws Exception {
    // Gather declared fields.
    Field indexDirectoryField = Searcher.class.getDeclaredField("indexDirectory");
    Field taxonomyDirectoryField = Searcher.class.getDeclaredField("taxonomyDirectory");
    Field indexDirectoryNameField = Searcher.class.getDeclaredField("indexDirectoryName");
    Field taxonomyDirectoryNameField = Searcher.class.getDeclaredField("taxonomyDirectoryName");
    Field stringDirectoriesField = Searcher.class.getDeclaredField("stringDirectories");
    Field initializedField = Searcher.class.getDeclaredField("initialized");
    Field searchField = Searcher.class.getDeclaredField("search");
    Field indexReaderField = Searcher.class.getDeclaredField("indexReader");
    Field indexSearcherField = Searcher.class.getDeclaredField("indexSearcher");
    Field taxonomyReaderField = Searcher.class.getDeclaredField("taxonomyReader");

    indexDirectoryField.setAccessible(true);
    taxonomyDirectoryField.setAccessible(true);
    indexDirectoryNameField.setAccessible(true);
    taxonomyDirectoryNameField.setAccessible(true);
    stringDirectoriesField.setAccessible(true);
    initializedField.setAccessible(true);
    searchField.setAccessible(true);
    indexReaderField.setAccessible(true);
    indexSearcherField.setAccessible(true);
    taxonomyReaderField.setAccessible(true);

    // Setup
    Directory indexDirectoryExpected = new RAMDirectory();
    Directory taxonomyDirectoryExpected = new RAMDirectory();

    IndexWriterConfig iwc = new IndexWriterConfig(Lucene.LUCENE_VERSION, Lucene.getPerFieldAnalyzer());
    IndexWriter iw = new IndexWriter(indexDirectoryExpected, iwc);
    TaxonomyWriter tw = new DirectoryTaxonomyWriter(taxonomyDirectoryExpected, OpenMode.CREATE);

    iw.commit();
    tw.commit();

    Searcher target = new Searcher(indexDirectoryExpected, taxonomyDirectoryExpected);
    target.initializeSearch();

    // Gather field values.
    Directory indexDirectoryActual = (Directory) indexDirectoryField.get(target);
    Directory taxonomyDirectoryActual = (Directory) taxonomyDirectoryField.get(target);
    String indexDirectoryNameActual = (String) indexDirectoryNameField.get(target);
    String taxonomyDirectoryNameActual = (String) taxonomyDirectoryNameField.get(target);
    boolean stringDirectoriesActual = stringDirectoriesField.getBoolean(target);
    boolean initializedActual = initializedField.getBoolean(target);
    Search searchFieldActual = (Search) searchField.get(target);
    IndexReader indexReaderActual = (IndexReader) indexReaderField.get(target);
    IndexSearcher indexSearcherActual = (IndexSearcher) indexSearcherField.get(target);
    TaxonomyReader taxonomyReaderActual = (TaxonomyReader) taxonomyReaderField.get(target);

    // Test
    assertEquals(true, initializedActual);
    assertNotNull(indexReaderActual);
    assertNotNull(indexSearcherActual);
    assertNotNull(taxonomyReaderActual);

    // Finish
    tw.close();
    iw.close();
}

From source file:com.fuerve.villageelder.search.SearcherTest.java

License:Apache License

/**
 * Test method for {@link com.fuerve.villageelder.search.Searcher#search(org.apache.lucene.search.Collector)}.
 *///from w  ww . ja v a2s .  c o  m
@SuppressWarnings("unused")
@Test
public final void testSearchCollector() throws Exception {
    // Gather declared fields.
    Field indexDirectoryField = Searcher.class.getDeclaredField("indexDirectory");
    Field taxonomyDirectoryField = Searcher.class.getDeclaredField("taxonomyDirectory");
    Field indexDirectoryNameField = Searcher.class.getDeclaredField("indexDirectoryName");
    Field taxonomyDirectoryNameField = Searcher.class.getDeclaredField("taxonomyDirectoryName");
    Field stringDirectoriesField = Searcher.class.getDeclaredField("stringDirectories");
    Field initializedField = Searcher.class.getDeclaredField("initialized");
    Field searchField = Searcher.class.getDeclaredField("search");
    Field indexReaderField = Searcher.class.getDeclaredField("indexReader");
    Field indexSearcherField = Searcher.class.getDeclaredField("indexSearcher");
    Field taxonomyReaderField = Searcher.class.getDeclaredField("taxonomyReader");

    indexDirectoryField.setAccessible(true);
    taxonomyDirectoryField.setAccessible(true);
    indexDirectoryNameField.setAccessible(true);
    taxonomyDirectoryNameField.setAccessible(true);
    stringDirectoriesField.setAccessible(true);
    initializedField.setAccessible(true);
    searchField.setAccessible(true);
    indexReaderField.setAccessible(true);
    indexSearcherField.setAccessible(true);
    taxonomyReaderField.setAccessible(true);

    // Setup
    Directory indexDirectoryExpected = new RAMDirectory();
    Directory taxonomyDirectoryExpected = new RAMDirectory();

    buildDummyIndex(indexDirectoryExpected, taxonomyDirectoryExpected);

    Searcher target = new Searcher(indexDirectoryExpected, taxonomyDirectoryExpected);
    target.initializeSearch();

    // Gather field values.
    Directory indexDirectoryActual = (Directory) indexDirectoryField.get(target);
    Directory taxonomyDirectoryActual = (Directory) taxonomyDirectoryField.get(target);
    String indexDirectoryNameActual = (String) indexDirectoryNameField.get(target);
    String taxonomyDirectoryNameActual = (String) taxonomyDirectoryNameField.get(target);
    boolean stringDirectoriesActual = stringDirectoriesField.getBoolean(target);
    boolean initializedActual = initializedField.getBoolean(target);
    Search searchFieldActual = (Search) searchField.get(target);
    IndexReader indexReaderActual = (IndexReader) indexReaderField.get(target);
    IndexSearcher indexSearcherActual = (IndexSearcher) indexSearcherField.get(target);
    TaxonomyReader taxonomyReaderActual = (TaxonomyReader) taxonomyReaderField.get(target);

    // Create the Collector to be passed in and execute a search to populate it.
    final TopFieldCollector collector = getDummyCollector();
    final FacetsCollector facetsCollector = getDummyFacetsCollector((DirectoryReader) indexReaderActual,
            taxonomyReaderActual);
    final Collector testCollector = MultiCollector.wrap(collector, facetsCollector);

    target.createSearch("Revision:5*");
    target.search(testCollector);

    // Test
    assertEquals(true, initializedActual);
    assertEquals(2, collector.topDocs().totalHits);
}