UNPKG

@yext/search-core

Version:

Typescript Networking Library for the Yext Search API

102 lines 3.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SearchCore = void 0; /** * Provides methods for executing searches, submitting questions, and performing autocompletes. * * @public */ class SearchCore { constructor(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 */ universalSearch(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 */ verticalSearch(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 */ submitQuestion(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 */ universalAutocomplete(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 */ verticalAutocomplete(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 */ filterSearch(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 */ generativeDirectAnswer(request) { return this.generativeDirectAnswerService.generateAnswer(request); } } exports.SearchCore = SearchCore; //# sourceMappingURL=SearchCore.js.map