SearchRequest Class

  • java.lang.Object
    • com.azure.search.documents.models.SearchRequest

Implements

public final class SearchRequest
implements JsonSerializable<SearchRequest>

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

Constructor Summary

Constructor Description
SearchRequest()

Creates an instance of SearchRequest class.

Method Summary

Modifier and Type Method and Description
static SearchRequest fromJson(JsonReader jsonReader)

Reads an instance of SearchRequest from the JsonReader.

QueryAnswerType getAnswers()

Get the answers property: A value that specifies whether answers should be returned as part of the search response.

QueryCaptionType getCaptions()

Get the captions property: A value that specifies whether captions should be returned as part of the search response.

QueryDebugMode getDebug()

Get the debug property: Enables a debugging tool that can be used to further explore your reranked results.

List<String> getFacets()

Get the facets property: The list of facet expressions to apply to the search query.

String getFilter()

Get the filter property: The OData $filter expression to apply to the search query.

List<String> getHighlightFields()

Get the highlightFields property: The comma-separated list of field names to use for hit highlights.

String getHighlightPostTag()

Get the highlightPostTag property: A string tag that is appended to hit highlights.

String getHighlightPreTag()

Get the highlightPreTag property: A string tag that is prepended to hit highlights.

Double getMinimumCoverage()

Get the minimumCoverage property: 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.

List<String> getOrderBy()

Get the orderBy property: The comma-separated list of OData $orderby expressions by which to sort the results.

QueryType getQueryType()

Get the queryType property: A value that specifies the syntax of the search query.

List<String> getScoringParameters()

Get the scoringParameters property: The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values.

String getScoringProfile()

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

ScoringStatistics getScoringStatistics()

Get the scoringStatistics property: 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.

List<String> getSearchFields()

Get the searchFields property: The comma-separated list of field names to which to scope the full-text search.

SearchMode getSearchMode()

Get the searchMode property: A value that specifies whether any or all of the search terms must be matched in order to count the document as a match.

String getSearchText()

Get the searchText property: A full-text search query expression; Use "*" or omit this parameter to match all documents.

List<String> getSelect()

Get the select property: The comma-separated list of fields to retrieve.

String getSemanticConfigurationName()

Get the semanticConfigurationName property: The name of a semantic configuration that will be used when processing documents for queries of type semantic.

SemanticErrorMode getSemanticErrorHandling()

Get the semanticErrorHandling property: Allows the user to choose whether a semantic call should fail completely (default / current behavior), or to return partial results.

Integer getSemanticMaxWaitInMilliseconds()

Get the semanticMaxWaitInMilliseconds property: Allows the user to set an upper bound on the amount of time it takes for semantic enrichment to finish processing before the request fails.

String getSemanticQuery()

Get the semanticQuery property: Allows setting a separate search query that will be solely used for semantic reranking, semantic captions and semantic answers.

String getSessionId()

Get the sessionId property: A value to be used to create a sticky session, which can help getting more consistent results.

Integer getSkip()

Get the skip property: The number of search results to skip.

Integer getTop()

Get the top property: The number of search results to retrieve.

VectorFilterMode getVectorFilterMode()

Get the vectorFilterMode property: Determines whether or not filters are applied before or after the vector search is performed.

List<VectorQuery> getVectorQueries()

Get the vectorQueries property: The query parameters for vector and hybrid search queries.

Boolean isIncludeTotalCount()

Get the includeTotalCount property: A value that specifies whether to fetch the total count of results.

SearchRequest setAnswers(QueryAnswerType answers)

Set the answers property: A value that specifies whether answers should be returned as part of the search response.

SearchRequest setCaptions(QueryCaptionType captions)

Set the captions property: A value that specifies whether captions should be returned as part of the search response.

SearchRequest setDebug(QueryDebugMode debug)

Set the debug property: Enables a debugging tool that can be used to further explore your reranked results.

SearchRequest setFacets(List<String> facets)

