public interface ExtractedResult extends Iterable<ExtractedItem>
Surfaces the data sent from the server-side XQuery search:search API. Note that the most important function is to provide access to the list of ExtractedItem objects. For example:
String combinedSearch =
"<search:search xmlns:search=\"http://marklogic.com/appservices/search\">" +
"<search:qtext>my search terms</search:qtext>" +
"<search:options>" +
"<search:extract-document-data>" +
"<search:extract-path>/some/path</search:extract-path>" +
"<search:extract-path>/another/path/*</search:extract-path>" +
"</search:extract-document-data>" +
"</search:options>" +
"</search:search>";
StringHandle queryHandle = new StringHandle(combinedSearch).withMimetype("application/xml");
QueryDefinition query = queryMgr.newRawCombinedQueryDefinition(queryHandle);
SearchHandle results = queryMgr.search(query, new SearchHandle());
MatchDocumentSummary[] summaries = results.getMatchResults();
for (MatchDocumentSummary summary : summaries) {
ExtractedResult extracted = summary.getExtracted();
if ( Format.XML == summary.getFormat() ) {
for (ExtractedItem item : extracted) {
Document extractItem = item.getAs(Document.class);
...
} } }
Where you can, of course, use any appropriate StructureReadHandle or corresponding class (provided by that handle’s receiveAs() method) passed to the ExtractedItem.getAs(java.lang.Class<T>) method.
| Modifier and Type | Method and Description |
|---|---|
String |
getKind()
The xquery type of the extracted data.
|
boolean |
hasNext()
Returns true if internal iterator has more elements.
|
boolean |
isEmpty()
Returns true if the underlying node is an “extracted-none” XML element or JSON property.
|
ExtractedItem |
next()
Returns the next element in the internal iterator, which is separate from any new iterator created by calls to iterator().
|
int |
size()
The number of ExtractedItem objects in the Iterator.
|
forEach, iterator, spliteratorString getKind()
The xquery type of the extracted data. For XML it will be “element”. For JSON it will be “object” or “array”. Not always available, returns null if unavailable.
boolean isEmpty()
Returns true if the underlying node is an “extracted-none” XML element or JSON property.
int size()
The number of ExtractedItem objects in the Iterator.
ExtractedItem next()
Returns the next element in the internal iterator, which is separate from any new iterator created by calls to iterator().
boolean hasNext()
Returns true if internal iterator has more elements. The internal iterator is separate from any new iterator created by calls to iterator().
Copyright © 2013-2017 MarkLogic Corporation.