String docUri = summary.getUri(); System.out.println("docURI is " + docUri); System.out.println("Snippet Text is " + summary.getFirstSnippetText()); snippetFromSummary = summary.getFirstSnippetText().trim(); if (summary.getFormat().name().equalsIgnoreCase("XML")) { DOMHandle contentHandle = readDocumentUsingDOMHandle(client, docUri, "XML"); Document readDoc = contentHandle.get(); contentHandle = null; else if (summary.getFormat().name().equalsIgnoreCase("JSON")) { JacksonHandle jacksonhandle = new JacksonHandle(); docMgr.read(docUri, jacksonhandle);
private void checkResults(SearchHandle results) { assertNotNull(results); assertFalse(results.getMetrics().getTotalTime() == -1); MatchDocumentSummary[] summaries = results.getMatchResults(); assertNotNull(summaries); assertTrue(summaries.length > 0); for (MatchDocumentSummary summary : summaries) { assertTrue("Mime type of document", summary.getMimeType().matches("(application|text)/xml")); assertEquals("Format of document", Format.XML, summary.getFormat()); Document relevanceTrace = summary.getRelevanceInfo(); if (relevanceTrace != null) { assertEquals(relevanceTrace.getDocumentElement().getLocalName(),"relevance-info"); } MatchLocation[] locations = summary.getMatchLocations(); for (MatchLocation location : locations) { assertNotNull(location.getAllSnippetText()); } } }
@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; }
public String returnSearchResult(SearchHandle resultsHandle) { String matchedDoc = ""; // iterate over the result documents MatchDocumentSummary[] docSummaries = resultsHandle.getMatchResults(); for (MatchDocumentSummary docSummary : docSummaries) { String uri = docSummary.getUri(); // iterate over the match locations within a result document MatchLocation[] locations = docSummary.getMatchLocations(); matchedDoc = matchedDoc + "|" + "Matched " + locations.length + " locations in " + uri; } return matchedDoc; }
System.out.println(result.getMimeType() + ": Mime Type"); System.out.println(result.getPath() + ": Path"); System.out.println(result.getFormat() + ": Format"); System.out.println(result.getUri() + ": Uri"); assertTrue("Uri is Wrong", result.getPath().contains("/mime-type/constraint4.json") || result.getPath().contains("/mime-type/constraint4.xml"));
exptdHashMap.put("dog22", "Content"); for (MatchDocumentSummary summary : summaries1) { ExtractedResult extracted = summary.getExtracted(); if (summary.getFormat() == Format.JSON) { for (ExtractedItem item : extracted) { String stringJsonItem = item.getAs(String.class); fail("unexpected search result:" + summary.getUri()); ExtractedResult extracted = summary.getExtracted(); if (summary.getFormat() == Format.JSON) { for (ExtractedItem item : extracted) { String stringJsonItem = item.getAs(String.class); fail("unexpected search result:" + summary.getUri());
@Override public IndexedRecord getCurrent() throws NoSuchElementException { ++documentCounter; MatchDocumentSummary currentSummary = currentPage[pageCounter]; current = new GenericData.Record(settings.outputSchema); try { String docId = currentSummary.getUri(); current = docContentReader.readDocument(docId); result.totalCountLong++; result.successCountLong++; pageCounter++; return current; } catch (Exception e) { throw new MarkLogicException(new MarkLogicErrorCode("Can't read document from MarkLogic database"), e); } }
ExtractedResult extracted = summary.getExtracted(); if (summary.getFormat() == Format.JSON) { for (ExtractedItem item : extracted) { String stringJsonItem = item.getAs(String.class); fail("unexpected search result:" + summary.getUri()); ExtractedResult extracted = summary.getExtracted(); if (summary.getFormat() == Format.JSON) { for (ExtractedItem item : extracted) { String stringJsonItem = item.getAs(String.class); fail("unexpected search result:" + summary.getUri()); assertNotNull(docSummaries); for (int i = 0; i < docSummaries.length; i++) { String str = docSummaries[i].getPath().split(DIRECTORY)[1].split("\\.")[0]; if (str != null) { WithOptionsAscHashMap.put(str, "Content"); assertNotNull(docSummariesNoOpts); for (int i = 0; i < docSummariesNoOpts.length; i++) { String str = docSummaries[i].getPath().split(DIRECTORY)[1].split("\\.")[0]; if (str != null) { NoOptsAscHashMap.put(str, "Content");
String docUri = summary.getUri(); System.out.println("docURI is " + docUri); if (summary.getFormat().name().equalsIgnoreCase("XML")) { DOMHandle contentHandle = readDocumentUsingDOMHandle(client, docUri, "XML"); Document readDoc = contentHandle.get(); contentHandle = null; else if (summary.getFormat().name().equalsIgnoreCase("JSON")) { JacksonHandle jacksonhandle = new JacksonHandle(); docMgr.read(docUri, jacksonhandle);
private void checkCts(CtsQueryWriteHandle handle, String optionsName, long numMatches) { RawCtsQueryDefinition rawCtsQueryDefinition; if (optionsName == null) { rawCtsQueryDefinition = queryMgr.newRawCtsQueryDefinition(handle); } else { rawCtsQueryDefinition = queryMgr.newRawCtsQueryDefinition(handle, optionsName); } SearchHandle results; results = queryMgr.search(rawCtsQueryDefinition, new SearchHandle()); assertNotNull(results); assertEquals(results.getTotalResults(), numMatches); assertFalse(results.getMetrics().getTotalTime() == -1); MatchDocumentSummary[] summaries = results.getMatchResults(); assertNotNull(summaries); assertTrue(summaries.length > 0); for (MatchDocumentSummary summary : summaries) { assertTrue("Mime type of document", summary.getMimeType().matches("(application|text)/xml")); assertEquals("Format of document", Format.XML, summary.getFormat()); MatchLocation[] locations = summary.getMatchLocations(); for (MatchLocation location : locations) { assertNotNull(location.getAllSnippetText()); } } }
MatchDocumentSummary[] summaries = resSearchHandle.getMatchResults(); for (MatchDocumentSummary summary : summaries) { ExtractedResult extracted = summary.getExtracted(); if ( Format.JSON == summary.getFormat() ) { for (ExtractedItem item : extracted) { String extractItem = item.getAs(String.class);
Document metadata = matchResult.getMetadata(); Element subKey = (Element) metadata.getElementsByTagNameNS("http://marklogic.com/xdmp/json", "subKey").item(0); String handleStr = matchResult.getMetadata(new StringHandle()).get(); assertXMLEqual("Different metadata for handle", docStr, handleStr); Document snippet = matchResult.getSnippets()[0]; docStr = Common.testDocumentToString(snippet); handleStr = matchResult.getSnippetIterator(new StringHandle()).next().get(); assertXMLEqual("Different snippet for handle", docStr, handleStr);
@Test(expected = UnsupportedOperationException.class) public void testBulkSearchSQDwithWrongResponseFormat() throws KeyManagementException, NoSuchAlgorithmException, Exception { loadTxtDocuments(); TextDocumentManager docMgr = client.newTextDocumentManager(); QueryManager queryMgr = client.newQueryManager(); StringQueryDefinition qd = queryMgr.newStringDefinition(); qd.setCriteria("bar"); docMgr.setNonDocumentFormat(Format.JSON); SearchHandle results = new SearchHandle(); DocumentPage page = docMgr.search(qd, 1, results); MatchDocumentSummary[] summaries = results.getMatchResults(); for (MatchDocumentSummary summary : summaries) { MatchLocation[] locations = summary.getMatchLocations(); for (MatchLocation location : locations) { System.out.println(location.getAllSnippetText()); // do something with the snippet text } } }
for (Document s : result.getSnippets()) resultDoc1 = convertXMLDocumentToString(s); System.out.println(resultDoc1);
assertEquals(2, summaries.length); for (MatchDocumentSummary summary : summaries) { ExtractedResult extracted = summary.getExtracted(); if ( Format.XML == summary.getFormat() ) { assertEquals("3", item3.getFirstChild().getAttributes().getNamedItem("id").getNodeValue()); continue; } else if ( Format.JSON == summary.getFormat() ) { fail("unexpected search result:" + summary.getUri()); assertEquals(2, summaries.length); for (MatchDocumentSummary summary : summaries) { ExtractedResult extracted = summary.getExtracted(); if ( Format.XML == summary.getFormat() ) { assertEquals("element", extracted.getKind()); assertEquals(1, extracted.size()); assertEquals("3", item3.getAttributes().getNamedItem("id").getNodeValue()); continue; } else if ( Format.JSON == summary.getFormat() ) { assertEquals("object", extracted.getKind()); String jsonDocument = extracted.next().getAs(String.class); fail("unexpected search result:" + summary.getUri()); assertEquals(2, summaries.length); for (MatchDocumentSummary summary : summaries) { ExtractedResult extracted = summary.getExtracted();
System.out.println(result.getMimeType() + ": Mime Type"); System.out.println(result.getPath() + ": Path"); System.out.println(result.getFormat() + ": Format"); System.out.println(result.getUri() + ": Uri");
@Override public IndexedRecord getCurrent() throws NoSuchElementException { ++documentCounter; MatchDocumentSummary currentSummary = currentPage[pageCounter]; current = new GenericData.Record(settings.outputSchema); try { String docId = currentSummary.getUri(); current = docContentReader.readDocument(docId); result.totalCountLong++; result.successCountLong++; pageCounter++; return current; } catch (Exception e) { throw new MarkLogicException(new MarkLogicErrorCode("Can't read document from MarkLogic database"), e); } }
String uri = docSummary.getUri(); MatchLocation[] locations = docSummary.getMatchLocations(); assertEquals("Document location difference", "/searchOnProps/" + file.getPath(), uri);
ExtractedResult extracted = summary.getExtracted(); if ( Format.JSON == summary.getFormat() ) { for (ExtractedItem item : extracted) { String extractItem = item.getAs(String.class); ExtractedResult extracted = summary.getExtracted(); if ( Format.JSON == summary.getFormat() ) { for (ExtractedItem item : extracted) { String extractItem = item.getAs(String.class); summaries = resSearchHandle.getMatchResults(); for (MatchDocumentSummary summary : summaries) { ExtractedResult extracted = summary.getExtracted(); if ( Format.JSON == summary.getFormat() ) { for (ExtractedItem item : extracted) { String extractItem = item.getAs(String.class); summaries = resSearchHandle.getMatchResults(); for (MatchDocumentSummary summary : summaries) { ExtractedResult extracted = summary.getExtracted(); if ( Format.JSON == summary.getFormat() ) { for (ExtractedItem item : extracted) { String extractItem = item.getAs(String.class); summaries = resSearchHandle.getMatchResults(); for (MatchDocumentSummary summary : summaries) { ExtractedResult extracted = summary.getExtracted(); if ( Format.JSON == summary.getFormat() ) { for (ExtractedItem item : extracted) {
@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()); } } }