@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> getJobInstances(String jobName, int start, int count) { QueryManager queryMgr = databaseClient.newQueryManager(); StringQueryDefinition querydef = queryMgr.newStringDefinition(SEARCH_OPTIONS_NAME); querydef.setCriteria("jobName: " + jobName + " AND sort:date"); logger.info(querydef.getCriteria()); SearchHandle results = queryMgr.search(querydef, new SearchHandle()); List<JobInstance> jobInstances = new ArrayList<>(); MatchDocumentSummary[] summaries = results.getMatchResults(); MarkLogicJobInstance mji; if (start+count > summaries.length) { return jobInstances; } for (int i = start; i < start+count; i++) { JAXBHandle<MarkLogicJobInstance> jaxbHandle = new JAXBHandle<>(jaxbContext()); summaries[i].getFirstSnippet(jaxbHandle); mji = jaxbHandle.get(); jobInstances.add(mji.getJobInstance()); } return jobInstances; }
@Test public void testStringQuery() throws Exception { StringQueryDefinition query = client.newQueryManager().newStringDefinition().withCriteria("John AND dept:HR"); query.setCollections(qhbTestCollection); query.setOptionsName("employees"); Map<String, String[]> matchesByForest = new HashMap<>(); matchesByForest.put("java-unittest-1", new String[] {uri1, uri3, uri4}); matchesByForest.put("java-unittest-2", new String[] {}); matchesByForest.put("java-unittest-3", new String[] {}); runQueryBatcher(moveMgr.newQueryBatcher(query), query, matchesByForest, 99, 17); }
@Test public void testFailedSearch() throws IOException { QueryManager queryMgr = Common.client.newQueryManager(); queryMgr.setView(QueryView.RESULTS); StringQueryDefinition qdef = queryMgr.newStringDefinition(); qdef.setCriteria("criteriaThatShouldNotMatchAnyDocument"); qdef.setDirectory("/sample/"); SearchHandle results = queryMgr.search(qdef, new SearchHandle()); assertNotNull(results); MatchDocumentSummary[] summaries = results.getMatchResults(); assertTrue(summaries == null || summaries.length == 0); }
stringQuery.setCriteria("grandchild1 OR grandchild4"); stringQuery.setResponseTransform(transform); queryMgr.newValuesDefinition("double", optionsName); stringQuery = queryMgr.newStringDefinition(); stringQuery.setCriteria("10"); stringQuery.setResponseTransform(transform);
void init() { String text = null; if (queryDef instanceof StringQueryDefinition) { text = ((StringQueryDefinition) queryDef).getCriteria(); } else if (queryDef instanceof StructuredQueryDefinition) { text = ((StructuredQueryDefinition) queryDef).getCriteria();
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; }
@Test public void testJSON() throws FailedRequestException, ForbiddenUserException, ResourceNotFoundException, ResourceNotResendableException { String optionsName = writeOptions(); QueryManager queryMgr = Common.client.newQueryManager(); StringQueryDefinition qdef = queryMgr.newStringDefinition(optionsName); qdef.setCriteria("grandchild1 OR grandchild4"); qdef.setDirectory("/sample/"); queryMgr.setView(QueryView.FACETS); // create a handle for the search results StringHandle resultsHandle = new StringHandle().withFormat(Format.JSON); // run the search queryMgr.search(qdef, resultsHandle); assertEquals("{", resultsHandle.get().substring(0, 1)); // It's JSON, right? }
s.setCriteria("a"); s.setResponseTransform(new ServerTransform("test118")); q.search(s, new SearchHandle());
.type("application/xml").accept("application/xml"); } else if (queryDef instanceof StringQueryDefinition) { String text = ((StringQueryDefinition) queryDef).getCriteria(); if (logger.isDebugEnabled()) logger.debug("Searching for {} in transaction {}", text);
public long getCollectionSize(String collectionName) { QueryManager queryMgr = getClient().newQueryManager(); StringQueryDefinition def = queryMgr.newStringDefinition(); def.setCollections(collectionName); SearchHandle sh = queryMgr.search(def, new SearchHandle()); return sh.getTotalResults(); }
@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); }
@Test public void testStringSearch2() throws IOException { QueryManager queryMgr = Common.client.newQueryManager(); StringQueryDefinition qdef = queryMgr.newStringDefinition(); qdef.setCriteria("10"); qdef.setDirectory("/sample/"); SearchHandle handle = new SearchHandle(); handle = queryMgr.search(qdef, handle); assertNotNull(handle); MatchDocumentSummary[] summaries = handle.getMatchResults(); assertNotNull(summaries); assertEquals("expected 2 results", 2, summaries.length); for ( MatchDocumentSummary summary : summaries ) { MatchLocation[] locations = summary.getMatchLocations(); assertEquals("expected 1 match location", 1, locations.length); for ( MatchLocation location : locations ) { assertNotNull(location.getAllSnippetText()); } } }
text = ((StringQueryDefinition) queryDef).getCriteria(); } else if (queryDef instanceof StructuredQueryDefinition) { text = ((StructuredQueryDefinition) queryDef).getCriteria();
querydef.setCriteria("Meng AND 8888");
@Test public void testStringSearch() throws IOException, ParserConfigurationException, SAXException, FailedRequestException, ForbiddenUserException, ResourceNotFoundException, ResourceNotResendableException { String optionsName = writeOptions(); QueryManager queryMgr = Common.client.newQueryManager(); StringQueryDefinition qdef = queryMgr.newStringDefinition(optionsName); qdef.setCriteria("grandchild1 OR grandchild4"); qdef.setDirectory("/sample/"); SearchHandle results = queryMgr.search(qdef, new SearchHandle()); assertNotNull(results); assertFalse(results.getMetrics().getTotalTime() == -1); FacetResult[] facets = results.getFacetResults(); assertNotNull(facets); assertEquals("expected 1 facet", 1, facets.length); FacetValue[] facetVals = facets[0].getFacetValues(); assertEquals("expected 6 facet values", 6, facetVals.length); MatchDocumentSummary[] summaries = results.getMatchResults(); assertNotNull(summaries); assertEquals("expected 2 results", 2, summaries.length); }
String text = null; if (qdef instanceof StringQueryDefinition) { text = ((StringQueryDefinition) qdef).getCriteria(); } else if (qdef instanceof StructuredQueryDefinition) { text = ((StructuredQueryDefinition) qdef).getCriteria();
public SearchHandle runSearch(DatabaseClient client, String queryOptionName, String criteria) { // create a manager for searching QueryManager queryMgr = client.newQueryManager(); // create a search definition StringQueryDefinition querydef = queryMgr.newStringDefinition(queryOptionName); querydef.setCriteria(criteria); // create a handle for the search results SearchHandle resultsHandle = new SearchHandle(); // run the search return queryMgr.search(querydef, resultsHandle); }
@Test public void testStringSearch4() throws IOException, FailedRequestException, ForbiddenUserException, ResourceNotFoundException, ResourceNotResendableException { String optionsName = writeOptions(); QueryManager queryMgr = Common.client.newQueryManager(); StringQueryDefinition qdef = queryMgr.newStringDefinition(optionsName); qdef.setCriteria("grandchild1 OR grandchild4"); qdef.setDirectory("/sample/"); queryMgr.setView(QueryView.FACETS); SearchHandle results = queryMgr.search(qdef, new SearchHandle()); assertNotNull(results); FacetResult[] facets = results.getFacetResults(); assertNotNull(facets); assertEquals("expected 1 facet", 1, facets.length); FacetValue[] facetVals = facets[0].getFacetValues(); assertEquals("expected 6 facet values", 6, facetVals.length); MatchDocumentSummary[] summaries = results.getMatchResults(); assertTrue(summaries == null || summaries.length == 0); queryMgr.setView(QueryView.RESULTS); results = queryMgr.search(qdef, new SearchHandle()); assertNotNull(results); facets = results.getFacetResults(); assertTrue(facets == null || facets.length == 0); summaries = results.getMatchResults(); assertNotNull(summaries); assertEquals("expected 2 results", 2, summaries.length); assertEquals("empty-snippet", results.getSnippetTransformType()); }
resource.accept(mimetype); } else if (queryDef instanceof StringQueryDefinition) { String text = ((StringQueryDefinition) queryDef).getCriteria(); if (logger.isDebugEnabled()) logger.debug("Searching for {}", text);