Set the facets property: The list of facet expressions to apply to the search query.

SearchRequest setFilter(String filter)

Set the filter property: The OData $filter expression to apply to the search query.

SearchRequest setHighlightFields(List<String> highlightFields)

Set the highlightFields property: The comma-separated list of field names to use for hit highlights.

SearchRequest setHighlightPostTag(String highlightPostTag)

Set the highlightPostTag property: A string tag that is appended to hit highlights.

SearchRequest setHighlightPreTag(String highlightPreTag)

Set the highlightPreTag property: A string tag that is prepended to hit highlights.

SearchRequest setIncludeTotalCount(Boolean includeTotalCount)

Set the includeTotalCount property: A value that specifies whether to fetch the total count of results.

SearchRequest setMinimumCoverage(Double minimumCoverage)

Set the minimumCoverage property: 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.

SearchRequest setOrderBy(List<String> orderBy)

Set the orderBy property: The comma-separated list of OData $orderby expressions by which to sort the results.

SearchRequest setQueryType(QueryType queryType)

Set the queryType property: A value that specifies the syntax of the search query.

SearchRequest setScoringParameters(List<String> scoringParameters)

Set the scoringParameters property: The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values.

SearchRequest setScoringProfile(String scoringProfile)

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

SearchRequest setScoringStatistics(ScoringStatistics scoringStatistics)

Set the scoringStatistics property: 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.

SearchRequest setSearchFields(List<String> searchFields)

Set the searchFields property: The comma-separated list of field names to which to scope the full-text search.

SearchRequest setSearchMode(SearchMode searchMode)

Set the searchMode property: A value that specifies whether any or all of the search terms must be matched in order to count the document as a match.

SearchRequest setSearchText(String searchText)

Set the searchText property: A full-text search query expression; Use "*" or omit this parameter to match all documents.

SearchRequest setSelect(List<String> select)

Set the select property: The comma-separated list of fields to retrieve.

SearchRequest setSemanticConfigurationName(String semanticConfigurationName)

Set the semanticConfigurationName property: The name of a semantic configuration that will be used when processing documents for queries of type semantic.

SearchRequest setSemanticErrorHandling(SemanticErrorMode semanticErrorHandling)

Set the semanticErrorHandling property: Allows the user to choose whether a semantic call should fail completely (default / current behavior), or to return partial results.

SearchRequest setSemanticMaxWaitInMilliseconds(Integer semanticMaxWaitInMilliseconds)

Set the semanticMaxWaitInMilliseconds property: Allows the user to set an upper bound on the amount of time it takes for semantic enrichment to finish processing before the request fails.

SearchRequest setSemanticQuery(String semanticQuery)

Set the semanticQuery property: Allows setting a separate search query that will be solely used for semantic reranking, semantic captions and semantic answers.

SearchRequest setSessionId(String sessionId)

Set the sessionId property: A value to be used to create a sticky session, which can help getting more consistent results.

SearchRequest setSkip(Integer skip)

Set the skip property: The number of search results to skip.

SearchRequest setTop(Integer top)

Set the top property: The number of search results to retrieve.

SearchRequest setVectorFilterMode(VectorFilterMode vectorFilterMode)

Set the vectorFilterMode property: Determines whether or not filters are applied before or after the vector search is performed.

SearchRequest setVectorQueries(List<VectorQuery> vectorQueries)

Set the vectorQueries property: The query parameters for vector and hybrid search queries.

JsonWriter toJson(JsonWriter jsonWriter)

Methods inherited from java.lang.Object

Constructor Details

SearchRequest

public SearchRequest()

Creates an instance of SearchRequest class.

Method Details

fromJson

public static SearchRequest fromJson(JsonReader jsonReader)

Reads an instance of SearchRequest from the JsonReader.

Parameters:

jsonReader - The JsonReader being read.

Returns:

An instance of SearchRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.

Throws:

IOException

