2
나는 다음과 같은 MarkLogic에 저장된 문서가 있습니다의 요청에 의한 예제를 사용하는 MarkLogic에서 더 이상 사용되지 KeyValueQueryDefinition를 교체
// create a manager for searching
QueryManager queryMgr = client.newQueryManager();
KeyValueQueryDefinition query = queryMgr.newKeyValueDefinition();
query.put(queryMgr.newElementLocator(new QName("emailAddress")),"[email protected]");
// create a handle for the search results
SearchHandle resultsHandle = new SearchHandle();
// run the search
queryMgr.search(query, resultsHandle);
// Get the list of matching documents in this page of results
MatchDocumentSummary[] results = resultsHandle.getMatchResults();
// Iterate over the results
for (MatchDocumentSummary result: results) {
// get the list of match locations for this result
MatchLocation[] locations = result.getMatchLocations();
System.out.println("Matched "+locations.length+" locations in "+result.getUri()+":");
// iterate over the match locations
for (MatchLocation location: locations) {
// iterate over the snippets at a match location
for (MatchSnippet snippet : location.getSnippets()) {
boolean isHighlighted = snippet.isHighlighted();
if (isHighlighted)
System.out.print("[");
System.out.print(snippet.getText());
if (isHighlighted)
System.out.print("]");
}
System.out.println();
}
System.out.println();
}
}
:
<?xml version="1.0" encoding="UTF-8"?>
<user>
<userName>Vikram</userName>
<password>password</password>
<firstName>Vikram</firstName>
<lastName>Swaminathan</lastName>
<emailAddress>[email protected]</emailAddress>
</user>
되지 않는 (KeyValueQueryDefinition)와 함께 작동 코드는 다음과 같다을 출력은 다음과 같습니다.
Matched 1 locations in user/vikram:
[[email protected]]
아래 링크에서 도움을 받았습니다. KeyValueQueryDefinition
이 최신 버전에서는 더 이상 사용되지 않으므로 새로운 Marklogic 9 버전에서 작동하게 만들 수 있습니다.
는 변형은 아래 링크에서 여기에 언급 된 문서를 검색 할 QBE를 사용하려면 여기를 KeyValueQueryDefinition 코드
KeyValueQueryDefinition query = queryMgr.newKeyValueDefinition(); query.put(queryMgr.newElementLocator(new QName("emailAddress")),"[email protected]");
가 변경인가
어떤 방법이 접근하는 방법 ??