public SearchRequest search(String query, int rankingDepth) { System.err.println("Running search for '"+query+"' to depth "+rankingDepth); StringBuffer sb = new StringBuffer(); sb.append(query); Manager queryingManager = ManagerFactory.from(memIndex.getIndexRef()); SearchRequest srq = queryingManager.newSearchRequest("query", sb.toString()); srq.setOriginalQuery(sb.toString()); srq.setControl("decorate", "on"); queryingManager.runSearchRequest(srq); System.err.println("Returned "+srq.getResults().size()+" documents"); return srq; }
srq = m.newSearchRequestFromQuery(query); if (controls.length() > 0) srq.setQueryID(qid); m.runSearchRequest(srq);
/** For easier sub-classing of which index the query expansion comes from */ protected Index getIndex(Manager m) { if (! IndexFactory.isLocal(m.getIndexRef())) { throw new IllegalStateException("QueryExpansion needs a local index"); } return IndexFactory.of(m.getIndexRef()); }
printSettings(queryingManager.newSearchRequest(""), querySource.getInfo(), "# run started at: " + startTime
printSettings(queryingManager.newSearchRequest(""), querySource.getInfo(), "# run started at: " + startTime
public SearchRequest search(String query, int rankingDepth) { System.err.println("Running search for '"+query+"' to depth "+rankingDepth); StringBuffer sb = new StringBuffer(); sb.append(query); Manager queryingManager = ManagerFactory.from(memIndex.getIndexRef()); SearchRequest srq = queryingManager.newSearchRequest("query", sb.toString()); srq.setOriginalQuery(sb.toString()); srq.setControl("decorate", "on"); queryingManager.runSearchRequest(srq); System.err.println("Returned "+srq.getResults().size()+" documents"); return srq; }
srq = m.newSearchRequestFromQuery(query); if (controls.length() > 0) srq.setQueryID(qid); m.runSearchRequest(srq);
/** For easier sub-classing of which index the query expansion comes from */ protected Index getIndex(Manager m) { if (! IndexFactory.isLocal(m.getIndexRef())) { throw new IllegalStateException("QueryExpansion needs a local index"); } return IndexFactory.of(m.getIndexRef()); }
SearchRequest performQuery(Manager m, String query) { SearchRequest srq = m.newSearchRequest("test", query); srq.setControl(SearchRequest.CONTROL_WMODEL, TF_IDF.class.getName()); m.runSearchRequest(srq); return srq; }
@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); }
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()))
/** * According to the given parameters, it sets up the correct matching class. * @param queryId String the query identifier to use. * @param query String the query to process. */ public SearchRequest processQuery(String queryId, String query) { SearchRequest srq = queryingManager.newSearchRequest(queryId, query); if (matchopQl) { srq.setControl("parsecontrols", "off"); srq.setControl("parseql", "off"); srq.setControl("terrierql", "off"); srq.setControl("matchopql", "on"); } this.controls.forEach((k,v) -> srq.setControl(k, v)); matchingCount++; queryingManager.runSearchRequest(srq); return srq; }
@Test public void itWorksBlocksFeatures() throws Exception { Index index = IndexTestUtils.makeIndexBlocks(new String[]{"doc1"}, new String[]{"token1 token2 token3"}); // String path = ((IndexOnDisk)index).getPath(); // String prefix = ((IndexOnDisk)index).getPrefix(); int port = new Random().nextInt(65536-1024)+1024; System.err.println("itWorksBlocksFeatures: Index is " + index.getIndexRef().toString()); String uri = "http://127.0.0.1:"+port+"/"; HttpServer server = makeServer(index, uri); SearchResource.reinit(); index.close(); ApplicationSetup.setProperty("fat.featured.scoring.matching.features", "WMODEL:BM25;WMODEL:PL2;DSM:"+DFRDependenceScoreModifier.class.getSimpleName()); Manager restManager = ManagerFactory.from(IndexRef.of(uri)); assertNotNull(restManager); SearchRequest srq = restManager.newSearchRequestFromQuery("\"token1 token2\""); srq.setControl(SearchRequest.CONTROL_MATCHING, FatFeaturedScoringMatching.class.getName() + "," + FatFull.class.getName() ); restManager.runSearchRequest(srq); assertEquals(1, srq.getResults().size()); assertEquals("doc1", srq.getResults().get(0).getMetadata("docno")); server.shutdown().get(); //IndexUtil.deleteIndex(path, prefix); }
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()))
/** * According to the given parameters, it sets up the correct matching class. * @param queryId String the query identifier to use. * @param query String the query to process. */ public SearchRequest processQuery(String queryId, String query) { SearchRequest srq = queryingManager.newSearchRequest(queryId, query); if (matchopQl) { srq.setControl("parsecontrols", "off"); srq.setControl("parseql", "off"); srq.setControl("terrierql", "off"); srq.setControl("matchopql", "on"); } this.controls.forEach((k,v) -> srq.setControl(k, v)); matchingCount++; queryingManager.runSearchRequest(srq); return srq; }
@Test public void itWorks() throws Exception { Index index = IndexTestUtils.makeIndex(new String[]{"doc1"}, new String[]{"token1 token2 token3"}); // String path = ((IndexOnDisk)index).getPath(); // String prefix = ((IndexOnDisk)index).getPrefix(); int port = new Random().nextInt(65536-1024)+1024; String uri = "http://127.0.0.1:"+port+"/"; System.err.println("itWorks: Index is " + index.getIndexRef().toString()); HttpServer server = makeServer(index, uri); SearchResource.reinit(); index.close(); Manager restManager = ManagerFactory.from(IndexRef.of(uri)); assertNotNull(restManager); SearchRequest srq = restManager.newSearchRequestFromQuery("token1"); restManager.runSearchRequest(srq); assertEquals(1, srq.getResults().size()); assertEquals("doc1", srq.getResults().get(0).getMetadata("docno")); server.shutdown().get(); //IndexUtil.deleteIndex(path, prefix); }
public void new_query(Manager m, SearchRequest q, ResultSet rs) if( ! IndexFactory.isLocal(m.getIndexRef())) Index index = IndexFactory.of(m.getIndexRef()); metaIndex = index.getMetaIndex();
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(); }
public void new_query(Manager m, SearchRequest q, ResultSet rs) if( ! IndexFactory.isLocal(m.getIndexRef())) Index index = IndexFactory.of(m.getIndexRef()); metaIndex = index.getMetaIndex();
SearchRequest srq = queryingManager.newSearchRequest(queryId, query); if (super.matchopQl) logger.info("Processing query: " + queryId + ": '" + query + "'"); matchingCount++; queryingManager.runSearchRequest(srq); resultsCache.add(srq); return srq;