• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

yext / search-core / 13399991792

18 Feb 2025 09:03PM UTC coverage: 88.937% (-0.3%) from 89.252%
13399991792

Pull #293

github

web-flow
Merge 65757c63b into ad7ea9357
Pull Request #293: Version 2.6.0

174 of 203 branches covered (85.71%)

Branch coverage included in aggregate %.

21 of 23 new or added lines in 5 files covered. (91.3%)

236 of 258 relevant lines covered (91.47%)

9.53 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/SearchCore.ts
1
import { SearchService } from './services/SearchService';
2
import { UniversalSearchRequest } from './models/searchservice/request/UniversalSearchRequest';
3
import { UniversalSearchResponse } from './models/searchservice/response/UniversalSearchResponse';
4
import { VerticalSearchRequest } from './models/searchservice/request/VerticalSearchRequest';
5
import { VerticalSearchResponse } from './models/searchservice/response/VerticalSearchResponse';
6

7
import { QuestionSubmissionService } from './services/QuestionSubmissionService';
8
import { QuestionSubmissionRequest } from './models/questionsubmission/QuestionSubmissionRequest';
9
import { QuestionSubmissionResponse } from './models/questionsubmission/QuestionSubmissionResponse';
10
import { UniversalAutocompleteRequest, VerticalAutocompleteRequest, FilterSearchRequest }
11
  from './models/autocompleteservice/AutocompleteRequest';
12
import { AutocompleteResponse, FilterSearchResponse } from './models/autocompleteservice/AutocompleteResponse';
13
import { AutocompleteService } from './services/AutocompleteService';
14

15
import { GenerativeDirectAnswerRequest } from './models/generativedirectanswer/GenerativeDirectAnswerRequest';
16
import { GenerativeDirectAnswerResponse } from './models/generativedirectanswer/GenerativeDirectAnswerResponse';
17
import { GenerativeDirectAnswerService } from './services/GenerativeDirectAnswerService';
18

19
/**
20
 * Provides methods for executing searches, submitting questions, and performing autocompletes.
21
 *
22
 * @public
23
 */
24
export class SearchCore {
25
  constructor(
26
    private searchService: SearchService,
27
    private questionSubmissionService: QuestionSubmissionService,
28
    private autoCompleteService: AutocompleteService,
29
    private generativeDirectAnswerService: GenerativeDirectAnswerService,
30
  ) {}
31

32
  /**
33
   * Performs a search across all verticals.
34
   *
35
   * @remarks
36
   * If rejected, the reason will be an {@link SearchError}.
37
   *
38
   * @param request - Universal search request options
39
   */
40
  universalSearch(request: UniversalSearchRequest): Promise<UniversalSearchResponse> {
41
    return this.searchService.universalSearch(request);
×
42
  }
43

44
  /**
45
   * Performs a search for a single vertical.
46
   *
47
   * @remarks
48
   * If rejected, the reason will be an {@link SearchError}.
49
   *
50
   * @param request - Vertical search request options
51
   */
52
  verticalSearch(request: VerticalSearchRequest): Promise<VerticalSearchResponse> {
53
    return this.searchService.verticalSearch(request);
×
54
  }
55

56
  /**
57
   * Submits a custom question to the Search API.
58
   *
59
   * @remarks
60
   * If rejected, the reason will be an {@link SearchError}.
61
   *
62
   * @param request - Question submission request options
63
   */
64
  submitQuestion(request: QuestionSubmissionRequest): Promise<QuestionSubmissionResponse> {
65
    return this.questionSubmissionService.submitQuestion(request);
×
66
  }
67

68
  /**
69
   * Performs an autocomplete request across all verticals.
70
   *
71
   * @remarks
72
   * If rejected, the reason will be an {@link SearchError}.
73
   *
74
   * @param request - Universal autocomplete request options
75
   */
76
  universalAutocomplete(request: UniversalAutocompleteRequest): Promise<AutocompleteResponse> {
77
    return this.autoCompleteService.universalAutocomplete(request);
×
78
  }
79

80
  /**
81
   * Performs an autocomplete request for a single vertical.
82
   *
83
   * @remarks
84
   * If rejected, the reason will be an {@link SearchError}.
85
   *
86
   * @param request - Vertical autocomplete request options
87
   */
88
  verticalAutocomplete(request: VerticalAutocompleteRequest): Promise<AutocompleteResponse> {
89
    return this.autoCompleteService.verticalAutocomplete(request);
×
90
  }
91

92
  /**
93
   * Performs a filtersearch request against specified fields within a single vertical.
94
   *
95
   * @remarks
96
   * This differs from the vertical autocomplete because the vertical autocomplete
97
   * operates on all entity fields whereas filtersearch operates only on specified fields.
98
   * If rejected, the reason will be an {@link SearchError}.
99
   *
100
   * @example
101
   * A site has a 'products' vertical and would like a way to allow the user to narrow down
102
   * the results by the product name. The site can add a second search bar powered by filtersearch
103
   * which will include only product names as search suggestions.
104
   *
105
   * @param request - filtersearch request options
106
   */
107
  filterSearch(request: FilterSearchRequest): Promise<FilterSearchResponse> {
108
    return this.autoCompleteService.filterSearch(request);
×
109
  }
110

111
  /**
112
   * Performs a generative direct answer request.
113
   *
114
   * @remarks
115
   * If rejected, the reason will be an {@link SearchError}.
116
   *
117
   * @param request - Generative direct answer request options
118
   */
119
  generativeDirectAnswer(request: GenerativeDirectAnswerRequest): Promise<GenerativeDirectAnswerResponse> {
NEW
120
    return this.generativeDirectAnswerService.generateAnswer(request);
×
121
  }
122
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc