public void add(SearchRequest q) { cache.put(hashQuery(q), ((Request) q).getResultSet()); }
public void add(SearchRequest q) { cache.put(hashQuery(q), ((Request) q).getResultSet()); }
@Override public void writeResults(OutputStream os, SearchRequest q, String method, String iteration, int numberOfResults) throws IOException { final ResultSet rs = ((Request) q).getResultSet(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF(q.getQueryID()); ((Writable)rs).write(dos); dos.flush(); dos = null; logger.debug("Wrote " + rs.getResultSize() + " results for query " + q.getQueryID()); }
@Override public void writeResults(OutputStream os, SearchRequest q, String method, String iteration, int numberOfResults) throws IOException { final ResultSet rs = ((Request) q).getResultSet(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF(q.getQueryID()); ((Writable)rs).write(dos); dos.flush(); dos = null; logger.debug("Wrote " + rs.getResultSize() + " results for query " + q.getQueryID()); }
@Override public void process(Manager manager, Request q) { logger.info("Applying " + this.getInfo()); Request rq = (Request) q; //make the current resultset into a FeaturedResultSet FeaturedResultSet rs = q.getResultSet() instanceof FeaturedResultSet ? (FeaturedResultSet) q.getResultSet() : new FeaturedQueryResultSet(q.getResultSet()); rq.setResultSet(rs); //add labels to the resultset int[] docids = rs.getDocids(); rs.setLabels(getValues(rq, docids)); rs.setDefaultLabel(defLabel); }
@Override public void process(Manager manager, Request q) { logger.info("Applying " + this.getInfo()); Request rq = (Request) q; //make the current resultset into a FeaturedResultSet FeaturedResultSet rs = q.getResultSet() instanceof FeaturedResultSet ? (FeaturedResultSet) q.getResultSet() : new FeaturedQueryResultSet(q.getResultSet()); rq.setResultSet(rs); //add labels to the resultset int[] docids = rs.getDocids(); rs.setLabels(getValues(rq, docids)); rs.setDefaultLabel(defLabel); }
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 ResultSet retrieve(String query) { StringBuffer sb = new StringBuffer(); sb.append(query); Manager queryingManager = new LocalManager((Index)index); SearchRequest srq = queryingManager.newSearchRequest("query", sb.toString()); srq.setControl(SearchRequest.CONTROL_WMODEL,"DirichletLM"); srq.setOriginalQuery(sb.toString()); queryingManager.runSearchRequest(srq); return ((Request) srq).getResultSet(); }
@Override public void printResults(PrintWriter pw, SearchRequest q, String method, String iteration, int numberOfResults) throws IOException { ResultSet r = ((Request) q).getResultSet(); StaTools.standardNormalisation(r.getScores()); if (r instanceof FeaturedResultSet) { final FeaturedResultSet frs = (FeaturedResultSet)r; final String[] featNames = frs.getFeatureNames(); final int f = featNames.length; for (int j = 0; j < f; j++) { StaTools.standardNormalisation(frs.getFeatureScores(featNames[j])); } } super.printResults(pw, q, method, iteration, numberOfResults); }
@Override public void printResults(PrintWriter pw, SearchRequest q, String method, String iteration, int numberOfResults) throws IOException { ResultSet r = ((Request) q).getResultSet(); StaTools.standardNormalisation(r.getScores()); if (r instanceof FeaturedResultSet) { final FeaturedResultSet frs = (FeaturedResultSet)r; final String[] featNames = frs.getFeatureNames(); final int f = featNames.length; for (int j = 0; j < f; j++) { StaTools.standardNormalisation(frs.getFeatureScores(featNames[j])); } } super.printResults(pw, q, method, iteration, numberOfResults); }
@Test public void testSimpleRetrieval() throws Exception { Index index = IndexTestUtils.makeIndex(new String[]{"doc1"}, new String[]{"The quick brown fox jumps over the lazy dog"}); Manager m = new LocalManager(index); SearchRequest srq; srq = m.newSearchRequest("testQuery", "fox fox dog"); srq.setControl(SearchRequest.CONTROL_WMODEL, PL2.class.getName()); m.runSearchRequest(srq); assertNotNull(((Request) srq).getResultSet()); assertEquals(1, ((Request) srq).getResultSet().getResultSize()); assertEquals(0, ((Request) srq).getResultSet().getDocids()[0]); }
public static ResultSet query(String query,Index index) { ApplicationSetup.setProperty("ignore.low.idf.terms", "false"); Manager mgr = new LocalManager(index); assertNotNull(mgr); SearchRequest srq = mgr.newSearchRequest(query, query); assertNotNull(srq); srq.setControl(SearchRequest.CONTROL_WMODEL, "TF_IDF"); mgr.runSearchRequest(srq); ResultSet result = ((Request) srq).getResultSet(); assertNotNull(result); return result; }
@Test public void testOneDocument() throws Exception { Index index = createIndex(); Manager m = new LocalManager(index); SearchRequest srq = m.newSearchRequest("test", "fox"); srq.setControl(SearchRequest.CONTROL_WMODEL, TF_IDF.class.getName()); m.runSearchRequest(srq); ResultSet rs = ((Request) srq).getResultSet(); assertEquals(1, rs.getResultSize()); SimpleDecorate decorate = new SimpleDecorate(); decorate.new_query(m, srq, rs); decorate.filter(m, srq, rs, 0, rs.getDocids()[0]); assertEquals(1, rs.getMetaKeys().length); assertEquals("doc1", rs.getMetaItems("filename")[0]); }
@Test public void testOneDocumentSummary() throws Exception { Index index = createIndex(); Manager m = new LocalManager(index); ResultSet rs; Decorate decorate; SearchRequest srq; srq = performQuery(m, "lorem ipsum"); rs = ((Request) srq).getResultSet(); assertEquals(1, rs.getResultSize()); srq.setControl("emphasis", "abstract"); srq.setControl("summaries", "abstract"); decorate = new Decorate(); decorate.new_query(m, srq, rs); decorate.filter(m, srq, rs, 0, rs.getDocids()[0]); assertEquals(3, rs.getMetaKeys().length); assertEquals("doc2", rs.getMetaItems("filename")[0]); assertTrue(rs.getMetaItems("abstract")[0].contains("Lorem Ipsum is simply dummy")); assertTrue(rs.getMetaItems("abstract_emph")[0].contains("<b>Lorem</b> <b>Ipsum</b> is simply dummy")); }
@Test public void testOneDocumentSummaryField() throws Exception { Index index = createIndex(); Manager m = new LocalManager(index); ResultSet rs; Decorate decorate; SearchRequest srq; srq = performQuery(m, "lorem ipsum"); rs = ((Request) srq).getResultSet(); assertEquals(1, rs.getResultSize()); srq.setControl("emphasis", "abstract"); srq.setControl("summaries", "abstract"); decorate = new Decorate(); ((Request)srq).setOriginalQuery("field:since"); assertEquals("field:since", srq.getOriginalQuery()); decorate.new_query(m, srq, rs); decorate.filter(m, srq, rs, 0, rs.getDocids()[0]); assertEquals(3, rs.getMetaKeys().length); assertEquals("doc2", rs.getMetaItems("filename")[0]); assertTrue(rs.getMetaItems("abstract")[0].startsWith("Lorem Ipsum has been the industry's standard dummy text ever since")); assertTrue(rs.getMetaItems("abstract_emph")[0].startsWith("Lorem Ipsum has been the industry's standard dummy text ever <b>since</b>")); }
@Test public void testTwoDocuments() throws Exception { Index index = createIndex(); Manager m = new LocalManager(index); SearchRequest srq = m.newSearchRequest("test", "fox foxes"); srq.setControl(SearchRequest.CONTROL_WMODEL, TF_IDF.class.getName()); m.runSearchRequest(srq); ResultSet rs = ((Request) srq).getResultSet(); assertEquals(2, rs.getResultSize()); SimpleDecorate decorate = new SimpleDecorate(); decorate.new_query(m, srq, rs); decorate.filter(m, srq, rs, 0, rs.getDocids()[0]); decorate.filter(m, srq, rs, 1, rs.getDocids()[1]); assertEquals(1, rs.getMetaKeys().length); assertEquals("doc1", rs.getMetaItems("filename")[1]); assertEquals("doc2", rs.getMetaItems("filename")[0]); } }
@Test public void testOneDocumentBasic() throws Exception { Index index = createIndex(); Manager m = new LocalManager(index); ResultSet rs; Decorate decorate; SearchRequest srq; //postfilter srq = performQuery(m, "fox"); rs = ((Request) srq).getResultSet(); assertEquals(1, rs.getResultSize()); decorate = new Decorate(); decorate.new_query(m, srq, rs); decorate.filter(m, srq, rs, 0, rs.getDocids()[0]); assertEquals(2, rs.getMetaKeys().length); assertEquals("doc1", rs.getMetaItems("filename")[0]); assertEquals("The quick brown fox jumps over the lazy dog", rs.getMetaItems("abstract")[0]); }
@Test public void testOneDocumentEscape() throws Exception { Index index = createIndex(); Manager m = new LocalManager(index); ResultSet rs; Decorate decorate; SearchRequest srq; srq = performQuery(m, "fox"); rs = ((Request) srq).getResultSet(); assertEquals(1, rs.getResultSize()); srq.setControl("escape", "abstract"); decorate = new Decorate(); decorate.new_query(m, srq, rs); decorate.filter(m, srq, rs, 0, rs.getDocids()[0]); assertEquals(2, rs.getMetaKeys().length); assertEquals("doc1", rs.getMetaItems("filename")[0]); assertEquals("The+quick+brown+fox+jumps+over+the+lazy+dog", rs.getMetaItems("abstract")[0]); }
@Test public void testOneDocumentBasicEarly() throws Exception { Index index = createIndex(); Manager m = new LocalManager(index); ResultSet rs; Decorate decorate; SearchRequest srq; //postprocess srq = performQuery(m, "fox"); srq.setControl("earlyDecorate", "filename;abstract"); rs = ((Request) srq).getResultSet(); assertEquals(1, rs.getResultSize()); decorate = new Decorate(); decorate.process(m, (Request)srq); decorate.new_query(m, srq, rs); decorate.filter(m, srq, rs, 0, rs.getDocids()[0]); assertEquals(2, rs.getMetaKeys().length); assertEquals("doc1", rs.getMetaItems("filename")[0]); assertEquals("The quick brown fox jumps over the lazy dog", rs.getMetaItems("abstract")[0]); }
@Test public void testOneDocumentEmph() throws Exception { Index index = createIndex(); Manager m = new LocalManager(index); ResultSet rs; Decorate decorate; SearchRequest srq; //postfilter srq = performQuery(m, "fox"); rs = ((Request) srq).getResultSet(); assertEquals(1, rs.getResultSize()); srq.setControl("emphasis", "abstract"); decorate = new Decorate(); decorate.new_query(m, srq, rs); decorate.filter(m, srq, rs, 0, rs.getDocids()[0]); assertEquals(3, rs.getMetaKeys().length); assertEquals("doc1", rs.getMetaItems("filename")[0]); assertEquals("The quick brown fox jumps over the lazy dog", rs.getMetaItems("abstract")[0]); assertEquals("The quick brown <b>fox</b> jumps over the lazy dog", rs.getMetaItems("abstract_emph")[0]); }