[ADF-3806] Updated Search Service docs (#4044)

This commit is contained in:
Andy Stark
2018-12-05 14:33:21 +00:00
committed by Eugenio Romano
parent 5d17878129
commit 81c84074ec
2 changed files with 69 additions and 16 deletions

View File

@@ -33,6 +33,12 @@ export class SearchService {
private searchConfigurationService: SearchConfigurationService) {
}
/**
* Gets a list of nodes that match the given search criteria.
* @param term Term to search for
* @param options Options for delivery of the search results
* @returns List of nodes resulting from the search
*/
getNodeQueryResults(term: string, options?: SearchOptions): Observable<NodePaging> {
const promise = this.apiService.getInstance().core.queriesApi.findNodes(term, options);
@@ -45,6 +51,13 @@ export class SearchService {
);
}
/**
* Performs a search.
* @param searchTerm Term to search for
* @param maxResults Maximum number of items in the list of results
* @param skipCount Number of higher-ranked items to skip over in the list
* @returns List of search results
*/
search(searchTerm: string, maxResults: number, skipCount: number): Observable<NodePaging> {
const searchQuery = Object.assign(this.searchConfigurationService.generateQueryBody(searchTerm, maxResults, skipCount));
const promise = this.apiService.getInstance().search.searchApi.search(searchQuery);
@@ -58,6 +71,11 @@ export class SearchService {
);
}
/**
* Performs a search with its parameters supplied by a QueryBody object.
* @param queryBody Object containing the search parameters
* @returns List of search results
*/
searchByQueryBody(queryBody: QueryBody): Observable<NodePaging> {
const promise = this.apiService.getInstance().search.searchApi.search(queryBody);
@@ -76,11 +94,39 @@ export class SearchService {
}
export interface SearchOptions {
/** The number of entities that exist in the collection before those included in this list. */
skipCount?: number;
/** The maximum number of items to return in the list. */
maxItems?: number;
/** The id of the node to start the search from. Supports the aliases -my-, -root- and -shared-. */
rootNodeId?: string;
/** Restrict the returned results to only those of the given node type and its sub-types. */
nodeType?: string;
/**
* Return additional information about the node. The available optional fields are:
* `allowableOperations`, `aspectNames`, `isLink`, `isLocked`, `path` and `properties`.
*/
include?: string[];
/**
* String to control the order of the entities returned in a list. You can use this
* parameter to sort the list by one or more fields. Each field has a default sort order,
* which is normally ascending order (but see the JS-API docs to check if any fields used
* in a method have a descending default search order). To sort the entities in a specific
* order, you can use the "ASC" and "DESC" keywords for any field.
*/
orderBy?: string;
/**
* List of field names. You can use this parameter to restrict the fields returned within
* a response if, for example, you want to save on overall bandwidth. The list applies to a
* returned individual entity or entries within a collection. If the API method also supports
* the `include` parameter, then the fields specified in the include parameter are returned in
* addition to those specified in the fields parameter.
*/
fields?: string[];
}