- If an error occurs while reading the SearchRequest.

getAnswers

public QueryAnswerType getAnswers()

Get the answers property: A value that specifies whether answers should be returned as part of the search response.

Returns:

the answers value.

getCaptions

public QueryCaptionType getCaptions()

Get the captions property: A value that specifies whether captions should be returned as part of the search response.

Returns:

the captions value.

getDebug

public QueryDebugMode getDebug()

Get the debug property: Enables a debugging tool that can be used to further explore your reranked results.

Returns:

the debug value.

getFacets

public List<String> getFacets()

Get the facets property: 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.

Returns:

the facets value.

getFilter

public String getFilter()

Get the filter property: The OData $filter expression to apply to the search query.

Returns:

the filter value.

getHighlightFields

public List<String> getHighlightFields()

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

Returns:

the highlightFields value.

getHighlightPostTag

public String getHighlightPostTag()

Get the highlightPostTag property: A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is .

Returns:

the highlightPostTag value.

getHighlightPreTag

public String getHighlightPreTag()

Get the highlightPreTag property: A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is .

Returns:

the highlightPreTag value.

getMinimumCoverage

public Double getMinimumCoverage()

Get the minimumCoverage property: 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.

Returns:

the minimumCoverage value.

getOrderBy

public List<String> getOrderBy()

Get the orderBy property: The comma-separated 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.

Returns:

the orderBy value.

getQueryType

public QueryType getQueryType()

Get the queryType property: A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax.

Returns:

the queryType value.

getScoringParameters

public List<String> getScoringParameters()

Get the scoringParameters property: 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).

Returns:

the scoringParameters value.

getScoringProfile

public String getScoringProfile()

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

Returns:

the scoringProfile value.

getScoringStatistics

public ScoringStatistics getScoringStatistics()

Get the scoringStatistics property: 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. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries.

Returns:

the scoringStatistics value.

getSearchFields

public List<String> getSearchFields()

Get the searchFields property: 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.

Returns:

the searchFields value.

getSearchMode

public SearchMode getSearchMode()

Get the searchMode property: A value that specifies whether any or all of the search terms must be matched in order to count the document as a match.

Returns:

the searchMode value.

getSearchText

public String getSearchText()

Get the searchText property: A full-text search query expression; Use "*" or omit this parameter to match all documents.

Returns:

the searchText value.

getSelect

public List<String> getSelect()

Get the select property: The comma-separated list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included.

Returns:

the select value.

getSemanticConfigurationName

public String getSemanticConfigurationName()

Get the semanticConfigurationName property: The name of a semantic configuration that will be used when processing documents for queries of type semantic.

Returns:

the semanticConfigurationName value.

getSemanticErrorHandling

public SemanticErrorMode getSemanticErrorHandling()

Get the semanticErrorHandling property: Allows the user to choose whether a semantic call should fail completely (default / current behavior), or to return partial results.

Returns:

the semanticErrorHandling value.

getSemanticMaxWaitInMilliseconds

public Integer getSemanticMaxWaitInMilliseconds()

Get the semanticMaxWaitInMilliseconds property: Allows the user to set an upper bound on the amount of time it takes for semantic enrichment to finish processing before the request fails.

Returns:

the semanticMaxWaitInMilliseconds value.

getSemanticQuery

public String getSemanticQuery()

Get the semanticQuery property: Allows setting a separate search query that will be solely used for semantic reranking, semantic captions and semantic answers. Is useful for scenarios where there is a need to use different queries between the base retrieval and ranking phase, and the L2 semantic phase.

Returns:

the semanticQuery value.

getSessionId

public String getSessionId()

Get the sessionId property: A value to be used to create a sticky session, which can help getting 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.

Returns:

the sessionId value.

getSkip

public Integer getSkip()

Get the skip property: 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.

Returns:

the skip value.

getTop

public Integer getTop()

Get the top property: 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.

Returns:

the top value.

getVectorFilterMode

