/** Create a posting list manager for the given index and statistics */ @SuppressWarnings("unchecked") protected PostingListManager(Index _index, CollectionStatistics cs) throws IOException { index = _index; lexicon = index.getLexicon(); invertedIndex = (PostingIndex<Pointer>) index.getInvertedIndex(); collectionStatistics = cs; }
/** Create a posting list manager for the given index and statistics */ @SuppressWarnings("unchecked") protected PostingListManager(Index _index, CollectionStatistics cs) throws IOException { index = _index; lexicon = index.getLexicon(); invertedIndex = (PostingIndex<Pointer>) index.getInvertedIndex(); collectionStatistics = cs; }
public ScoringMatching(Index _index, Matching _parent, WeightingModel _wm, Predicate<Pair<String,Set<String>>> _filter) { super(_index, _parent, _wm, _filter); if (this.index != null) { this.lexicon = index.getLexicon(); this.invertedIndex = index.getInvertedIndex(); this.cs = index.getCollectionStatistics(); } }
public ScoringMatching(Index _index, Matching _parent) { super(_index, _parent, null); if (this.index != null) { this.lexicon = index.getLexicon(); this.invertedIndex = index.getInvertedIndex(); this.cs = index.getCollectionStatistics(); } }
public ScoringMatching(Index _index, Matching _parent, WeightingModel _wm) { super(_index, _parent, _wm); if (this.index != null) { this.lexicon = index.getLexicon(); this.invertedIndex = index.getInvertedIndex(); this.cs = index.getCollectionStatistics(); } }
public ScoringMatching(Index _index, Matching _parent, WeightingModel _wm, Predicate<Pair<String,Set<String>>> _filter) { super(_index, _parent, _wm, _filter); if (this.index != null) { this.lexicon = index.getLexicon(); this.invertedIndex = index.getInvertedIndex(); this.cs = index.getCollectionStatistics(); } }
public ScoringMatching(Index _index, Matching _parent) { super(_index, _parent, null); if (this.index != null) { this.lexicon = index.getLexicon(); this.invertedIndex = index.getInvertedIndex(); this.cs = index.getCollectionStatistics(); } }
public ScoringMatching(Index _index, Matching _parent, WeightingModel _wm) { super(_index, _parent, _wm); if (this.index != null) { this.lexicon = index.getLexicon(); this.invertedIndex = index.getInvertedIndex(); this.cs = index.getCollectionStatistics(); } }
/** * Constructs an instance of the BaseMatching * @param _index */ @SuppressWarnings("unchecked") public BaseMatching(Index _index) { documentModifiers = new ArrayList<DocumentScoreModifier>(); this.index = _index; this.lexicon = _index.getLexicon(); this.invertedIndex = (PostingIndex<Pointer>) _index.getInvertedIndex(); this.collectionStatistics = _index.getCollectionStatistics(); String defaultDSMS = ApplicationSetup.getProperty("matching.dsms",""); try { for(String modifierName : defaultDSMS.split("\\s*,\\s*")) { if (modifierName.length() == 0) continue; if (modifierName.indexOf('.') == -1) modifierName = dsmNamespace + modifierName; documentModifiers.add(ApplicationSetup.getClass(modifierName).asSubclass(DocumentScoreModifier.class).newInstance()); } } catch(Exception e) { logger.error("Exception while initialising default modifiers. Please check the name of the modifiers in the configuration file.", e); } }
/** * Constructs an instance of the BaseMatching * @param _index */ @SuppressWarnings("unchecked") public BaseMatching(Index _index) { documentModifiers = new ArrayList<DocumentScoreModifier>(); this.index = _index; this.lexicon = _index.getLexicon(); this.invertedIndex = (PostingIndex<Pointer>) _index.getInvertedIndex(); this.collectionStatistics = _index.getCollectionStatistics(); String defaultDSMS = ApplicationSetup.getProperty("matching.dsms",""); try { for(String modifierName : defaultDSMS.split("\\s*,\\s*")) { if (modifierName.length() == 0) continue; if (modifierName.indexOf('.') == -1) modifierName = dsmNamespace + modifierName; documentModifiers.add(ApplicationSetup.getClass(modifierName).asSubclass(DocumentScoreModifier.class).newInstance()); } } catch(Exception e) { logger.error("Exception while initialising default modifiers. Please check the name of the modifiers in the configuration file.", e); } }
/** Opens the posting list for an index and lexicon entry **/ protected void openPostingLists(Index index, LexiconEntry[] les, IterablePosting[] ips) throws IOException { final Lexicon<String> lexicon = index.getLexicon(); for (int i = 0; i < phraseTerms.length; i++) { les[i] = lexicon.getLexiconEntry(phraseTerms[i]); if (les[i] != null) { ips[i] = index.getInvertedIndex().getPostings((Pointer) les[i]); } } }
/** Opens the posting list for an index and lexicon entry **/ protected void openPostingLists(Index index, LexiconEntry[] les, IterablePosting[] ips) throws IOException { final Lexicon<String> lexicon = index.getLexicon(); for (int i = 0; i < phraseTerms.length; i++) { les[i] = lexicon.getLexiconEntry(phraseTerms[i]); if (les[i] != null) { ips[i] = index.getInvertedIndex().getPostings((Pointer) les[i]); } } }
/** {@inheritDoc} */ @SuppressWarnings("unchecked") public PostingIndex<?> getInvertedIndex() { int ondisk = indices.size(); int[] offsets = new int[ondisk]; PostingIndex<?>[] postings = new PostingIndex[ondisk]; int currentoffset = 0; int i = 0; for (Index index : selectiveMatchingPolicy.getSelectedIndices(indices)) { postings[i] = index.getInvertedIndex(); offsets[i] = currentoffset; currentoffset += index.getCollectionStatistics() .getNumberOfDocuments(); i++; } return new MultiInverted((PostingIndex<Pointer>[]) postings, 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.
PostingIndex<?> invertedIndex = index.getInvertedIndex(); if (t == null) { logger.debug("Term Not Found: " + queryTerm);
PostingIndex<?> invertedIndex = index.getInvertedIndex(); if (t == null) { logger.debug("Term Not Found: " + queryTerm);
@SuppressWarnings("unchecked") @Test public void testOnePhraseOneDocument() throws Exception { ApplicationSetup.setProperty("termpipelines", ""); Index index = IndexTestUtils.makeIndexBlocks( new String[]{"doc1"}, new String[]{"dramatis personae"}); IterablePosting ip = PhraseIterablePosting.createPhrasePostingList( new String[]{"dramatis", "personae"}, index.getLexicon(), (PostingIndex<Pointer>) index.getInvertedIndex(), true); assertNotNull(ip); assertEquals(0, ip.next()); assertEquals(1, ip.getFrequency()); assertEquals(IterablePosting.EOL, ip.next()); }
@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); } }
@SuppressWarnings("unchecked") public static void checkContents(Index index, String term, int freq, int[] docids, int[] freqs, int[] docLens) throws Exception { Lexicon<String> lexicon = index.getLexicon(); assertNotNull(lexicon); LexiconEntry le = lexicon.getLexiconEntry(term); assertNotNull(le); assertEquals(freq, le.getFrequency()); assertEquals(docids.length, le.getDocumentFrequency()); PostingIndex<Pointer> inverted = (PostingIndex<Pointer>) index.getInvertedIndex(); assertNotNull(inverted); IterablePosting ip = inverted.getPostings(le); assertNotNull(ip); for(int i=0;i<docids.length;i++) { assertEquals(docids[i], ip.next()); assertEquals(docids[i], ip.getId()); assertEquals(freqs[i], ip.getFrequency()); assertEquals(docLens[i],ip.getDocumentLength()); } assertEquals(IterablePosting.EOL, ip.next()); }