BaseSearchRequestOptions interface

Parameters for filtering, sorting, faceting, paging, and other search query behaviors.

Properties

facets

The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value pairs.

filter

The OData $filter expression to apply to the search query.

highlightFields

The comma-separated list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.

highlightPostTag

A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>.

highlightPreTag

A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>.

includeTotalCount

A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

minimumCoverage

A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 100.

orderBy

The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses.

queryType

A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax. Possible values include: 'simple', 'full', 'semantic'

scoringParameters

The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. For example, if the scoring profile defines a function with a parameter called 'mylocation' the parameter string would be "mylocation--122.2,44.8" (without the quotes).

scoringProfile

The name of a scoring profile to evaluate match scores for matching documents in order to sort the results.

scoringStatistics

A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. Possible values include: 'Local', 'Global'

searchFields

The comma-separated list of field names to which to scope the full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names of each fielded search expression take precedence over any field names listed in this parameter.

searchMode

A value that specifies whether any or all of the search terms must be matched in order to count the document as a match. Possible values include: 'any', 'all'

select

The list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included.

sessionId

A value to be used to create a sticky session, which can help to get more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character.

skip

The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use skip due to this limitation, consider using orderby on a totally-ordered key and filter with a range query instead.

top

The number of search results to retrieve. This can be used in conjunction with $skip to implement client-side paging of search results. If results are truncated due to server-side paging, the response will include a continuation token that can be used to issue another Search request for the next page of results.

vectorSearchOptions

Defines options for vector search queries

Property Details

facets

The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value pairs.

facets?: string[]

Property Value

string[]

filter

The OData $filter expression to apply to the search query.

filter?: string

Property Value

string

highlightFields

The comma-separated list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.

highlightFields?: string

Property Value

string

highlightPostTag

A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>.

highlightPostTag?: string

Property Value

string

highlightPreTag

A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>.

highlightPreTag?: string

Property Value

string

includeTotalCount

A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

includeTotalCount?: boolean

Property Value

boolean

minimumCoverage

A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 100.

minimumCoverage?: number

Property Value

number

orderBy

The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses.

orderBy?: string[]

Property Value

string[]

queryType

A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax. Possible values include: 'simple', 'full', 'semantic'

queryType?: QueryType

Property Value

scoringParameters

The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. For example, if the scoring profile defines a function with a parameter called 'mylocation' the parameter string would be "mylocation--122.2,44.8" (without the quotes).

scoringParameters?: string[]

Property Value

string[]

scoringProfile

The name of a scoring profile to evaluate match scores for matching documents in order to sort the results.

scoringProfile?: string

Property Value

string

scoringStatistics

A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. Possible values include: 'Local', 'Global'

scoringStatistics?: ScoringStatistics

Property Value

searchFields

The comma-separated list of field names to which to scope the full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names of each fielded search expression take precedence over any field names listed in this parameter.

searchFields?: SearchFieldArray<TModel>

Property Value

searchMode

A value that specifies whether any or all of the search terms must be matched in order to count the document as a match. Possible values include: 'any', 'all'

searchMode?: SearchMode

Property Value

select

The list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included.

select?: SelectArray<TFields>

Property Value

SelectArray<TFields>

sessionId

A value to be used to create a sticky session, which can help to get more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character.

sessionId?: string

Property Value

string

skip

The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use skip due to this limitation, consider using orderby on a totally-ordered key and filter with a range query instead.

skip?: number

Property Value

number

top

The number of search results to retrieve. This can be used in conjunction with $skip to implement client-side paging of search results. If results are truncated due to server-side paging, the response will include a continuation token that can be used to issue another Search request for the next page of results.

top?: number

Property Value

number

vectorSearchOptions

Defines options for vector search queries

vectorSearchOptions?: VectorSearchOptions<TModel>

Property Value