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.browseengine.bobo.geosearch.index.impl.GeoQueryTest.java

License:Apache License

private Directory buildEmptyDirectory() throws IOException {
    RAMDirectory directory = new RAMDirectory();
    Version version = Version.LUCENE_CURRENT;
    Analyzer analyzer = new StandardAnalyzer(version);
    IndexWriterConfig indexWriterConfig = new IndexWriterConfig(version, analyzer);
    IndexWriter writer = new IndexWriter(directory, indexWriterConfig);
    writer.close();//  w ww . j a v  a 2 s .  com
    return directory;
}

From source file:com.browseengine.bobo.geosearch.index.impl.GeoSegmentReaderTest.java

License:Apache License

@Test
public void test_fileNotFoundGivesZeroGeoRecords() throws Exception {
    Directory ramDir = new RAMDirectory();
    String fileName = "abc.geo";
    GeoSegmentReader<CartesianGeoRecord> geoSegmentReader = new GeoSegmentReader<CartesianGeoRecord>(ramDir,
            fileName, -1, 16 * 1024, new CartesianGeoRecordSerializer(), new CartesianGeoRecordComparator());
    CartesianGeoRecord minValue = CartesianGeoRecord.MIN_VALID_GEORECORD;
    CartesianGeoRecord maxValue = CartesianGeoRecord.MAX_VALID_GEORECORD;
    Iterator<CartesianGeoRecord> iterator = geoSegmentReader.getIterator(minValue, maxValue);
    assertTrue("iterator for FNF had content, but shouldn't have had any", !iterator.hasNext());
}

From source file:com.browseengine.bobo.geosearch.index.impl.GeoSegmentReaderTest.java

License:Apache License

