GetSearchMetadata Operation
- Client Declaration
public GetSearchMetadataResponse GetSearchMetadata(GetSearchMetadataRequest GetSearchMetadataRequest)
ExecuteSearch operation,
and provides the metadata (class and property descriptions) for a
particular search scope.A GetSearchMetadata response
is similar to a response by a GetObjects request
that specifies the ClassDescriptions property (a
set collection of ClassDescription objects) of an
object store. However, unlike a GetObjects response,
only those ClassDescription objects that describe
classes that are searchable in the specified search scope and are
allowed by the class filter are included.
The PropertyDescriptions and ProperSubclassPropertyDescriptions object
collections returned for any ClassDescription objects
in the ClassDescriptions collection include only
property descriptions of properties that are relevant to the query
(that is queryable, selectable or orderable).
Request
A
GetSearchMetadataRequest element,
which specifies the following:- A list of class identifiers, filtering the set of searchable classes for which information is returned.
- A
SearchScopeTypeelement, which specifies the scope of object stores to search. - A property filter, which controls what properties will be returned
for the specified object. It can be composed of zero or more of the
following items:
- An array of identified properties to include.
- An array of data types, all properties of which will be included.
- A list of properties to exclude, overriding any properties previously specified.
A typical structure of a
GetSearchMetadata request
is as follows. Elements that are derived from their base element are
in parenthesis:
GetSearchMetadataRequest GetSearchMetadataRequest
(MergedScope)SearchScopeType SearchScope
(ObjectStoreScope)SearchScopeType ComponentScope[0]
(MergedScope)SearchScopeType ComponentScope[1]
(ObjectStoreScope)SearchScopeType ComponentScope[0]
(MergedScope)SearchScopeType ComponentScope[1]
.
.
PropertyFilterType PropertyFilter
FilterElementType IncludeProperties[0]
FilterElementType IncludeProperties[1]
.
.
FilterElementType IncludeTypes[0]
FilterElementType IncludeTypes[1]
.
.
Response
GetSearchMetadata has
the following output, depending on whether it is successful or not:- Successful
- Output is a
GetSearchMetadataResponseelement, which specifies the following:- A unique ID labeling the particular state of the metadata for the search scope, guaranteed to change only when the metadata of the scope changes.
- A
CollectionTerminatorTypebase element, which resolves to one the following elements, depending on the navigation status within the object set collection:EndOfCollection: The last result row is included in this response.EndOfPage: The object set contains the maximum number of object elements (page size) requested by the client.TraversalError: A error has occurred in traversing the object set.
- An array of zero or more
ObjectValueelements, each of which represents an object selected by the query. Each element specifies the following:- A class ID, object ID, and object store identifying the object.
- An array of identified properties and their values.
- Failure
- If an error has occurred, an
ErrorStackTypeelement is returned.
A typical structure of a
GetSearchMetadata response
is as follows. Elements that are derived from their base element are
in parenthesis:
GetSearchMetadataResponse GetSearchMetadataResponse
(EndofPage)CollectionTerminatorType CollectionTerminator
ObjectValue Object[0]
(SingletonString)PropertyType Property[0]
(SingletonInteger32)PropertyType Property[1]
.
.
ObjectValue Object[1]
.
.
XML Schema
<operation name="GetSearchMetadata">
<input message="tns:GetSearchMetadataRequest"/>
<output message="tns:GetSearchMetadataResponse"/>
<fault message="tns:FaultResponse" name="GeneralError"/>
</operation>