@Override public Manager fromIndex(IndexRef ref) { Index index = IndexFactory.of(ref); assert index != null; return new LocalManager(index); }
@Override public Manager fromIndex(IndexRef ref) { Index index = IndexFactory.of(ref); assert index != null; return new LocalManager(index); }
@Test(expected=IllegalArgumentException.class) public void testNullIndexException() throws Exception { new LocalManager(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(); }
@Test public void testIndexAndRequestAreSet() throws Exception { Index index = IndexTestUtils.makeIndex( new String[]{"doc1", "doc2"}, new String[]{"The quick brown fox jumps over the lazy dog", "Exploring the zoo, we saw every kangaroo jump and quite a few carried babies."}); Manager m = new LocalManager(index); SearchRequest srq = m.newSearchRequestFromQuery("brown fox"); Request rq = (Request)srq; assertNotNull( rq.getIndex() ); srq.setControl(SearchRequest.CONTROL_MATCHING, org.terrier.matching.daat.Full.class.getName()); srq.setControl(SearchRequest.CONTROL_WMODEL, myModel.class.getName()); m.runSearchRequest(srq); srq.setControl(SearchRequest.CONTROL_MATCHING, org.terrier.matching.taat.Full.class.getName()); m.runSearchRequest(srq); }
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 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]); }
@Test public void testRequirementsFields() throws Exception { ApplicationSetup.setProperty("FieldTags.process", "title,content"); Index index = IndexTestUtils.makeIndexFields( new String[]{"doc1", "doc2"}, new String[]{ "<title>Animal</title><content>The quick brown fox jumps over the lazy dog</content>", //doc1 "<title>Dog</title><content>how much is that animal in the window</content>"}); //doc2 Manager m = new LocalManager(index); SearchRequest srq = null; //4, are documents retrieved: two terms, one of which is negative requirement srq = m.newSearchRequest("test1", "dog -title:Animal"); srq.setControl(SearchRequest.CONTROL_WMODEL, PL2.class.getName()); srq.setControl(SearchRequest.CONTROL_MATCHING, getMatchingClass().getName()); m.runSearchRequest(srq); //System.err.println(srq.getResultSet().getResultSize()); /*for (int i =0; i<srq.getResultSet().getDocids().length; i++) { System.err.println(" "+srq.getResultSet().getDocids()[i]+" "+srq.getResultSet().getScores()[i]); }*/ assertEquals(1, srq.getResults().size()); assertEquals(1, srq.getResults().get(0).getDocid()); }
@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 testCountingQueryTerms() 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; MatchingQueryTerms mqt; srq = m.newSearchRequest("testQuery", "fox fox dog"); srq.setControl(SearchRequest.CONTROL_WMODEL, PL2.class.getName()); m.runSearchRequest(srq); mqt = ((Request)srq).getMatchingQueryTerms(); assertEquals(1d, mqt.getTermWeight("fox"), 0.0d); assertEquals(0.5d, mqt.getTermWeight("dog"), 0.0d); srq = m.newSearchRequest("testQuery", "fox fox dog^1.3"); srq.setControl(SearchRequest.CONTROL_WMODEL, PL2.class.getName()); m.runSearchRequest(srq); mqt = ((Request)srq).getMatchingQueryTerms(); assertEquals(1d, mqt.getTermWeight("fox"), 0.0d); assertEquals(1.3d/2d, mqt.getTermWeight("dog"), 0.0d); }
@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>")); }
assertNotNull(index); assertEquals(2, index.getCollectionStatistics().getNumberOfDocuments()); Manager matching = new LocalManager(index); assertNotNull(matching); ResultSet rs;
protected ResultSet _testOneDocumentTwoTermsNegativeMatch() throws Exception { Index index = IndexTestUtils.makeIndex( new String[]{"doc1", "doc2"}, new String[]{ "The quick brown fox jumps over the lazy dog", "how much is that dog in the window"}); System.err.println("testTwoDocumentsNegativeMatch: " + index.toString()); assertNotNull(index); assertEquals(2, index.getCollectionStatistics().getNumberOfDocuments()); Manager matching = new LocalManager(index); assertNotNull(matching); ResultSet rs; SearchRequest search = matching.newSearchRequest("test", "dog -window"); search.setControl(SearchRequest.CONTROL_WMODEL, DPH.class.getName()); //search.addMatchingModel("Matching", "DPH"); search.setOriginalQuery("dog -window"); matching.runSearchRequest(search); rs = ((Request)search).getResultSet(); assertNotNull(rs); assertEquals(1, rs.getResultSize()); TIntHashSet docids = new TIntHashSet(rs.getDocids()); System.err.println("" + rs.getDocids()[0] + " "+ rs.getScores()[0]); assertTrue(docids.contains(0)); assertEquals(0, rs.getDocids()[0]); assertTrue(rs.getScores()[0] > 0); return rs; }
@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]); }
@Test public void testOneDocumentTwoKeys() throws Exception { Index index = createIndexAbstract(); 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(2, rs.getMetaKeys().length); assertEquals("doc1", rs.getMetaItems("filename")[0]); assertEquals("The quick brown fox jumps over the lazy dog", StringTools.escape(ESCAPE.JAVA, rs.getMetaItems("abstract")[0])); ScoredDocList res2 = srq.getResults(); assertEquals(1, res2.size()); ScoredDoc doc1 = res2.get(0); assertEquals(0, doc1.getDocid()); assertEquals("doc1", doc1.getMetadata("filename")); assertEquals("The quick brown fox jumps over the lazy dog", doc1.getMetadata("abstract")); }