UNPKG

14.3 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?: string;
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 GeoLocationSource?: string;
275 SiteId?: string;
276 WebId?: string;
277 ListId?: string;
278 IsExternalContent?: boolean;
279 DocumentSignature?: string;
280 LinkingUrl?: string;
281 ResultTypeId?: string;
282 ResultTypeIdList?: string;
283}
284export interface ISearchResponse {
285 ElapsedTime: number;
286 Properties?: {
287 Key: string;
288 Value: any;
289 ValueType: string;
290 }[];
291 PrimaryQueryResult?: IResultTableCollection;
292 SecondaryQueryResults?: IResultTableCollection;
293 SpellingSuggestion?: string;
294 TriggeredRules?: any[];
295}
296export interface IResultTableCollection {
297 QueryErrors?: Map<string, any>;
298 QueryId?: string;
299 QueryRuleId?: string;
300 CustomResults?: IResultTable;
301 RefinementResults?: IResultTable;
302 RelevantResults?: IResultTable;
303 SpecialTermResults?: IResultTable;
304}
305export interface IRefiner {
306 Name: string;
307 Entries: {
308 RefinementCount: string;
309 RefinementName: string;
310 RefinementToken: string;
311 RefinementValue: string;
312 }[];
313}
314export interface IResultTable {
315 GroupTemplateId?: string;
316 ItemTemplateId?: string;
317 Properties?: {
318 Key: string;
319 Value: any;
320 ValueType: string;
321 }[];
322 Table?: {
323 Rows: {
324 Cells: {
325 Key: string;
326 Value: any;
327 ValueType: string;
328 }[];
329 }[];
330 };
331 Refiners?: IRefiner[];
332 ResultTitle?: string;
333 ResultTitleUrl?: string;
334 RowCount?: number;
335 TableType?: string;
336 TotalRows?: number;
337 TotalRowsIncludingDuplicates?: number;
338}
339/**
340 * Defines how search results are sorted.
341 */
342export interface ISort {
343 /**
344 * The name for a property by which the search results are ordered.
345 */
346 Property: string;
347 /**
348 * The direction in which search results are ordered.
349 */
350 Direction: SortDirection;
351}
352/**
353 * Defines one search property
354 */
355export interface ISearchProperty {
356 Name: string;
357 Value: ISearchPropertyValue;
358}
359/**
360 * Defines one search property value. Set only one of StrlVal/BoolVal/IntVal/StrArray.
361 */
362export interface ISearchPropertyValue {
363 StrVal?: string;
364 BoolVal?: boolean;
365 IntVal?: number;
366 StrArray?: string[];
367 QueryPropertyValueTypeIndex: QueryPropertyValueType;
368}
369/**
370 * defines the SortDirection enum
371 */
372export declare enum SortDirection {
373 Ascending = 0,
374 Descending = 1,
375 FQLFormula = 2
376}
377/**
378 * Defines how ReorderingRule interface, used for reordering results
379 */
380export interface IReorderingRule {
381 /**
382 * The value to match on
383 */
384 MatchValue: string;
385 /**
386 * The rank boosting
387 */
388 Boost: number;
389 /**
390 * The rank boosting
391 */
392 MatchType: ReorderingRuleMatchType;
393}
394/**
395 * defines the ReorderingRuleMatchType enum
396 */
397export declare enum ReorderingRuleMatchType {
398 ResultContainsKeyword = 0,
399 TitleContainsKeyword = 1,
400 TitleMatchesKeyword = 2,
401 UrlStartsWith = 3,
402 UrlExactlyMatches = 4,
403 ContentTypeIs = 5,
404 FileExtensionMatches = 6,
405 ResultHasTag = 7,
406 ManualCondition = 8
407}
408/**
409 * Specifies the type value for the property
410 */
411export declare enum QueryPropertyValueType {
412 None = 0,
413 StringType = 1,
414 Int32Type = 2,
415 BooleanType = 3,
416 StringArrayType = 4,
417 UnSupportedType = 5
418}
419export declare class SearchBuiltInSourceId {
420 static readonly Documents = "e7ec8cee-ded8-43c9-beb5-436b54b31e84";
421 static readonly ItemsMatchingContentType = "5dc9f503-801e-4ced-8a2c-5d1237132419";
422 static readonly ItemsMatchingTag = "e1327b9c-2b8c-4b23-99c9-3730cb29c3f7";
423 static readonly ItemsRelatedToCurrentUser = "48fec42e-4a92-48ce-8363-c2703a40e67d";
424 static readonly ItemsWithSameKeywordAsThisItem = "5c069288-1d17-454a-8ac6-9c642a065f48";
425 static readonly LocalPeopleResults = "b09a7990-05ea-4af9-81ef-edfab16c4e31";
426 static readonly LocalReportsAndDataResults = "203fba36-2763-4060-9931-911ac8c0583b";
427 static readonly LocalSharePointResults = "8413cd39-2156-4e00-b54d-11efd9abdb89";
428 static readonly LocalVideoResults = "78b793ce-7956-4669-aa3b-451fc5defebf";
429 static readonly Pages = "5e34578e-4d08-4edc-8bf3-002acf3cdbcc";
430 static readonly Pictures = "38403c8c-3975-41a8-826e-717f2d41568a";
431 static readonly Popular = "97c71db1-58ce-4891-8b64-585bc2326c12";
432 static readonly RecentlyChangedItems = "ba63bbae-fa9c-42c0-b027-9a878f16557c";
433 static readonly RecommendedItems = "ec675252-14fa-4fbe-84dd-8d098ed74181";
434 static readonly Wiki = "9479bf85-e257-4318-b5a8-81a180f5faa1";
435}
436//# sourceMappingURL=types.d.ts.map
\No newline at end of file