public VectorFilterMode getVectorFilterMode()

Get the vectorFilterMode property: Determines whether or not filters are applied before or after the vector search is performed. Default is 'preFilter' for new indexes.

Returns:

the vectorFilterMode value.

getVectorQueries

public List<VectorQuery> getVectorQueries()

Get the vectorQueries property: The query parameters for vector and hybrid search queries.

Returns:

the vectorQueries value.

isIncludeTotalCount

public Boolean isIncludeTotalCount()

Get the includeTotalCount property: 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.

Returns:

the includeTotalCount value.

setAnswers

public SearchRequest setAnswers(QueryAnswerType answers)

Set the answers property: A value that specifies whether answers should be returned as part of the search response.

Parameters:

answers - the answers value to set.

Returns:

the SearchRequest object itself.

setCaptions

public SearchRequest setCaptions(QueryCaptionType captions)

Set the captions property: A value that specifies whether captions should be returned as part of the search response.

Parameters:

captions - the captions value to set.

Returns:

the SearchRequest object itself.

setDebug

public SearchRequest setDebug(QueryDebugMode debug)

Set the debug property: Enables a debugging tool that can be used to further explore your reranked results.

Parameters:

debug - the debug value to set.

Returns:

the SearchRequest object itself.

setFacets

public SearchRequest setFacets(List<String> facets)

Set the facets property: 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.

Parameters:

facets - the facets value to set.

Returns:

the SearchRequest object itself.

setFilter

public SearchRequest setFilter(String filter)

Set the filter property: The OData $filter expression to apply to the search query.

Parameters:

filter - the filter value to set.

Returns:

the SearchRequest object itself.

setHighlightFields

public SearchRequest setHighlightFields(List<String> highlightFields)

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

Parameters:

highlightFields - the highlightFields value to set.

Returns:

the SearchRequest object itself.

setHighlightPostTag

public SearchRequest setHighlightPostTag(String highlightPostTag)

Set the highlightPostTag property: A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is .

Parameters:

highlightPostTag - the highlightPostTag value to set.

Returns:

the SearchRequest object itself.

setHighlightPreTag

public SearchRequest setHighlightPreTag(String highlightPreTag)

Set the highlightPreTag property: A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is .

Parameters:

highlightPreTag - the highlightPreTag value to set.

Returns:

the SearchRequest object itself.

setIncludeTotalCount

public SearchRequest setIncludeTotalCount(Boolean includeTotalCount)

Set the includeTotalCount property: 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.

Parameters:

includeTotalCount - the includeTotalCount value to set.

Returns:

the SearchRequest object itself.

setMinimumCoverage

public SearchRequest setMinimumCoverage(Double minimumCoverage)

Set the minimumCoverage property: 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.

Parameters:

minimumCoverage - the minimumCoverage value to set.

Returns:

the SearchRequest object itself.

setOrderBy

public SearchRequest setOrderBy(List<String> orderBy)

Set the orderBy property: The comma-separated 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.

Parameters:

orderBy - the orderBy value to set.

Returns:

the SearchRequest object itself.

setQueryType

public SearchRequest setQueryType(QueryType queryType)

Set the queryType property: A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax.

Parameters:

queryType - the queryType value to set.

Returns:

the SearchRequest object itself.

setScoringParameters

public SearchRequest setScoringParameters(List<String> scoringParameters)

Set the scoringParameters property: 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).

Parameters:

scoringParameters - the scoringParameters value to set.

Returns:

the SearchRequest object itself.

setScoringProfile

public SearchRequest setScoringProfile(String scoringProfile)

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

Parameters:

scoringProfile - the scoringProfile value to set.

Returns:

the SearchRequest object itself.

setScoringStatistics

public SearchRequest setScoringStatistics(ScoringStatistics scoringStatistics)

Set the scoringStatistics property: 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. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries.

Parameters:

scoringStatistics - the scoringStatistics value to set.

