UNPKG

14 kBTypeScriptView Raw
1export declare type SearchQueryInit = string | ISearchQuery | ISearchBuilder;
2export interface ISearchBuilder {
3 query: any;
4 readonly bypassResultTypes: this;
5 readonly enableStemming: this;
6 readonly enableInterleaving: this;
7 readonly enableFql: this;
8 readonly enableNicknames: this;
9 readonly enablePhonetic: this;
10 readonly trimDuplicates: this;
11 readonly processBestBets: this;
12 readonly enableQueryRules: this;
13 readonly enableSorting: this;
14 readonly generateBlockRankLog: this;
15 readonly processPersonalFavorites: this;
16 readonly enableOrderingHitHighlightedProperty: this;
17 culture(culture: number): this;
18 rowLimit(n: number): this;
19 startRow(n: number): this;
20 sourceId(id: string): this;
21 text(queryText: string): this;
22 template(template: string): this;
23 trimDuplicatesIncludeId(n: number): this;
24 rankingModelId(id: string): this;
25 rowsPerPage(n: number): this;
26 selectProperties(...properties: string[]): this;
27 timeZoneId(id: number): this;
28 refinementFilters(...filters: string[]): this;
29 refiners(refiners: string): this;
30 hiddenConstraints(constraints: string): this;
31 sortList(...sorts: ISort[]): this;
32 timeout(milliseconds: number): this;
33 hithighlightedProperties(...properties: string[]): this;
34 clientType(clientType: string): this;
35 personalizationData(data: string): this;
36 resultsURL(url: string): this;
37 queryTag(tags: string): this;
38 properties(...properties: ISearchProperty[]): this;
39 queryTemplatePropertiesUrl(url: string): this;
40 reorderingRules(...rules: IReorderingRule[]): this;
41 hitHighlightedMultivaluePropertyLimit(limit: number): this;
42 collapseSpecification(spec: string): this;
43 uiLanguage(lang: number): this;
44 desiredSnippetLength(len: number): this;
45 maxSnippetLength(len: number): this;
46 summaryLength(len: number): this;
47 toSearchQuery(): ISearchQuery;
48}
49/**
50 * Describes the SearchQuery interface
51 */
52export interface ISearchQuery {
53 /**
54 * A string that contains the text for the search query.
55 */
56 Querytext?: string;
57 /**
58 * A string that contains the text that replaces the query text, as part of a query transform.
59 */
60 QueryTemplate?: string;
61 /**
62 * A Boolean value that specifies whether the result tables that are returned for
63 * the result block are mixed with the result tables that are returned for the original query.
64 */
65 EnableInterleaving?: boolean;
66 /**
67 * A Boolean value that specifies whether stemming is enabled.
68 */
69 EnableStemming?: boolean;
70 /**
71 * A Boolean value that specifies whether duplicate items are removed from the results.
72 */
73 TrimDuplicates?: boolean;
74 /**
75 * A Boolean value that specifies whether the exact terms in the search query are used to find matches, or if nicknames are used also.
76 */
77 EnableNicknames?: boolean;
78 /**
79 * A Boolean value that specifies whether the query uses the FAST Query Language (FQL).
80 */
81 EnableFQL?: boolean;
82 /**
83 * A Boolean value that specifies whether the phonetic forms of the query terms are used to find matches.
84 */
85 EnablePhonetic?: boolean;
86 /**
87 * A Boolean value that specifies whether to perform result type processing for the query.
88 */
89 BypassResultTypes?: boolean;
90 /**
91 * A Boolean value that specifies whether to return best bet results for the query.
92 * This parameter is used only when EnableQueryRules is set to true, otherwise it is ignored.
93 */
94 ProcessBestBets?: boolean;
95 /**
96 * A Boolean value that specifies whether to enable query rules for the query.
97 */
98 EnableQueryRules?: boolean;
99 /**
100 * A Boolean value that specifies whether to sort search results.
101 */
102 EnableSorting?: boolean;
103 /**
104 * Specifies whether to return block rank log information in the BlockRankLog property of the interleaved result table.
105 * A block rank log contains the textual information on the block score and the documents that were de-duplicated.
106 */
107 GenerateBlockRankLog?: boolean;
108 /**
109 * The result source ID to use for executing the search query.
110 */
111 SourceId?: string;
112 /**
113 * The ID of the ranking model to use for the query.
114 */
115 RankingModelId?: string;
116 /**
117 * The first row that is included in the search results that are returned.
118 * You use this parameter when you want to implement paging for search results.
119 */
120 StartRow?: number;
121 /**
122 * The maximum number of rows overall that are returned in the search results.
123 * Compared to RowsPerPage, RowLimit is the maximum number of rows returned overall.
124 */
125 RowLimit?: number;
126 /**
127 * The maximum number of rows to return per page.
128 * Compared to RowLimit, RowsPerPage refers to the maximum number of rows to return per page,
129 * and is used primarily when you want to implement paging for search results.
130 */
131 RowsPerPage?: number;
132 /**
133 * The managed properties to return in the search results.
134 */
135 SelectProperties?: string[];
136 /**
137 * The locale ID (LCID) for the query.
138 */
139 Culture?: number;
140 /**
141 * The set of refinement filters used when issuing a refinement query (FQL)
142 */
143 RefinementFilters?: string[];
144 /**
145 * The set of refiners to return in a search result.
146 */
147 Refiners?: string;
148 /**
149 * The additional query terms to append to the query.
150 */
151 HiddenConstraints?: string;
152 /**
153 * The list of properties by which the search results are ordered.
154 */
155 SortList?: ISort[];
156 /**
157 * The amount of time in milliseconds before the query request times out.
158 */
159 Timeout?: number;
160 /**
161 * The properties to highlight in the search result summary when the property value matches the search terms entered by the user.
162 */
163 HitHighlightedProperties?: string[];
164 /**
165 * The type of the client that issued the query.
166 */
167 ClientType?: string;
168 /**
169 * The GUID for the user who submitted the search query.
170 */
171 PersonalizationData?: string;
172 /**
173 * The URL for the search results page.
174 */
175 ResultsUrl?: string;
176 /**
177 * Custom tags that identify the query. You can specify multiple query tags
178 */
179 QueryTag?: string;
180 /**
181 * Properties to be used to configure the search query
182 */
183 Properties?: ISearchProperty[];
184 /**
185 * A Boolean value that specifies whether to return personal favorites with the search results.
186 */
187 ProcessPersonalFavorites?: boolean;
188 /**
189 * The location of the queryparametertemplate.xml file. This file is used to enable anonymous users to make Search REST queries.
190 */
191 QueryTemplatePropertiesUrl?: string;
192 /**
193 * Special rules for reordering search results.
194 * These rules can specify that documents matching certain conditions are ranked higher or lower in the results.
195 * This property applies only when search results are sorted based on rank.
196 */
197 ReorderingRules?: IReorderingRule[];
198 /**
199 * The number of properties to show hit highlighting for in the search results.
200 */
201 HitHighlightedMultivaluePropertyLimit?: number;
202 /**
203 * A Boolean value that specifies whether the hit highlighted properties can be ordered.
204 */
205 EnableOrderingHitHighlightedProperty?: boolean;
206 /**
207 * The managed properties that are used to determine how to collapse individual search results.
208 * Results are collapsed into one or a specified number of results if they match any of the individual collapse specifications.
209 * In a collapse specification, results are collapsed if their properties match all individual properties in the collapse specification.
210 */
211 CollapseSpecification?: string;
212 /**
213 * The locale identifier (LCID) of the user interface
214 */
215 UIlanguage?: number;
216 /**
217 * The preferred number of characters to display in the hit-highlighted summary generated for a search result.
218 */
219 DesiredSnippetLength?: number;
220 /**
221 * The maximum number of characters to display in the hit-highlighted summary generated for a search result.
222 */
223 MaxSnippetLength?: number;
224 /**
225 * The number of characters to display in the result summary for a search result.
226 */
227 SummaryLength?: number;
228}
229/**
230 * Provides hints at the properties which may be available on the result object
231 */
232export interface ISearchResult {
233 Rank?: number;
234 DocId?: number;
235 WorkId?: number;
236 Title?: string;
237 Author?: string;
238 Size?: number;
239 Path?: string;
240 Description?: string;
241 Write?: Date;
242 LastModifiedTime?: Date;
243 CollapsingStatus?: number;
244 HitHighlightedSummary?: string;
245 HitHighlightedProperties?: string;
246 contentclass?: string;
247 PictureThumbnailURL?: string;
248 ServerRedirectedURL?: string;
249 ServerRedirectedEmbedURL?: string;
250 ServerRedirectedPreviewURL?: string;
251 FileExtension?: string;
252 ContentTypeId?: string;
253 ParentLink?: string;
254 ViewsLifeTime?: number;
255 ViewsRecent?: number;
256 SectionNames?: string;
257 SectionIndexes?: string;
258 SiteLogo?: string;
259 SiteDescription?: string;
260 importance?: number;
261 SiteName?: string;
262 IsDocument?: boolean;
263 FileType?: string;
264 IsContainer?: boolean;
265 WebTemplate?: string;
266 SPWebUrl?: string;
267 UniqueId?: string;
268 ProgId?: string;
269 OriginalPath?: string;
270 RenderTemplateId?: string;
271 PartitionId?: string;
272 UrlZone?: number;
273 Culture?: string;
274}
275export interface ISearchResponse {
276 ElapsedTime: number;
277 Properties?: {
278 Key: string;
279 Value: any;
280 ValueType: string;
281 }[];
282 PrimaryQueryResult?: IResultTableCollection;
283 SecondaryQueryResults?: IResultTableCollection;
284 SpellingSuggestion?: string;
285 TriggeredRules?: any[];
286}
287export interface IResultTableCollection {
288 QueryErrors?: Map<string, any>;
289 QueryId?: string;
290 QueryRuleId?: string;
291 CustomResults?: IResultTable;
292 RefinementResults?: IResultTable;
293 RelevantResults?: IResultTable;
294 SpecialTermResults?: IResultTable;
295}
296export interface IRefiner {
297 Name: string;
298 Entries: {
299 RefinementCount: string;
300 RefinementName: string;
301 RefinementToken: string;
302 RefinementValue: string;
303 }[];
304}
305export interface IResultTable {
306 GroupTemplateId?: string;
307 ItemTemplateId?: string;
308 Properties?: {
309 Key: string;
310 Value: any;
311 ValueType: string;
312 }[];
313 Table?: {
314 Rows: {
315 Cells: {
316 Key: string;
317 Value: any;
318 ValueType: string;
319 }[];
320 }[];
321 };
322 Refiners?: IRefiner[];
323 ResultTitle?: string;
324 ResultTitleUrl?: string;
325 RowCount?: number;
326 TableType?: string;
327 TotalRows?: number;
328 TotalRowsIncludingDuplicates?: number;
329}
330/**
331 * Defines how search results are sorted.
332 */
333export interface ISort {
334 /**
335 * The name for a property by which the search results are ordered.
336 */
337 Property: string;
338 /**
339 * The direction in which search results are ordered.
340 */
341 Direction: SortDirection;
342}
343/**
344 * Defines one search property
345 */
346export interface ISearchProperty {
347 Name: string;
348 Value: ISearchPropertyValue;
349}
350/**
351 * Defines one search property value. Set only one of StrlVal/BoolVal/IntVal/StrArray.
352 */
353export interface ISearchPropertyValue {
354 StrVal?: string;
355 BoolVal?: boolean;
356 IntVal?: number;
357 StrArray?: string[];
358 QueryPropertyValueTypeIndex: QueryPropertyValueType;
359}
360/**
361 * defines the SortDirection enum
362 */
363export declare enum SortDirection {
364 Ascending = 0,
365 Descending = 1,
366 FQLFormula = 2
367}
368/**
369 * Defines how ReorderingRule interface, used for reordering results
370 */
371export interface IReorderingRule {
372 /**
373 * The value to match on
374 */
375 MatchValue: string;
376 /**
377 * The rank boosting
378 */
379 Boost: number;
380 /**
381 * The rank boosting
382 */
383 MatchType: ReorderingRuleMatchType;
384}
385/**
386 * defines the ReorderingRuleMatchType enum
387 */
388export declare enum ReorderingRuleMatchType {
389 ResultContainsKeyword = 0,
390 TitleContainsKeyword = 1,
391 TitleMatchesKeyword = 2,
392 UrlStartsWith = 3,
393 UrlExactlyMatches = 4,
394 ContentTypeIs = 5,
395 FileExtensionMatches = 6,
396 ResultHasTag = 7,
397 ManualCondition = 8
398}
399/**
400 * Specifies the type value for the property
401 */
402export declare enum QueryPropertyValueType {
403 None = 0,
404 StringType = 1,
405 Int32Type = 2,
406 BooleanType = 3,
407 StringArrayType = 4,
408 UnSupportedType = 5
409}
410export declare class SearchBuiltInSourceId {
411 static readonly Documents = "e7ec8cee-ded8-43c9-beb5-436b54b31e84";
412 static readonly ItemsMatchingContentType = "5dc9f503-801e-4ced-8a2c-5d1237132419";
413 static readonly ItemsMatchingTag = "e1327b9c-2b8c-4b23-99c9-3730cb29c3f7";
414 static readonly ItemsRelatedToCurrentUser = "48fec42e-4a92-48ce-8363-c2703a40e67d";
415 static readonly ItemsWithSameKeywordAsThisItem = "5c069288-1d17-454a-8ac6-9c642a065f48";
416 static readonly LocalPeopleResults = "b09a7990-05ea-4af9-81ef-edfab16c4e31";
417 static readonly LocalReportsAndDataResults = "203fba36-2763-4060-9931-911ac8c0583b";
418 static readonly LocalSharePointResults = "8413cd39-2156-4e00-b54d-11efd9abdb89";
419 static readonly LocalVideoResults = "78b793ce-7956-4669-aa3b-451fc5defebf";
420 static readonly Pages = "5e34578e-4d08-4edc-8bf3-002acf3cdbcc";
421 static readonly Pictures = "38403c8c-3975-41a8-826e-717f2d41568a";
422 static readonly Popular = "97c71db1-58ce-4891-8b64-585bc2326c12";
423 static readonly RecentlyChangedItems = "ba63bbae-fa9c-42c0-b027-9a878f16557c";
424 static readonly RecommendedItems = "ec675252-14fa-4fbe-84dd-8d098ed74181";
425 static readonly Wiki = "9479bf85-e257-4318-b5a8-81a180f5faa1";
426}
427//# sourceMappingURL=types.d.ts.map
\No newline at end of file