public List<String> getUrisInCollection(String collectionName, int pageLength) { QueryManager mgr = getClient().newQueryManager(); mgr.setPageLength(pageLength); StringQueryDefinition def = mgr.newStringDefinition(); def.setCollections(collectionName); SearchHandle h = mgr.search(def, new SearchHandle()); List<String> uris = new ArrayList<String>(); for (MatchDocumentSummary s : h.getMatchResults()) { uris.add(s.getUri()); } return uris; }
@Override public boolean start() throws IOException { MarkLogicConnection connection = (MarkLogicConnection) getCurrentSource(); result = new ResultWithLongNB(); connectionClient = connection.connect(container); if (connectionClient == null) { return false; } docManager = connectionClient.newDocumentManager(); boolean isDocContentFieldPresent = (settings.outputSchema.getFields().size() >= 2); if (isDocContentFieldPresent) { docContentField = settings.outputSchema.getFields().get(1); } docContentReader = new DocContentReader(docManager, settings.outputSchema, docContentField); if (settings.useQueryOption && StringUtils.isNotEmpty(settings.queryOptionName)) { prepareQueryOption(); } queryManager = connectionClient.newQueryManager(); stringQueryDefinition = (settings.useQueryOption) ? queryManager.newStringDefinition(settings.queryOptionName) : queryManager.newStringDefinition(); stringQueryDefinition.setCriteria(settings.criteria); searchHandle = queryManager.search(stringQueryDefinition, new SearchHandle()); matchedDocuments = searchHandle.getTotalResults(); pageSize = (settings.pageSize <= 0) ? matchedDocuments : settings.pageSize; maxRetrieve = settings.maxRetrieve; //if < 0 - it will be ignored queryManager.setPageLength(pageSize); documentCounter = 1; readNextPage(); return (matchedDocuments > 0); }
@Override public boolean start() throws IOException { MarkLogicConnection connection = (MarkLogicConnection) getCurrentSource(); result = new ResultWithLongNB(); connectionClient = connection.connect(container); if (connectionClient == null) { return false; } docManager = connectionClient.newDocumentManager(); boolean isDocContentFieldPresent = (settings.outputSchema.getFields().size() >= 2); if (isDocContentFieldPresent) { docContentField = settings.outputSchema.getFields().get(1); } docContentReader = new DocContentReader(docManager, settings.outputSchema, docContentField); if (settings.useQueryOption && StringUtils.isNotEmpty(settings.queryOptionName)) { prepareQueryOption(); } queryManager = connectionClient.newQueryManager(); stringQueryDefinition = (settings.useQueryOption) ? queryManager.newStringDefinition(settings.queryOptionName) : queryManager.newStringDefinition(); stringQueryDefinition.setCriteria(settings.criteria); searchHandle = queryManager.search(stringQueryDefinition, new SearchHandle()); matchedDocuments = searchHandle.getTotalResults(); pageSize = (settings.pageSize <= 0) ? matchedDocuments : settings.pageSize; maxRetrieve = settings.maxRetrieve; //if < 0 - it will be ignored queryManager.setPageLength(pageSize); documentCounter = 1; readNextPage(); return (matchedDocuments > 0); }
@Override public List<JobInstance> findJobInstancesByName(String jobName, int start, int count) { List<JobInstance> jobInstances = new ArrayList<>(); QueryManager queryMgr = databaseClient.newQueryManager(); StructuredQueryBuilder qb = new StructuredQueryBuilder(SEARCH_OPTIONS_NAME); StructuredQueryDefinition querydef = qb.and( qb.valueConstraint("jobName", jobName), qb.collection(COLLECTION_JOB_INSTANCE) ); queryMgr.setPageLength((long) count); SearchHandle results = queryMgr.search(querydef, new SearchHandle(), start); MatchDocumentSummary[] summaries = results.getMatchResults(); for (MatchDocumentSummary summary : summaries ) { JAXBHandle<MarkLogicJobInstance> jaxbHandle = new JAXBHandle<>(jaxbContext()); summary.getFirstSnippet(jaxbHandle); MarkLogicJobInstance mji = jaxbHandle.get(); jobInstances.add(mji.getJobInstance()); } return jobInstances; }
queryMgr.setPageLength(50);
queryMgr.setPageLength(50);
private void check(StructureWriteHandle handle, String optionsName) { QueryManager queryMgr = Common.client.newQueryManager(); queryMgr.setPageLength(0); RawCombinedQueryDefinition query = queryMgr.newRawCombinedQueryDefinition(handle); SearchHandle response = queryMgr.search(query, new SearchHandle()); String wrappedCtsQuery = response.getQuery(new StringHandle()).get(); // remove the <search:query> wrapper element String ctsQuery = wrappedCtsQuery.replaceAll("</?search:query[^>]*>", ""); long numMatches = response.getTotalResults(); checkCts(new StringHandle(ctsQuery), optionsName, numMatches); }
public void serverValuesList() throws IOException, ParserConfigurationException, SAXException { String optionsName = "photos"; QueryManager queryMgr = Common.client.newQueryManager(); ValuesListDefinition vdef = queryMgr.newValuesListDefinition(optionsName); ValuesListHandle results = queryMgr.valuesList(vdef, new ValuesListHandle()); assertNotNull(results); Map<String,String> map = results.getValuesMap(); assertEquals("Map should contain two keys", map.size(), 2); assertEquals("Size should have this uri", map.get("size"), "/v1/values/size?options=photos"); // test pagelength queryMgr.setPageLength(1L); results = queryMgr.valuesList(vdef, new ValuesListHandle()); assertNotNull(results); map = results.getValuesMap(); assertEquals("Map should contain one keys", map.size(), 1); }
@Test public void testPolygonDisjointPolygon() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException, TransformerException { System.out.println("Running testPolygonDisjointPolygon"); QueryManager queryMgr = client.newQueryManager(); queryMgr.setPageLength(50); // create query def StructuredQueryBuilder qb = queryMgr.newStructuredQueryBuilder(); StructuredQueryDefinition t = qb.geospatial(qb.geoRegionPath(qb.pathIndex("/root/item/polygon"), CoordinateSystem.WGS84), GeospatialOperator.DISJOINT, qb.polygon( qb.point(-90, 131), qb.point(-85, 133), qb.point(-87, 134), qb.point(-88, 135), qb.point(-90, 131)) ); // create handle JacksonHandle resultsHandlejh = new JacksonHandle(); queryMgr.search(t, resultsHandlejh); // get the result JsonNode resultNodejh = resultsHandlejh.get(); // Should have 20 nodes returned. assertEquals("Twenty nodes not returned from testPolygonCoversBox method ", 20, resultNodejh.path("total").asInt()); }
@Test public void testValuesPaging() throws IOException, ParserConfigurationException, SAXException { String optionsName = makeValuesOptions(); QueryManager queryMgr = Common.client.newQueryManager(); queryMgr.setPageLength(2); ValuesDefinition vdef = queryMgr.newValuesDefinition("double", optionsName); ValuesHandle v = queryMgr.values(vdef, new ValuesHandle(), 2); CountedDistinctValue dv[] = v.getValues(); assertNotNull("There should be values", dv); assertEquals("There should be 2 values", 2, dv.length); assertEquals("The first value should be '1.2'", dv[0].get("xs:double", Double.class).toString(), "1.2"); assertEquals("The second value should be '2.2'", dv[1].get("xs:double", Double.class).toString(), "2.2"); Common.adminClient.newServerConfigManager().newQueryOptionsManager().deleteOptions(optionsName); }
queryMgr.setPageLength(2);
static public void cleanUp() { DatabaseClient client = DatabaseClientFactory.newClient(Common.HOST, Common.PORT, new DigestAuthContext(Common.SERVER_ADMIN_USER, Common.SERVER_ADMIN_PASS)); try { QueryManager queryMgr = client.newQueryManager(); queryMgr.setPageLength(1000); QueryDefinition query = queryMgr.newStringDefinition(); query.setCollections(temporalCollection); // DeleteQueryDefinition deleteQuery = client.newQueryManager().newDeleteDefinition(); // deleteQuery.setCollections(temporalCollection); // client.newQueryManager().delete(deleteQuery); SearchHandle handle = queryMgr.search(query, new SearchHandle()); MatchDocumentSummary[] docs = handle.getMatchResults(); for ( MatchDocumentSummary doc : docs ) { if ( ! (temporalCollection + ".lsqt").equals(doc.getUri()) ) { client.newXMLDocumentManager().delete(doc.getUri()); } } } finally { client.release(); } } }
queryMgr.setPageLength(6);
queryMgr.setPageLength(1000); QueryDefinition query = queryMgr.newStringDefinition(); query.setCollections(logicalID);
sHandleOnForest2 = new SearchHandle(); queryMgr.setPageLength(3);
docMgr.write(docId3, temporalDocument1, null, handle3, null, null, temporalCollection); QueryManager queryMgr = Common.adminClient.newQueryManager(); queryMgr.setPageLength(1000); QueryDefinition query = queryMgr.newStringDefinition(); query.setCollections(temporalDocument1);
writeSet = docMgr.newWriteSet(); QueryManager queryMgr = Common.adminClient.newQueryManager(); queryMgr.setPageLength(1000); QueryDefinition query = queryMgr.newStringDefinition(); query.setCollections(temporalDocument1);