Returns:

the SearchRequest object itself.

setSearchFields

public SearchRequest setSearchFields(List<String> searchFields)

Set the searchFields property: 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.

Parameters:

searchFields - the searchFields value to set.

Returns:

the SearchRequest object itself.

setSearchMode

public SearchRequest setSearchMode(SearchMode searchMode)

Set the searchMode property: A value that specifies whether any or all of the search terms must be matched in order to count the document as a match.

Parameters:

searchMode - the searchMode value to set.

Returns:

the SearchRequest object itself.

setSearchText

public SearchRequest setSearchText(String searchText)

Set the searchText property: A full-text search query expression; Use "*" or omit this parameter to match all documents.

Parameters:

searchText - the searchText value to set.

Returns:

the SearchRequest object itself.

setSelect

public SearchRequest setSelect(List<String> select)

Set the select property: The comma-separated list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included.

Parameters:

select - the select value to set.

Returns:

the SearchRequest object itself.

setSemanticConfigurationName

public SearchRequest setSemanticConfigurationName(String semanticConfigurationName)

Set the semanticConfigurationName property: The name of a semantic configuration that will be used when processing documents for queries of type semantic.

Parameters:

semanticConfigurationName - the semanticConfigurationName value to set.

Returns:

the SearchRequest object itself.

setSemanticErrorHandling

public SearchRequest setSemanticErrorHandling(SemanticErrorMode semanticErrorHandling)

Set the semanticErrorHandling property: Allows the user to choose whether a semantic call should fail completely (default / current behavior), or to return partial results.

Parameters:

semanticErrorHandling - the semanticErrorHandling value to set.

Returns:

the SearchRequest object itself.

setSemanticMaxWaitInMilliseconds

public SearchRequest setSemanticMaxWaitInMilliseconds(Integer semanticMaxWaitInMilliseconds)

Set the semanticMaxWaitInMilliseconds property: Allows the user to set an upper bound on the amount of time it takes for semantic enrichment to finish processing before the request fails.

Parameters:

semanticMaxWaitInMilliseconds - the semanticMaxWaitInMilliseconds value to set.

Returns:

the SearchRequest object itself.

setSemanticQuery

public SearchRequest setSemanticQuery(String semanticQuery)

Set the semanticQuery property: Allows setting a separate search query that will be solely used for semantic reranking, semantic captions and semantic answers. Is useful for scenarios where there is a need to use different queries between the base retrieval and ranking phase, and the L2 semantic phase.

Parameters:

semanticQuery - the semanticQuery value to set.

Returns:

the SearchRequest object itself.

setSessionId

public SearchRequest setSessionId(String sessionId)

Set the sessionId property: A value to be used to create a sticky session, which can help getting 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.

Parameters:

sessionId - the sessionId value to set.

Returns:

the SearchRequest object itself.

setSkip

public SearchRequest setSkip(Integer skip)

Set the skip property: 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.

Parameters:

skip - the skip value to set.

Returns:

the SearchRequest object itself.

setTop

public SearchRequest setTop(Integer top)

Set the top property: 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.

Parameters:

top - the top value to set.

Returns:

the SearchRequest object itself.

setVectorFilterMode

public SearchRequest setVectorFilterMode(VectorFilterMode vectorFilterMode)

Set the vectorFilterMode property: Determines whether or not filters are applied before or after the vector search is performed. Default is 'preFilter' for new indexes.

Parameters:

vectorFilterMode - the vectorFilterMode value to set.

Returns:

the SearchRequest object itself.

setVectorQueries

public SearchRequest setVectorQueries(List<VectorQuery> vectorQueries)

Set the vectorQueries property: The query parameters for vector and hybrid search queries.

Parameters:

vectorQueries - the vectorQueries value to set.

Returns:

the SearchRequest object itself.

toJson

public JsonWriter toJson(JsonWriter jsonWriter)

Parameters:

jsonWriter

Throws:

Applies to