@yext/search-core
Version:
Typescript Networking Library for the Yext Search API
100 lines • 3.66 kB
JavaScript
/**
* Provides methods for executing searches, submitting questions, and performing autocompletes.
*
* @public
*/
var SearchCore = /** @class */ (function () {
function SearchCore(searchService, questionSubmissionService, autoCompleteService, generativeDirectAnswerService) {
this.searchService = searchService;
this.questionSubmissionService = questionSubmissionService;
this.autoCompleteService = autoCompleteService;
this.generativeDirectAnswerService = generativeDirectAnswerService;
}
/**
* Performs a search across all verticals.
*
* @remarks
* If rejected, the reason will be an {@link SearchError}.
*
* @param request - Universal search request options
*/
SearchCore.prototype.universalSearch = function (request) {
return this.searchService.universalSearch(request);
};
/**
* Performs a search for a single vertical.
*
* @remarks
* If rejected, the reason will be an {@link SearchError}.
*
* @param request - Vertical search request options
*/
SearchCore.prototype.verticalSearch = function (request) {
return this.searchService.verticalSearch(request);
};
/**
* Submits a custom question to the Search API.
*
* @remarks
* If rejected, the reason will be an {@link SearchError}.
*
* @param request - Question submission request options
*/
SearchCore.prototype.submitQuestion = function (request) {
return this.questionSubmissionService.submitQuestion(request);
};
/**
* Performs an autocomplete request across all verticals.
*
* @remarks
* If rejected, the reason will be an {@link SearchError}.
*
* @param request - Universal autocomplete request options
*/
SearchCore.prototype.universalAutocomplete = function (request) {
return this.autoCompleteService.universalAutocomplete(request);
};
/**
* Performs an autocomplete request for a single vertical.
*
* @remarks
* If rejected, the reason will be an {@link SearchError}.
*
* @param request - Vertical autocomplete request options
*/
SearchCore.prototype.verticalAutocomplete = function (request) {
return this.autoCompleteService.verticalAutocomplete(request);
};
/**
* Performs a filtersearch request against specified fields within a single vertical.
*
* @remarks
* This differs from the vertical autocomplete because the vertical autocomplete
* operates on all entity fields whereas filtersearch operates only on specified fields.
* If rejected, the reason will be an {@link SearchError}.
*
* @example
* A site has a 'products' vertical and would like a way to allow the user to narrow down
* the results by the product name. The site can add a second search bar powered by filtersearch
* which will include only product names as search suggestions.
*
* @param request - filtersearch request options
*/
SearchCore.prototype.filterSearch = function (request) {
return this.autoCompleteService.filterSearch(request);
};
/**
* Performs a generative direct answer request.
*
* @remarks
* If rejected, the reason will be an {@link SearchError}.
*
* @param request - Generative direct answer request options
*/
SearchCore.prototype.generativeDirectAnswer = function (request) {
return this.generativeDirectAnswerService.generateAnswer(request);
};
return SearchCore;
}());
export { SearchCore };
//# sourceMappingURL=SearchCore.js.map