/** * {@inheritDoc} */ public void setIndex(Index index){ doi = index.getDocumentIndex(); } /**
/** * {@inheritDoc} */ public void setIndex(Index index){ doi = index.getDocumentIndex(); } /**
/** {@inheritDoc} */ public DocumentIndex getDocumentIndex() { int ondisk = indices.size(); int[] offsets = new int[ondisk]; DocumentIndex[] docs = new DocumentIndex[ondisk]; int i =0; for (Index index : selectiveMatchingPolicy.getSelectedIndices(indices)) { docs[i] = index.getDocumentIndex(); offsets[i] = index.getCollectionStatistics() .getNumberOfDocuments(); i++; } return new MultiDoc(docs, offsets); }
@Override public void configureIndex(Index index) { lastIndex = index; documentIndex = index.getDocumentIndex(); invertedIndex = index.getInvertedIndex(); lexicon = index.getLexicon(); collStats = index.getCollectionStatistics(); directIndex = index.getDirectIndex(); metaIndex = index.getMetaIndex(); } /** Obtain the query expansion model for QE to use.
@Override public void configureIndex(Index index) { lastIndex = index; documentIndex = index.getDocumentIndex(); invertedIndex = index.getInvertedIndex(); lexicon = index.getLexicon(); collStats = index.getCollectionStatistics(); directIndex = index.getDirectIndex(); metaIndex = index.getMetaIndex(); } /** Obtain the query expansion model for QE to use.
public static Index makeConcurrentForRetrieval(Index index) { if (index.hasIndexStructure("document") && ! index.getDocumentIndex().getClass().isAnnotationPresent(ConcurrentReadable.class) ) DocumentIndex oldDoi = index.getDocumentIndex(); if (oldDoi instanceof FieldDocumentIndex) newDoi = new ConcurrentFieldDocumentIndex((FieldDocumentIndex)oldDoi);
public static Index makeConcurrentForRetrieval(Index index) { if (index.hasIndexStructure("document") && ! index.getDocumentIndex().getClass().isAnnotationPresent(ConcurrentReadable.class) ) DocumentIndex oldDoi = index.getDocumentIndex(); if (oldDoi instanceof FieldDocumentIndex) newDoi = new ConcurrentFieldDocumentIndex((FieldDocumentIndex)oldDoi);
DocumentIndex doi = index.getDocumentIndex(); MetaIndex meta = index.getMetaIndex(); boolean printmeta = line.hasOption("meta");
DocumentIndex doi = index.getDocumentIndex(); MetaIndex meta = index.getMetaIndex(); boolean printmeta = line.hasOption("meta");
@Test public void test() throws Exception { PrintWriter p = new PrintWriter(Files.writeFileWriter(ApplicationSetup.COLLECTION_SPEC)); p.println(System.getProperty("user.dir") + "/../../share/tests/shakespeare/shakespeare-merchant.trec.1"); p.println(System.getProperty("user.dir") + "/../../share/tests/shakespeare/shakespeare-merchant.trec.2"); p.close(); CLITool.main(new String[]{"batchindexing", "-b"}); Index index = Index.createIndex(); assertNotNull(index); assertEquals(22, index.getCollectionStatistics().getNumberOfDocuments()); assertTrue( index.getDirectIndex().getPostings(index.getDocumentIndex().getDocumentEntry(0)) instanceof BlockPosting ); }
@Test public void testParallel() throws Exception { PrintWriter p = new PrintWriter(Files.writeFileWriter(ApplicationSetup.COLLECTION_SPEC)); p.println(System.getProperty("user.dir") + "/../../share/tests/shakespeare/shakespeare-merchant.trec.1"); p.println(System.getProperty("user.dir") + "/../../share/tests/shakespeare/shakespeare-merchant.trec.2"); p.close(); CLITool.main(new String[]{"batchindexing", "-b", "-p"}); Index index = Index.createIndex(); assertNotNull(index); assertEquals(22, index.getCollectionStatistics().getNumberOfDocuments()); assertTrue( index.getDirectIndex().getPostings(index.getDocumentIndex().getDocumentEntry(0)) instanceof BlockPosting ); }
"structureName" }); if(memory.getDocumentIndex() instanceof MemoryDocumentIndexMap) newIndex.addIndexStructure(
DocumentIndex di = index.getDocumentIndex(); assertNotNull("Failed to get a document index", di); final int numberOfDocuments = index.getCollectionStatistics().getNumberOfDocuments();
@Test public void test_incremental() throws Exception { ApplicationSetup.setProperty("indexer.meta.forward.keys", "filename"); ApplicationSetup.setProperty("indexer.meta.reverse.keys", "filename"); ApplicationSetup.setProperty("termpipelines", ""); MemoryIndexer indexer = new MemoryIndexer(); assertNotNull(indexer); MemoryIndex index = (MemoryIndex) indexer.getIndex(); assertNotNull(index); assertEquals(0, indexer.getIndex().getDocumentIndex() .getNumberOfDocuments()); assertEquals(0, indexer.getIndex().getLexicon().numberOfEntries()); indexer.createDirectIndex(new Collection[] { collection }); indexer.createInvertedIndex(); assertEquals(2, indexer.getIndex().getDocumentIndex() .getNumberOfDocuments()); assertEquals(4, indexer.getIndex().getLexicon().numberOfEntries()); for (Document doc : docs2) index.indexDocument(doc); assertEquals(5, indexer.getIndex().getDocumentIndex() .getNumberOfDocuments()); assertEquals(12, indexer.getIndex().getLexicon().numberOfEntries()); }
@Override public void checkIndex(BatchEndToEndTest test, Index index) throws Exception { //no check correct type of all structures PostingIndexInputStream bpiis; IterablePosting ip; PostingIndex<Pointer> bpi; //check stream structures bpiis = (PostingIndexInputStream) index.getIndexStructureInputStream("direct"); ip = bpiis.next(); assertTrue(ip instanceof BlockPosting); bpiis.close(); bpiis = (PostingIndexInputStream) index.getIndexStructureInputStream("inverted"); ip = bpiis.next(); assertTrue(ip instanceof BlockPosting); bpiis.close(); //check random structures bpi = (PostingIndex<Pointer>) index.getInvertedIndex(); ip = bpi.getPostings(index.getLexicon().getLexiconEntry(0).getValue()); assertTrue(ip instanceof BlockPosting); bpi = (PostingIndex<Pointer>) index.getDirectIndex(); ip = bpi.getPostings(index.getDocumentIndex().getDocumentEntry(0)); assertTrue(ip instanceof BlockPosting); } }
assertTrue(ip instanceof FieldPosting); bpi = (PostingIndex<Pointer>) index.getDirectIndex(); ip = bpi.getPostings(index.getDocumentIndex().getDocumentEntry(0)); assertTrue(ip instanceof FieldPosting);
DocumentIndex doi = index.getDocumentIndex(); assertEquals(3, doi.getDocumentLength(0)); assertEquals(4, doi.getDocumentLength(1)); DocumentIndex documentIndex = index.getDocumentIndex();
CollectionStatistics stats1 = index1.getCollectionStatistics(); assertNotNull(stats1); CollectionStatistics stats2 = index2.getCollectionStatistics(); assertNotNull(stats2); DocumentIndex docindex1 = index1.getDocumentIndex(); assertNotNull(docindex1); DocumentIndex docindex2 = index2.getDocumentIndex(); assertNotNull(docindex2);
DocumentIndex doi = index.getDocumentIndex(); for(int docid2 : doc2term2freqs.keys())
assertEquals(2, index.getCollectionStatistics().getFieldTokens()[0]); assertEquals(7, index.getCollectionStatistics().getFieldTokens()[1]); assertEquals(9, index.getDocumentIndex().getDocumentLength(0)); Matching matching = makeMatching(index); assertNotNull(matching);