@Test
public void test_WriteThenRead() {

    for (int i = 0; i < 100; i++) {
        try {/*from www. j  av a2s.co  m*/
            // Create a random binary tree or records. 
            int len = 10 + (int) (100 * Math.random());
            TreeSet<CartesianGeoRecord> tree = getRandomBTreeOrderedByBitMag(len);

            GeoSearchConfig geoConf = new GeoSearchConfig();
            geoConf.setGeoFileExtension("gto");
            GeoSegmentInfo geoSegmentInfo = buildGeoSegmentInfo(GeoVersion.CURRENT_VERSION);

            IGeoRecordSerializer<CartesianGeoRecord> geoRecordSerializer = new CartesianGeoRecordSerializer();

            RAMDirectory dir = new RAMDirectory();
            String fileName = geoSegmentInfo.getSegmentName() + "." + geoConf.getGeoFileExtension();
            GeoSegmentWriter<CartesianGeoRecord> geoOut = new GeoSegmentWriter<CartesianGeoRecord>(tree, dir,
                    fileName, geoSegmentInfo, geoRecordSerializer);
            assertTrue("Not a full binary tree. ", geoOut.getMaxIndex() < geoOut.getArrayLength());
            geoOut.close();

            GeoSegmentReader<CartesianGeoRecord> geoRand = new GeoSegmentReader<CartesianGeoRecord>(dir,
                    fileName, -1, 16 * 1024, new CartesianGeoRecordSerializer(),
                    new CartesianGeoRecordComparator());
            validate_IteratorFunctionality(geoRand);
            validate_CompleteTreeIsOrderedCorrectly(geoRand);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

From source file:com.browseengine.bobo.geosearch.index.impl.GeoSegmentReaderTest.java

License:Apache License

@Test
public void test_WriteThenRead_V1() throws IOException {
    int len = 100;
    int idBytes = 16;

    GeoSearchConfig geoConf = new GeoSearchConfig();
    geoConf.setGeoFileExtension("gto");

    GeoSegmentInfo geoSegmentInfo = buildGeoSegmentInfo(GeoVersion.CURRENT_GEOONLY_VERSION);
    geoSegmentInfo.setBytesPerRecord(idBytes + IDGeoRecordSerializer.INTERLACE_BYTES);

    RAMDirectory dir = new RAMDirectory();
    String fileName = geoSegmentInfo.getSegmentName() + "." + geoConf.getGeoFileExtension();
    IDGeoRecordSerializer geoRecordSerializer = new IDGeoRecordSerializer();

    //build data/*from w w w.  j av a 2 s.  c  om*/
    TreeSet<IDGeoRecord> tree = new TreeSet<IDGeoRecord>(new IDGeoRecordComparator());
    for (int i = 0; i < len; i++) {
        byte[] id = new byte[idBytes];
        for (int idIndex = 0; idIndex < idBytes; idIndex++) {
            id[idIndex] = (byte) (i - idIndex);
        }
        IDGeoRecord geoRecord = new IDGeoRecord(100 * i, i, id);
        tree.add(geoRecord);
    }

    //write data
    GeoSegmentWriter<IDGeoRecord> geoOut = new GeoSegmentWriter<IDGeoRecord>(tree, dir, fileName,
            geoSegmentInfo, geoRecordSerializer);
    assertTrue("Not a full binary tree. ", geoOut.getMaxIndex() < geoOut.getArrayLength());
    geoOut.close();

    //read and verify data
    GeoSegmentReader<CartesianGeoRecord> geoSegmentReader = new GeoSegmentReader<CartesianGeoRecord>(dir,
            fileName, -1, 16 * 1024, new CartesianGeoRecordSerializer(), new CartesianGeoRecordComparator());
    validate_IteratorFunctionality(geoSegmentReader);
    validate_CompleteTreeIsOrderedCorrectly(geoSegmentReader);
}

From source file:com.browseengine.bobo.geosearch.merge.impl.BufferedGeoMergerTest.java

License:Apache License

@Before
public void setUp() {
    geoConfig = new GeoSearchConfig();
    geoMergeInfo = context.mock(IGeoMergeInfo.class);

    dir = new RAMDirectory();
    geoConverter = geoConfig.getGeoConverter();
    geoUtil = geoConfig.getGeoUtil();/*from www.ja v  a 2s  .c  o m*/

    bufferedGeoMerger = new BufferedGeoMerger() {
        @Override
        public BTree<CartesianGeoRecord> getInputBTree(Directory directory, String geoFileName,
                int bufferSizePerGeoReader) {
            return inputTrees.get(geoFileName);
        }

        @Override
        public BTree<CartesianGeoRecord> getOutputBTree(int newSegmentSize,
                Iterator<CartesianGeoRecord> inputIterator, Directory directory, String outputFileName,
                GeoSegmentInfo geoSegmentInfo) throws IOException {
            outputTree = new GeoRecordBTree(newSegmentSize, inputIterator, directory, outputFileName,
                    geoSegmentInfo);
            return outputTree;
        }

        @Override
        public boolean loadFieldNameFilterConverter(Directory directory, String geoFileName,
                IFieldNameFilterConverter fieldNameFilterConverter) throws IOException {
            return true;
        }
    };

    expectedOutputTree = geoUtil.getBinaryTreeOrderedByBitMag();
}

From source file:com.browseengine.bobo.geosearch.query.GeoScorerTest.java

License:Apache License

private Directory buildEmptyDirectory() throws IOException {
    RAMDirectory directory = new RAMDirectory();

    Version version = Version.LUCENE_CURRENT;
    Analyzer analyzer = new StandardAnalyzer(version);
    IndexWriterConfig indexWriterConfig = new IndexWriterConfig(version, analyzer);
    IndexWriter writer = new IndexWriter(directory, indexWriterConfig);

    writer.close();//ww  w.j a  v a2  s. co m

    return directory;
}

From source file:com.browseengine.bobo.geosearch.solo.index.impl.GeoOnlyIndexerTest.java

License:Apache License

@SuppressWarnings("unchecked")
@Before//from   ww  w  .j av  a 2s. co  m
public void setUp() throws IOException {
    indexName = UUID.randomUUID().toString();
    config = new GeoSearchConfig();
    directory = new RAMDirectory();
    directory.setLockFactory(new LockFactory() {
        @Override
        public void clearLock(String arg0) throws IOException {
            //do nothing
        }

        @Override
        public Lock makeLock(String arg0) {
            return mockLock;
        }
    });

    mockGeoSegmentReader = context.mock(GeoSegmentReader.class);
    mockGeoSegmentWriter = context.mock(GeoSegmentWriter.class);
    mockLock = context.mock(Lock.class);

    expectLockObtain();
    geoConverter = new GeoConverter();

    indexer = new GeoOnlyIndexer(config, directory, indexName) {
        @Override
        GeoSegmentWriter<IDGeoRecord> getGeoSegmentWriter(Set<IDGeoRecord> dataToFlush) {
            lastDataFlushed = dataToFlush;
            return mockGeoSegmentWriter;
        }

        @Override
        GeoSegmentReader<IDGeoRecord> getGeoSegmentReader() {
            return mockGeoSegmentReader;
        }
    };

    context.assertIsSatisfied();
}

From source file:com.browseengine.bobo.geosearch.solo.search.impl.GeoOnlySearcherTest.java

License:Apache License

@SuppressWarnings("unchecked")
@Before/*ww  w  .ja v  a  2 s.c om*/
public void setUp() throws IOException {
    indexName = UUID.randomUUID().toString();
    config = new GeoSearchConfig();
    directory = new RAMDirectory();

    mockGeoSegmentReader = context.mock(GeoSegmentReader.class);

    geoConverter = new GeoConverter();

    searcher = new GeoOnlySearcher(config, directory, indexName) {
        @Override
        GeoSegmentReader<IDGeoRecord> getGeoSegmentReader() {
            return mockGeoSegmentReader;
        }
    };
}

From source file:com.browseengine.bobo.test.BoboTestCase.java

License:Open Source License

private Directory createIndex() {
    RAMDirectory idxDir = new RAMDirectory();

    try {//from   w ww  . j a v  a 2  s.co m
        Document[] data = buildData();

        TestDataDigester testDigester = new TestDataDigester(_fconf, data);
        BoboIndexer indexer = new BoboIndexer(testDigester, idxDir);
        indexer.index();
        IndexReader r = IndexReader.open(idxDir, false);
        r.deleteDocument(r.maxDoc() - 1);
        //r.flush();
        r.close();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return idxDir;

}

From source file:com.browseengine.bobo.test.FacetNameTest.java

License:Apache License

private Directory createIndex() {
    Directory dir = new RAMDirectory();
    try {//from   w  ww.j  av  a 2 s . com
        Document[] data = createData();

        TestDataDigester testDigester = new TestDataDigester(_facetHandlers, data);
        BoboIndexer indexer = new BoboIndexer(testDigester, dir);
        indexer.index();
        IndexReader r = IndexReader.open(dir, false);
        r.close();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return dir;
}