/** * {@inheritDoc} */ public void setIndex(Index index){ metaIndex = index.getMetaIndex(); } /**
/** * {@inheritDoc} */ public void setIndex(Index index){ metaIndex = index.getMetaIndex(); } /**
protected int getDocid(String docno) throws IOException { if (format.equals(InputFormat.DOCNO)) { return index.getMetaIndex().getDocument("docno", docno); } else { return Integer.parseInt(docno); } }
protected int getDocid(String docno) throws IOException { if (format.equals(InputFormat.DOCNO)) { return index.getMetaIndex().getDocument("docno", docno); } else { return Integer.parseInt(docno); } }
/** * {@inheritDoc} */ public void new_query(Manager m, SearchRequest srq, ResultSet rs) { meta = ((Request)srq).getIndex().getMetaIndex(); decorateKeys = meta.getKeys(); }
/** * {@inheritDoc} */ public void new_query(Manager m, SearchRequest srq, ResultSet rs) { meta = ((Request)srq).getIndex().getMetaIndex(); decorateKeys = meta.getKeys(); }
protected void loadDocno2score(Index index) { String inputFile = ApplicationSetup.getProperty("ssa.input.file",""); try { String line = null; BufferedReader br = Files.openFileReader(inputFile); staticScores = new double[index.getCollectionStatistics().getNumberOfDocuments()]; MetaIndex m = index.getMetaIndex(); while((line = br.readLine())!= null) { final String[] parts = line.split("\\s+"); final int docid = m.getDocument("docno", parts[0]); if (docid < 0) { logger.warn("Docno " + parts[0] + " not found" ); continue; } staticScores[docid] = Double.parseDouble(parts[1]); } printStats(staticScores); br.close(); } catch (Exception e) { System.err.println("Problem opening file: \""+inputFile+"\" : "+e); e.printStackTrace(); } }
protected void loadDocno2score(Index index) { String inputFile = ApplicationSetup.getProperty("ssa.input.file",""); try { String line = null; BufferedReader br = Files.openFileReader(inputFile); staticScores = new double[index.getCollectionStatistics().getNumberOfDocuments()]; MetaIndex m = index.getMetaIndex(); while((line = br.readLine())!= null) { final String[] parts = line.split("\\s+"); final int docid = m.getDocument("docno", parts[0]); if (docid < 0) { logger.warn("Docno " + parts[0] + " not found" ); continue; } staticScores[docid] = Double.parseDouble(parts[1]); } printStats(staticScores); br.close(); } catch (Exception e) { System.err.println("Problem opening file: \""+inputFile+"\" : "+e); e.printStackTrace(); } }
/** {@inheritDoc} */ public MetaIndex getMetaIndex() { int ondisk = indices.size(); int[] offsets = new int[ondisk]; MetaIndex[] metas = new MetaIndex[ondisk]; int i =0; for (Index index : selectiveMatchingPolicy.getSelectedIndices(indices)) { metas[i] = index.getMetaIndex(); offsets[i] = index.getCollectionStatistics() .getNumberOfDocuments(); i++; } return new MultiMeta(metas, offsets); }
/** method which extracts the docnos for the prescribed resultset */ protected String[] obtainDocnos(final String metaIndexDocumentKey, final SearchRequest q, final ResultSet set) throws IOException { String[] docnos; if (set.hasMetaItems(metaIndexDocumentKey)) { docnos = set.getMetaItems(metaIndexDocumentKey); } else if (index == null && q instanceof Request) { final MetaIndex metaIndex = ((Request)q).getIndex().getMetaIndex(); docnos = metaIndex.getItems(metaIndexDocumentKey, set.getDocids()); } else if (index != null) { final MetaIndex metaIndex = index.getMetaIndex(); docnos = metaIndex.getItems(metaIndexDocumentKey, set.getDocids()); } else { throw new IllegalStateException("Could not obtain meta for key "+metaIndexDocumentKey + " perhaps decorate:on was missing?"); } boolean NDN = false; for (int i =0; i<docnos.length; i++) { if (docnos[i]==null || docnos[i].length()==0) { String diagnosticDOCNO = "NDN_DOCID_"+set.getDocids()[i]; docnos[i] = diagnosticDOCNO; NDN = true; } } if (NDN) logger.warn("Not all docnos were found in the meta index during obtainDocnos(), some diagnostic docnos were added. "); return docnos; }
/** method which extracts the docnos for the prescribed resultset */ protected String[] obtainDocnos(final String metaIndexDocumentKey, final SearchRequest q, final ResultSet set) throws IOException { String[] docnos; if (set.hasMetaItems(metaIndexDocumentKey)) { docnos = set.getMetaItems(metaIndexDocumentKey); } else if (index == null && q instanceof Request) { final MetaIndex metaIndex = ((Request)q).getIndex().getMetaIndex(); docnos = metaIndex.getItems(metaIndexDocumentKey, set.getDocids()); } else if (index != null) { final MetaIndex metaIndex = index.getMetaIndex(); docnos = metaIndex.getItems(metaIndexDocumentKey, set.getDocids()); } else { throw new IllegalStateException("Could not obtain meta for key "+metaIndexDocumentKey + " perhaps decorate:on was missing?"); } boolean NDN = false; for (int i =0; i<docnos.length; i++) { if (docnos[i]==null || docnos[i].length()==0) { String diagnosticDOCNO = "NDN_DOCID_"+set.getDocids()[i]; docnos[i] = diagnosticDOCNO; NDN = true; } } if (NDN) logger.warn("Not all docnos were found in the meta index during obtainDocnos(), some diagnostic docnos were added. "); return docnos; }
String docno = rsHasDocno ? rs.getMetaItems("docno")[rank] : IndexFactory.of(m.getIndexRef()).getMetaIndex().getItem("docno", docid); String[] sScope = docno.split("-"); if (! AllowedScopes.contains(sScope[0].toLowerCase()))
String docno = rsHasDocno ? rs.getMetaItems("docno")[rank] : IndexFactory.of(m.getIndexRef()).getMetaIndex().getItem("docno", docid); String[] sScope = docno.split("-"); if (! AllowedScopes.contains(sScope[0].toLowerCase()))
public String[] getValues(Request rq, int[] targetIds) { final int n = targetIds.length; final String[] targetValues = new String[n]; try { String[] docnos = rq.getResultSet().getMetaItems("docno"); if (docnos == null) { final MetaIndex mi = rq.getIndex().getMetaIndex(); docnos = mi.getItems("docno", targetIds); } final String qid = TRECQrelsInMemory.parseTRECQueryNo(rq.getQueryID()); for (int i = 0; i < n; i++) { targetValues[i] = String.valueOf(qrels.getGrade(qid, docnos[i], Integer.valueOf(defLabel))); } return targetValues; } catch (IOException e) { e.printStackTrace(); } return null; }
public String[] getValues(Request rq, int[] targetIds) { final int n = targetIds.length; final String[] targetValues = new String[n]; try { String[] docnos = rq.getResultSet().getMetaItems("docno"); if (docnos == null) { final MetaIndex mi = rq.getIndex().getMetaIndex(); docnos = mi.getItems("docno", targetIds); } final String qid = TRECQrelsInMemory.parseTRECQueryNo(rq.getQueryID()); for (int i = 0; i < n; i++) { targetValues[i] = String.valueOf(qrels.getGrade(qid, docnos[i], Integer.valueOf(defLabel))); } return targetValues; } catch (IOException e) { e.printStackTrace(); } return null; }
@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.
protected Index createIndexAbstract() throws Exception { ApplicationSetup.setProperty("indexer.meta.forward.keys", "filename,abstract"); ApplicationSetup.setProperty("indexer.meta.forward.keylens", "20,2048"); ApplicationSetup.setProperty("indexer.meta.reverse.keys", ""); ApplicationSetup.setProperty("FileDocument.abstract", "abstract"); ApplicationSetup.setProperty("FileDocument.abstract.length", "2048"); ApplicationSetup.setProperty("termpipelines", ""); Index index = IndexTestUtils.makeIndex( new String[]{"doc1", "doc2"}, new String[]{"The quick brown fox jumps over the lazy dog", "foxes"}); assertEquals(2, index.getMetaIndex().getKeys().length); assertEquals("filename", index.getMetaIndex().getKeys()[0]); assertEquals("abstract", index.getMetaIndex().getKeys()[1]); return index; }
protected Index createIndex() throws Exception { ApplicationSetup.setProperty("indexer.meta.forward.keys", "filename,abstract"); ApplicationSetup.setProperty("indexer.meta.forward.keylens", "20,2048"); ApplicationSetup.setProperty("indexer.meta.reverse.keys", ""); ApplicationSetup.setProperty("termpipelines", ""); ApplicationSetup.setProperty("FileDocument.abstract", "abstract"); ApplicationSetup.setProperty("FileDocument.abstract.length", "2048"); ApplicationSetup.setProperty("decorate.escape", "url"); Index index = IndexTestUtils.makeIndex( new String[]{"doc1", "doc2"}, new String[]{"The quick brown fox jumps over the lazy dog", TestDefaultSummariser.doc1}); assertEquals(2, index.getMetaIndex().getKeys().length); assertEquals("filename", index.getMetaIndex().getKeys()[0]); assertEquals("abstract", index.getMetaIndex().getKeys()[1]); return index; }
protected void checkRandom(Index index, String name, String[] docnos, String key, int offset, boolean reverse) throws Exception ? index.getMetaIndex() : (MetaIndex) index.getIndexStructure(name); assertNotNull(mi);