/** * Returns the query plan associated with this search. * * <p>Query plans are highly variable.</p> * @return the plan as a DOM Document */ @Override public Document getPlan() { DOMHandle handle = getPlan(new DOMHandle()); return (handle == null) ? null : handle.get(); } @Override
/** * Returns the query plan associated with this search. * * <p>Query plans are highly variable.</p> * @return the plan as a DOM Document */ @Override public Document getPlan() { DOMHandle handle = getPlan(new DOMHandle()); return (handle == null) ? null : handle.get(); } @Override
@Test public void testBug20979() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException, TransformerException { System.out.println("Running testBug20979"); String[] filenames = { "constraint1.xml", "constraint2.xml", "constraint3.xml", "constraint4.xml", "constraint5.xml" }; String queryOptionName = "wordConstraintWithElementAndAttributeIndexPlanOpt.xml"; DatabaseClient client = getDatabaseClient("rest-admin", "x", getConnType()); // write docs for (String filename : filenames) { writeDocumentUsingInputStreamHandle(client, filename, "/word-constraint/", "XML"); } setQueryOption(client, queryOptionName); QueryManager queryMgr = client.newQueryManager(); // create query def StringQueryDefinition querydef = queryMgr.newStringDefinition(queryOptionName); querydef.setCriteria("intitle:1945 OR inprice:12"); // create handle SearchHandle resultsHandle = new SearchHandle(); queryMgr.search(querydef, resultsHandle); // get the result // Document resultDoc = resultsHandle.getPlan(); // System.out.println(convertXMLDocumentToString(resultDoc)); String strPlan = resultsHandle.getPlan(new StringHandle()).get(); System.out.println(strPlan); assertTrue("string is not matched", strPlan.contains("qry:result estimate=\"3\"")); // release client client.release(); }
assertTrue(metrics.getExtractResolutionTime() >= 0); assertTrue(metrics.getTotalTime() >= 0); assertTrue(results.getPlan(new StringHandle()).get().startsWith("<search:plan")); assertEquals("plan", results.getPlan().getFirstChild().getLocalName()); assertEquals("SEARCH-FLWOR", results.getReports()[0].getId()); assertTrue(results.getQuery(new StringHandle()).get().startsWith("<search:query"));