marklogic의 Java API를 배우기 시작했습니다. 알고 싶은 것은 특정 URI 패턴을 따르는 모든 문서를 어떻게 얻을 수 있는지입니다.Marklogic의 URI 패턴과 일치하는 모든 문서를 가져 오는 방법
예 : URI 패턴이 "/Downloads/Current/com.crc.eng.dollar/*"인 ML db에서 모든 문서를 가져오고 싶습니다.
marklogic의 Java API를 배우기 시작했습니다. 알고 싶은 것은 특정 URI 패턴을 따르는 모든 문서를 어떻게 얻을 수 있는지입니다.Marklogic의 URI 패턴과 일치하는 모든 문서를 가져 오는 방법
예 : URI 패턴이 "/Downloads/Current/com.crc.eng.dollar/*"인 ML db에서 모든 문서를 가져오고 싶습니다.
Java 대신 XQuery API를 사용하고 있지만 XCC를 통해 cts : uri-match를 사용해보십시오 (http://docs.marklogic.com/cts:uri-match 참조)
디렉토리 내의 문서를 쿼리 할 수 있습니다. 비우고 쿼리 빌더를 만들 때 쿼리 옵션을 식별 할 세트 변환 코드 조각과 쿼리 옵션을
DatabaseClient client = DatabaseClientFactory.newClient(...);
GenericDocumentManager docMgr = client.newDocumentManager()
QueryManager queryMgr = client.newQueryManager();
StructuredQueryBuilder queryBldr = new StructuredQueryBuilder();
for (int pageNo=1; pageNo < YOUR_MAXIMUM_BEFORE_STOPPING; pageNo++) {
SearchHandle resultsHandle = queryMgr.search(
queryBldr.directory(true, "/Downloads/Current/com.crc.eng.dollar/"),
new SearchHandle(),
pageNo
);
MatchDocumentSummary[] docSummaries = resultsHandle.getMatchResults();
for (MatchDocumentSummary docSummary: docSummaries) {
InputStreamHandle docHandle = docMgr.read(
docSummary.getUri(), new InputStreamHandle()
);
// ... do something with the document ...
}
if (docSummaries.length < queryMgr.getPageLength()) {
break;
}
}
쿼리를보다 효율적으로하기 위해 지속 : 다음과 같은 라인을 따라 뭔가 작업을해야합니다.
모든 문서가 JSON 또는 XML 인 경우보다 구체적인 문서 관리자를 사용할 수 있습니다.
그런데 MarkLogic 8에서는 쿼리를 통해 문서 페이지를 직접 반환 할 수 있습니다.
http://docs.marklogic.com/javadoc/client/index.html http://docs.marklogic.com/guide/java
: 자세한 내용은