JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "GoogleCloudDiscoveryengineV1betaSearchRequest.php"
Full Path: /home/palsarh/web/palsarh.in/public_html/vendor/google/apiclient-services/src/DiscoveryEngine/GoogleCloudDiscoveryengineV1betaSearchRequest.php
File size: 47.67 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\DiscoveryEngine;
class GoogleCloudDiscoveryengineV1betaSearchRequest extends \Google\Collection
{
/**
* Default option for unspecified/unknown values.
*/
public const RANKING_EXPRESSION_BACKEND_RANKING_EXPRESSION_BACKEND_UNSPECIFIED = 'RANKING_EXPRESSION_BACKEND_UNSPECIFIED';
/**
* Deprecated: Use `RANK_BY_EMBEDDING` instead. Ranking by custom embedding
* model, the default way to evaluate the ranking expression. Legacy enum
* option, `RANK_BY_EMBEDDING` should be used instead.
*
* @deprecated
*/
public const RANKING_EXPRESSION_BACKEND_BYOE = 'BYOE';
/**
* Deprecated: Use `RANK_BY_FORMULA` instead. Ranking by custom formula.
* Legacy enum option, `RANK_BY_FORMULA` should be used instead.
*
* @deprecated
*/
public const RANKING_EXPRESSION_BACKEND_CLEARBOX = 'CLEARBOX';
/**
* Ranking by custom embedding model, the default way to evaluate the ranking
* expression.
*/
public const RANKING_EXPRESSION_BACKEND_RANK_BY_EMBEDDING = 'RANK_BY_EMBEDDING';
/**
* Ranking by custom formula.
*/
public const RANKING_EXPRESSION_BACKEND_RANK_BY_FORMULA = 'RANK_BY_FORMULA';
/**
* Default value. In this case, server behavior defaults to Google defined
* threshold.
*/
public const RELEVANCE_THRESHOLD_RELEVANCE_THRESHOLD_UNSPECIFIED = 'RELEVANCE_THRESHOLD_UNSPECIFIED';
/**
* Lowest relevance threshold.
*/
public const RELEVANCE_THRESHOLD_LOWEST = 'LOWEST';
/**
* Low relevance threshold.
*/
public const RELEVANCE_THRESHOLD_LOW = 'LOW';
/**
* Medium relevance threshold.
*/
public const RELEVANCE_THRESHOLD_MEDIUM = 'MEDIUM';
/**
* High relevance threshold.
*/
public const RELEVANCE_THRESHOLD_HIGH = 'HIGH';
protected $collection_key = 'pageCategories';
protected $boostSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec::class;
protected $boostSpecDataType = '';
/**
* The branch resource name, such as `projects/locations/global/collections/de
* fault_collection/dataStores/default_data_store/branches/0`. Use
* `default_branch` as the branch ID or leave this field empty, to search
* documents under the default branch.
*
* @var string
*/
public $branch;
/**
* The default filter that is applied when a user performs a search without
* checking any filters on the search page. The filter applied to every search
* request when quality improvement such as query expansion is needed. In the
* case a query does not have a sufficient amount of results this filter will
* be used to determine whether or not to enable the query expansion flow. The
* original filter will still be used for the query expanded search. This
* field is strongly recommended to achieve high search quality. For more
* information about filter syntax, see SearchRequest.filter.
*
* @var string
*/
public $canonicalFilter;
protected $contentSearchSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec::class;
protected $contentSearchSpecDataType = '';
protected $crowdingSpecsType = GoogleCloudDiscoveryengineV1betaSearchRequestCrowdingSpec::class;
protected $crowdingSpecsDataType = 'array';
protected $dataStoreSpecsType = GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec::class;
protected $dataStoreSpecsDataType = 'array';
protected $displaySpecType = GoogleCloudDiscoveryengineV1betaSearchRequestDisplaySpec::class;
protected $displaySpecDataType = '';
protected $embeddingSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec::class;
protected $embeddingSpecDataType = '';
protected $facetSpecsType = GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec::class;
protected $facetSpecsDataType = 'array';
/**
* The filter syntax consists of an expression language for constructing a
* predicate from one or more fields of the documents being filtered. Filter
* expression is case-sensitive. If this field is unrecognizable, an
* `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by
* mapping the LHS filter key to a key property defined in the Vertex AI
* Search backend -- this mapping is defined by the customer in their schema.
* For example a media customer might have a field 'name' in their schema. In
* this case the filter would look like this: filter --> name:'ANY("king
* kong")' For more information about filtering including syntax and filter
* operators, see [Filter](https://cloud.google.com/generative-ai-app-
* builder/docs/filter-search-metadata)
*
* @var string
*/
public $filter;
protected $imageQueryType = GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery::class;
protected $imageQueryDataType = '';
/**
* The BCP-47 language code, such as "en-US" or "sr-Latn". For more
* information, see [Standard
* fields](https://cloud.google.com/apis/design/standard_fields). This field
* helps to better interpret the query. If a value isn't specified, the query
* language code is automatically detected, which may not be accurate.
*
* @var string
*/
public $languageCode;
protected $naturalLanguageQueryUnderstandingSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec::class;
protected $naturalLanguageQueryUnderstandingSpecDataType = '';
/**
* A 0-indexed integer that specifies the current offset (that is, starting
* result location, amongst the Documents deemed by the API as relevant) in
* search results. This field is only considered if page_token is unset. If
* this field is negative, an `INVALID_ARGUMENT` is returned. A large offset
* may be capped to a reasonable threshold.
*
* @var int
*/
public $offset;
/**
* The maximum number of results to return for OneBox. This applies to each
* OneBox type individually. Default number is 10.
*
* @var int
*/
public $oneBoxPageSize;
/**
* The order in which documents are returned. Documents can be ordered by a
* field in an Document object. Leave it unset if ordered by relevance.
* `order_by` expression is case-sensitive. For more information on ordering
* the website search results, see [Order web search
* results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-
* search-results). For more information on ordering the healthcare search
* results, see [Order healthcare search
* results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-
* results). If this field is unrecognizable, an `INVALID_ARGUMENT` is
* returned.
*
* @var string
*/
public $orderBy;
/**
* Optional. The categories associated with a category page. Must be set for
* category navigation queries to achieve good search quality. The format
* should be the same as UserEvent.PageInfo.page_category. This field is the
* equivalent of the query for browse (navigation) queries. It's used by the
* browse model when the query is empty. If the field is empty, it will not be
* used by the browse model. If the field contains more than one element, only
* the first element will be used. To represent full path of a category, use
* '>' character to separate different hierarchies. If '>' is part of the
* category name, replace it with other character(s). For example, `Graphics
* Cards > RTX>4090 > Founders Edition` where "RTX > 4090" represents one
* level, can be rewritten as `Graphics Cards > RTX_4090 > Founders Edition`
*
* @var string[]
*/
public $pageCategories;
/**
* Maximum number of Documents to return. The maximum allowed value depends on
* the data type. Values above the maximum value are coerced to the maximum
* value. * Websites with basic indexing: Default `10`, Maximum `25`. *
* Websites with advanced indexing: Default `25`, Maximum `50`. * Other:
* Default `50`, Maximum `100`. If this field is negative, an
* `INVALID_ARGUMENT` is returned.
*
* @var int
*/
public $pageSize;
/**
* A page token received from a previous SearchService.Search call. Provide
* this to retrieve the subsequent page. When paginating, all other parameters
* provided to SearchService.Search must match the call that provided the page
* token. Otherwise, an `INVALID_ARGUMENT` error is returned.
*
* @var string
*/
public $pageToken;
/**
* Additional search parameters. For public website search only, supported
* values are: * `user_country_code`: string. Default empty. If set to non-
* empty, results are restricted or boosted based on the location provided.
* For example, `user_country_code: "au"` For available codes see [Country
* Codes](https://developers.google.com/custom-
* search/docs/json_api_reference#countryCodes) * `search_type`: double.
* Default empty. Enables non-webpage searching depending on the value. The
* only valid non-default value is 1, which enables image searching. For
* example, `search_type: 1`
*
* @var array[]
*/
public $params;
protected $personalizationSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec::class;
protected $personalizationSpecDataType = '';
/**
* Raw search query.
*
* @var string
*/
public $query;
protected $queryExpansionSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec::class;
protected $queryExpansionSpecDataType = '';
/**
* Optional. The ranking expression controls the customized ranking on
* retrieval documents. This overrides ServingConfig.ranking_expression. The
* syntax and supported features depend on the `ranking_expression_backend`
* value. If `ranking_expression_backend` is not provided, it defaults to
* `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set
* to `RANK_BY_EMBEDDING`, it should be a single function or multiple
* functions that are joined by "+". * ranking_expression = function, { " + ",
* function }; Supported functions: * double * relevance_score * double *
* dotProduct(embedding_field_path) Function variables: * `relevance_score`:
* pre-defined keywords, used for measure relevance between query and
* document. * `embedding_field_path`: the document embedding field used with
* query embedding vector. * `dotProduct`: embedding function between
* `embedding_field_path` and query embedding vector. Example ranking
* expression: If document has an embedding field doc_embedding, the ranking
* expression could be `0.5 * relevance_score + 0.3 *
* dotProduct(doc_embedding)`. If ranking_expression_backend is set to
* `RANK_BY_FORMULA`, the following expression types (and combinations of
* those chained using + or * operators) are supported: * `double` * `signal`
* * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal
* rank transformation with second argument being a denominator constant. *
* `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. *
* `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2
* | double, else returns signal1. Here are a few examples of ranking formulas
* that use the supported ranking expression types: - `0.2 *
* semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly
* rank by the logarithm of `keyword_similarity_score` with slight
* `semantic_smilarity_score` adjustment. - `0.2 *
* exp(fill_nan(semantic_similarity_score, 0)) + 0.3 *
* is_nan(keyword_similarity_score)` -- rank by the exponent of
* `semantic_similarity_score` filling the value with 0 if it's NaN, also add
* constant 0.3 adjustment to the final score if `semantic_similarity_score`
* is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 *
* rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of
* `keyword_similarity_score` with slight adjustment of reciprocal rank of
* `semantic_smilarity_score`. The following signals are supported: *
* `semantic_similarity_score`: semantic similarity adjustment that is
* calculated using the embeddings generated by a proprietary Google model.
* This score determines how semantically similar a search query is to a
* document. * `keyword_similarity_score`: keyword match adjustment uses the
* Best Match 25 (BM25) ranking function. This score is calculated using a
* probabilistic model to estimate the probability that a document is relevant
* to a given query. * `relevance_score`: semantic relevance adjustment that
* uses a proprietary Google model to determine the meaning and intent behind
* a user's query in context with the content in the documents. * `pctr_rank`:
* predicted conversion rate adjustment as a rank use predicted Click-through
* rate (pCTR) to gauge the relevance and attractiveness of a search result
* from a user's perspective. A higher pCTR suggests that the result is more
* likely to satisfy the user's query and intent, making it a valuable signal
* for ranking. * `freshness_rank`: freshness adjustment as a rank *
* `document_age`: The time in hours elapsed since the document was last
* updated, a floating-point number (e.g., 0.25 means 15 minutes). *
* `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google
* model to determine the keyword-based overlap between the query and the
* document. * `base_rank`: the default rank of the result
*
* @var string
*/
public $rankingExpression;
/**
* Optional. The backend to use for the ranking expression evaluation.
*
* @var string
*/
public $rankingExpressionBackend;
/**
* The Unicode country/region code (CLDR) of a location, such as "US" and
* "419". For more information, see [Standard
* fields](https://cloud.google.com/apis/design/standard_fields). If set, then
* results will be boosted based on the region_code provided.
*
* @var string
*/
public $regionCode;
protected $relevanceScoreSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestRelevanceScoreSpec::class;
protected $relevanceScoreSpecDataType = '';
/**
* The relevance threshold of the search results. Default to Google defined
* threshold, leveraging a balance of precision and recall to deliver both
* highly accurate results and comprehensive coverage of relevant information.
* This feature is not supported for healthcare search.
*
* @var string
*/
public $relevanceThreshold;
/**
* Whether to turn on safe search. This is only supported for website search.
*
* @var bool
*/
public $safeSearch;
protected $searchAddonSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestSearchAddonSpec::class;
protected $searchAddonSpecDataType = '';
protected $searchAsYouTypeSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec::class;
protected $searchAsYouTypeSpecDataType = '';
/**
* Required. The resource name of the Search serving config, such as `projects
* /locations/global/collections/default_collection/engines/servingConfigs/def
* ault_serving_config`, or `projects/locations/global/collections/default_col
* lection/dataStores/default_data_store/servingConfigs/default_serving_config
* `. This field is used to identify the serving configuration name, set of
* models used to make the search.
*
* @var string
*/
public $servingConfig;
/**
* The session resource name. Optional. Session allows users to do multi-turn
* /search API calls or coordination between /search API calls and /answer API
* calls. Example #1 (multi-turn /search API calls): Call /search API with the
* session ID generated in the first call. Here, the previous search query
* gets considered in query standing. I.e., if the first query is "How did
* Alphabet do in 2022?" and the current query is "How about 2023?", the
* current query will be interpreted as "How did Alphabet do in 2023?".
* Example #2 (coordination between /search API calls and /answer API calls):
* Call /answer API with the session ID generated in the first call. Here, the
* answer generation happens in the context of the search results from the
* first search call. Multi-turn Search feature is currently at private GA
* stage. Please use v1alpha or v1beta version instead before we launch this
* feature to public GA. Or ask for allowlisting through Google Support team.
*
* @var string
*/
public $session;
protected $sessionSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec::class;
protected $sessionSpecDataType = '';
protected $spellCorrectionSpecType = GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec::class;
protected $spellCorrectionSpecDataType = '';
protected $userInfoType = GoogleCloudDiscoveryengineV1betaUserInfo::class;
protected $userInfoDataType = '';
/**
* The user labels applied to a resource must meet the following requirements:
* * Each resource can have multiple labels, up to a maximum of 64. * Each
* label must be a key-value pair. * Keys have a minimum length of 1 character
* and a maximum length of 63 characters and cannot be empty. Values can be
* empty and have a maximum length of 63 characters. * Keys and values can
* contain only lowercase letters, numeric characters, underscores, and
* dashes. All characters must use UTF-8 encoding, and international
* characters are allowed. * The key portion of a label must be unique.
* However, you can use the same key with multiple resources. * Keys must
* start with a lowercase letter or international character. See [Google Cloud
* Document](https://cloud.google.com/resource-manager/docs/creating-managing-
* labels#requirements) for more details.
*
* @var string[]
*/
public $userLabels;
/**
* Optional. A unique identifier for tracking visitors. For example, this
* could be implemented with an HTTP cookie, which should be able to uniquely
* identify a visitor on a single device. This unique identifier should not
* change if the visitor logs in or out of the website. This field should NOT
* have a fixed value such as `unknown_visitor`. This should be the same
* identifier as UserEvent.user_pseudo_id and
* CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded
* string with a length limit of 128 characters. Otherwise, an
* `INVALID_ARGUMENT` error is returned.
*
* @var string
*/
public $userPseudoId;
/**
* Boost specification to boost certain documents. For more information on
* boosting, see [Boosting](https://cloud.google.com/generative-ai-app-
* builder/docs/boost-search-results)
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec $boostSpec
*/
public function setBoostSpec(GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec $boostSpec)
{
$this->boostSpec = $boostSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec
*/
public function getBoostSpec()
{
return $this->boostSpec;
}
/**
* The branch resource name, such as `projects/locations/global/collections/de
* fault_collection/dataStores/default_data_store/branches/0`. Use
* `default_branch` as the branch ID or leave this field empty, to search
* documents under the default branch.
*
* @param string $branch
*/
public function setBranch($branch)
{
$this->branch = $branch;
}
/**
* @return string
*/
public function getBranch()
{
return $this->branch;
}
/**
* The default filter that is applied when a user performs a search without
* checking any filters on the search page. The filter applied to every search
* request when quality improvement such as query expansion is needed. In the
* case a query does not have a sufficient amount of results this filter will
* be used to determine whether or not to enable the query expansion flow. The
* original filter will still be used for the query expanded search. This
* field is strongly recommended to achieve high search quality. For more
* information about filter syntax, see SearchRequest.filter.
*
* @param string $canonicalFilter
*/
public function setCanonicalFilter($canonicalFilter)
{
$this->canonicalFilter = $canonicalFilter;
}
/**
* @return string
*/
public function getCanonicalFilter()
{
return $this->canonicalFilter;
}
/**
* A specification for configuring the behavior of content search.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec $contentSearchSpec
*/
public function setContentSearchSpec(GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec $contentSearchSpec)
{
$this->contentSearchSpec = $contentSearchSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec
*/
public function getContentSearchSpec()
{
return $this->contentSearchSpec;
}
/**
* Optional. Crowding specifications for improving result diversity. If
* multiple CrowdingSpecs are specified, crowding will be evaluated on each
* unique combination of the `field` values, and max_count will be the maximum
* value of `max_count` across all CrowdingSpecs. For example, if the first
* CrowdingSpec has `field` = "color" and `max_count` = 3, and the second
* CrowdingSpec has `field` = "size" and `max_count` = 2, then after 3
* documents that share the same color AND size have been returned, subsequent
* ones should be removed or demoted.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestCrowdingSpec[] $crowdingSpecs
*/
public function setCrowdingSpecs($crowdingSpecs)
{
$this->crowdingSpecs = $crowdingSpecs;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestCrowdingSpec[]
*/
public function getCrowdingSpecs()
{
return $this->crowdingSpecs;
}
/**
* Specifications that define the specific DataStores to be searched, along
* with configurations for those data stores. This is only considered for
* Engines with multiple data stores. For engines with a single data store,
* the specs directly under SearchRequest should be used.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec[] $dataStoreSpecs
*/
public function setDataStoreSpecs($dataStoreSpecs)
{
$this->dataStoreSpecs = $dataStoreSpecs;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec[]
*/
public function getDataStoreSpecs()
{
return $this->dataStoreSpecs;
}
/**
* Optional. Config for display feature, like match highlighting on search
* results.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestDisplaySpec $displaySpec
*/
public function setDisplaySpec(GoogleCloudDiscoveryengineV1betaSearchRequestDisplaySpec $displaySpec)
{
$this->displaySpec = $displaySpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestDisplaySpec
*/
public function getDisplaySpec()
{
return $this->displaySpec;
}
/**
* Uses the provided embedding to do additional semantic document retrieval.
* The retrieval is based on the dot product of
* SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document
* embedding that is provided in
* SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If
* SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it
* will use ServingConfig.EmbeddingConfig.field_path.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec $embeddingSpec
*/
public function setEmbeddingSpec(GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec $embeddingSpec)
{
$this->embeddingSpec = $embeddingSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec
*/
public function getEmbeddingSpec()
{
return $this->embeddingSpec;
}
/**
* Facet specifications for faceted search. If empty, no facets are returned.
* A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error
* is returned.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec[] $facetSpecs
*/
public function setFacetSpecs($facetSpecs)
{
$this->facetSpecs = $facetSpecs;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec[]
*/
public function getFacetSpecs()
{
return $this->facetSpecs;
}
/**
* The filter syntax consists of an expression language for constructing a
* predicate from one or more fields of the documents being filtered. Filter
* expression is case-sensitive. If this field is unrecognizable, an
* `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by
* mapping the LHS filter key to a key property defined in the Vertex AI
* Search backend -- this mapping is defined by the customer in their schema.
* For example a media customer might have a field 'name' in their schema. In
* this case the filter would look like this: filter --> name:'ANY("king
* kong")' For more information about filtering including syntax and filter
* operators, see [Filter](https://cloud.google.com/generative-ai-app-
* builder/docs/filter-search-metadata)
*
* @param string $filter
*/
public function setFilter($filter)
{
$this->filter = $filter;
}
/**
* @return string
*/
public function getFilter()
{
return $this->filter;
}
/**
* Raw image query.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery $imageQuery
*/
public function setImageQuery(GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery $imageQuery)
{
$this->imageQuery = $imageQuery;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery
*/
public function getImageQuery()
{
return $this->imageQuery;
}
/**
* The BCP-47 language code, such as "en-US" or "sr-Latn". For more
* information, see [Standard
* fields](https://cloud.google.com/apis/design/standard_fields). This field
* helps to better interpret the query. If a value isn't specified, the query
* language code is automatically detected, which may not be accurate.
*
* @param string $languageCode
*/
public function setLanguageCode($languageCode)
{
$this->languageCode = $languageCode;
}
/**
* @return string
*/
public function getLanguageCode()
{
return $this->languageCode;
}
/**
* Optional. Config for natural language query understanding capabilities,
* such as extracting structured field filters from the query. Refer to [this
* documentation](https://cloud.google.com/generative-ai-app-
* builder/docs/natural-language-queries) for more information. If
* `naturalLanguageQueryUnderstandingSpec` is not specified, no additional
* natural language query understanding will be done.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec $naturalLanguageQueryUnderstandingSpec
*/
public function setNaturalLanguageQueryUnderstandingSpec(GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec $naturalLanguageQueryUnderstandingSpec)
{
$this->naturalLanguageQueryUnderstandingSpec = $naturalLanguageQueryUnderstandingSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec
*/
public function getNaturalLanguageQueryUnderstandingSpec()
{
return $this->naturalLanguageQueryUnderstandingSpec;
}
/**
* A 0-indexed integer that specifies the current offset (that is, starting
* result location, amongst the Documents deemed by the API as relevant) in
* search results. This field is only considered if page_token is unset. If
* this field is negative, an `INVALID_ARGUMENT` is returned. A large offset
* may be capped to a reasonable threshold.
*
* @param int $offset
*/
public function setOffset($offset)
{
$this->offset = $offset;
}
/**
* @return int
*/
public function getOffset()
{
return $this->offset;
}
/**
* The maximum number of results to return for OneBox. This applies to each
* OneBox type individually. Default number is 10.
*
* @param int $oneBoxPageSize
*/
public function setOneBoxPageSize($oneBoxPageSize)
{
$this->oneBoxPageSize = $oneBoxPageSize;
}
/**
* @return int
*/
public function getOneBoxPageSize()
{
return $this->oneBoxPageSize;
}
/**
* The order in which documents are returned. Documents can be ordered by a
* field in an Document object. Leave it unset if ordered by relevance.
* `order_by` expression is case-sensitive. For more information on ordering
* the website search results, see [Order web search
* results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-
* search-results). For more information on ordering the healthcare search
* results, see [Order healthcare search
* results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-
* results). If this field is unrecognizable, an `INVALID_ARGUMENT` is
* returned.
*
* @param string $orderBy
*/
public function setOrderBy($orderBy)
{
$this->orderBy = $orderBy;
}
/**
* @return string
*/
public function getOrderBy()
{
return $this->orderBy;
}
/**
* Optional. The categories associated with a category page. Must be set for
* category navigation queries to achieve good search quality. The format
* should be the same as UserEvent.PageInfo.page_category. This field is the
* equivalent of the query for browse (navigation) queries. It's used by the
* browse model when the query is empty. If the field is empty, it will not be
* used by the browse model. If the field contains more than one element, only
* the first element will be used. To represent full path of a category, use
* '>' character to separate different hierarchies. If '>' is part of the
* category name, replace it with other character(s). For example, `Graphics
* Cards > RTX>4090 > Founders Edition` where "RTX > 4090" represents one
* level, can be rewritten as `Graphics Cards > RTX_4090 > Founders Edition`
*
* @param string[] $pageCategories
*/
public function setPageCategories($pageCategories)
{
$this->pageCategories = $pageCategories;
}
/**
* @return string[]
*/
public function getPageCategories()
{
return $this->pageCategories;
}
/**
* Maximum number of Documents to return. The maximum allowed value depends on
* the data type. Values above the maximum value are coerced to the maximum
* value. * Websites with basic indexing: Default `10`, Maximum `25`. *
* Websites with advanced indexing: Default `25`, Maximum `50`. * Other:
* Default `50`, Maximum `100`. If this field is negative, an
* `INVALID_ARGUMENT` is returned.
*
* @param int $pageSize
*/
public function setPageSize($pageSize)
{
$this->pageSize = $pageSize;
}
/**
* @return int
*/
public function getPageSize()
{
return $this->pageSize;
}
/**
* A page token received from a previous SearchService.Search call. Provide
* this to retrieve the subsequent page. When paginating, all other parameters
* provided to SearchService.Search must match the call that provided the page
* token. Otherwise, an `INVALID_ARGUMENT` error is returned.
*
* @param string $pageToken
*/
public function setPageToken($pageToken)
{
$this->pageToken = $pageToken;
}
/**
* @return string
*/
public function getPageToken()
{
return $this->pageToken;
}
/**
* Additional search parameters. For public website search only, supported
* values are: * `user_country_code`: string. Default empty. If set to non-
* empty, results are restricted or boosted based on the location provided.
* For example, `user_country_code: "au"` For available codes see [Country
* Codes](https://developers.google.com/custom-
* search/docs/json_api_reference#countryCodes) * `search_type`: double.
* Default empty. Enables non-webpage searching depending on the value. The
* only valid non-default value is 1, which enables image searching. For
* example, `search_type: 1`
*
* @param array[] $params
*/
public function setParams($params)
{
$this->params = $params;
}
/**
* @return array[]
*/
public function getParams()
{
return $this->params;
}
/**
* The specification for personalization. Notice that if both
* ServingConfig.personalization_spec and SearchRequest.personalization_spec
* are set, SearchRequest.personalization_spec overrides
* ServingConfig.personalization_spec.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec $personalizationSpec
*/
public function setPersonalizationSpec(GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec $personalizationSpec)
{
$this->personalizationSpec = $personalizationSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec
*/
public function getPersonalizationSpec()
{
return $this->personalizationSpec;
}
/**
* Raw search query.
*
* @param string $query
*/
public function setQuery($query)
{
$this->query = $query;
}
/**
* @return string
*/
public function getQuery()
{
return $this->query;
}
/**
* The query expansion specification that specifies the conditions under which
* query expansion occurs.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec $queryExpansionSpec
*/
public function setQueryExpansionSpec(GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec $queryExpansionSpec)
{
$this->queryExpansionSpec = $queryExpansionSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec
*/
public function getQueryExpansionSpec()
{
return $this->queryExpansionSpec;
}
/**
* Optional. The ranking expression controls the customized ranking on
* retrieval documents. This overrides ServingConfig.ranking_expression. The
* syntax and supported features depend on the `ranking_expression_backend`
* value. If `ranking_expression_backend` is not provided, it defaults to
* `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set
* to `RANK_BY_EMBEDDING`, it should be a single function or multiple
* functions that are joined by "+". * ranking_expression = function, { " + ",
* function }; Supported functions: * double * relevance_score * double *
* dotProduct(embedding_field_path) Function variables: * `relevance_score`:
* pre-defined keywords, used for measure relevance between query and
* document. * `embedding_field_path`: the document embedding field used with
* query embedding vector. * `dotProduct`: embedding function between
* `embedding_field_path` and query embedding vector. Example ranking
* expression: If document has an embedding field doc_embedding, the ranking
* expression could be `0.5 * relevance_score + 0.3 *
* dotProduct(doc_embedding)`. If ranking_expression_backend is set to
* `RANK_BY_FORMULA`, the following expression types (and combinations of
* those chained using + or * operators) are supported: * `double` * `signal`
* * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal
* rank transformation with second argument being a denominator constant. *
* `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. *
* `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2
* | double, else returns signal1. Here are a few examples of ranking formulas
* that use the supported ranking expression types: - `0.2 *
* semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly
* rank by the logarithm of `keyword_similarity_score` with slight
* `semantic_smilarity_score` adjustment. - `0.2 *
* exp(fill_nan(semantic_similarity_score, 0)) + 0.3 *
* is_nan(keyword_similarity_score)` -- rank by the exponent of
* `semantic_similarity_score` filling the value with 0 if it's NaN, also add
* constant 0.3 adjustment to the final score if `semantic_similarity_score`
* is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 *
* rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of
* `keyword_similarity_score` with slight adjustment of reciprocal rank of
* `semantic_smilarity_score`. The following signals are supported: *
* `semantic_similarity_score`: semantic similarity adjustment that is
* calculated using the embeddings generated by a proprietary Google model.
* This score determines how semantically similar a search query is to a
* document. * `keyword_similarity_score`: keyword match adjustment uses the
* Best Match 25 (BM25) ranking function. This score is calculated using a
* probabilistic model to estimate the probability that a document is relevant
* to a given query. * `relevance_score`: semantic relevance adjustment that
* uses a proprietary Google model to determine the meaning and intent behind
* a user's query in context with the content in the documents. * `pctr_rank`:
* predicted conversion rate adjustment as a rank use predicted Click-through
* rate (pCTR) to gauge the relevance and attractiveness of a search result
* from a user's perspective. A higher pCTR suggests that the result is more
* likely to satisfy the user's query and intent, making it a valuable signal
* for ranking. * `freshness_rank`: freshness adjustment as a rank *
* `document_age`: The time in hours elapsed since the document was last
* updated, a floating-point number (e.g., 0.25 means 15 minutes). *
* `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google
* model to determine the keyword-based overlap between the query and the
* document. * `base_rank`: the default rank of the result
*
* @param string $rankingExpression
*/
public function setRankingExpression($rankingExpression)
{
$this->rankingExpression = $rankingExpression;
}
/**
* @return string
*/
public function getRankingExpression()
{
return $this->rankingExpression;
}
/**
* Optional. The backend to use for the ranking expression evaluation.
*
* Accepted values: RANKING_EXPRESSION_BACKEND_UNSPECIFIED, BYOE, CLEARBOX,
* RANK_BY_EMBEDDING, RANK_BY_FORMULA
*
* @param self::RANKING_EXPRESSION_BACKEND_* $rankingExpressionBackend
*/
public function setRankingExpressionBackend($rankingExpressionBackend)
{
$this->rankingExpressionBackend = $rankingExpressionBackend;
}
/**
* @return self::RANKING_EXPRESSION_BACKEND_*
*/
public function getRankingExpressionBackend()
{
return $this->rankingExpressionBackend;
}
/**
* The Unicode country/region code (CLDR) of a location, such as "US" and
* "419". For more information, see [Standard
* fields](https://cloud.google.com/apis/design/standard_fields). If set, then
* results will be boosted based on the region_code provided.
*
* @param string $regionCode
*/
public function setRegionCode($regionCode)
{
$this->regionCode = $regionCode;
}
/**
* @return string
*/
public function getRegionCode()
{
return $this->regionCode;
}
/**
* Optional. The specification for returning the relevance score.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestRelevanceScoreSpec $relevanceScoreSpec
*/
public function setRelevanceScoreSpec(GoogleCloudDiscoveryengineV1betaSearchRequestRelevanceScoreSpec $relevanceScoreSpec)
{
$this->relevanceScoreSpec = $relevanceScoreSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestRelevanceScoreSpec
*/
public function getRelevanceScoreSpec()
{
return $this->relevanceScoreSpec;
}
/**
* The relevance threshold of the search results. Default to Google defined
* threshold, leveraging a balance of precision and recall to deliver both
* highly accurate results and comprehensive coverage of relevant information.
* This feature is not supported for healthcare search.
*
* Accepted values: RELEVANCE_THRESHOLD_UNSPECIFIED, LOWEST, LOW, MEDIUM, HIGH
*
* @param self::RELEVANCE_THRESHOLD_* $relevanceThreshold
*/
public function setRelevanceThreshold($relevanceThreshold)
{
$this->relevanceThreshold = $relevanceThreshold;
}
/**
* @return self::RELEVANCE_THRESHOLD_*
*/
public function getRelevanceThreshold()
{
return $this->relevanceThreshold;
}
/**
* Whether to turn on safe search. This is only supported for website search.
*
* @param bool $safeSearch
*/
public function setSafeSearch($safeSearch)
{
$this->safeSearch = $safeSearch;
}
/**
* @return bool
*/
public function getSafeSearch()
{
return $this->safeSearch;
}
/**
* Optional. SearchAddonSpec is used to disable add-ons for search as per new
* repricing model. This field is only supported for search requests.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestSearchAddonSpec $searchAddonSpec
*/
public function setSearchAddonSpec(GoogleCloudDiscoveryengineV1betaSearchRequestSearchAddonSpec $searchAddonSpec)
{
$this->searchAddonSpec = $searchAddonSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestSearchAddonSpec
*/
public function getSearchAddonSpec()
{
return $this->searchAddonSpec;
}
/**
* Search as you type configuration. Only supported for the
* IndustryVertical.MEDIA vertical.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec $searchAsYouTypeSpec
*/
public function setSearchAsYouTypeSpec(GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec $searchAsYouTypeSpec)
{
$this->searchAsYouTypeSpec = $searchAsYouTypeSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec
*/
public function getSearchAsYouTypeSpec()
{
return $this->searchAsYouTypeSpec;
}
/**
* Required. The resource name of the Search serving config, such as `projects
* /locations/global/collections/default_collection/engines/servingConfigs/def
* ault_serving_config`, or `projects/locations/global/collections/default_col
* lection/dataStores/default_data_store/servingConfigs/default_serving_config
* `. This field is used to identify the serving configuration name, set of
* models used to make the search.
*
* @param string $servingConfig
*/
public function setServingConfig($servingConfig)
{
$this->servingConfig = $servingConfig;
}
/**
* @return string
*/
public function getServingConfig()
{
return $this->servingConfig;
}
/**
* The session resource name. Optional. Session allows users to do multi-turn
* /search API calls or coordination between /search API calls and /answer API
* calls. Example #1 (multi-turn /search API calls): Call /search API with the
* session ID generated in the first call. Here, the previous search query
* gets considered in query standing. I.e., if the first query is "How did
* Alphabet do in 2022?" and the current query is "How about 2023?", the
* current query will be interpreted as "How did Alphabet do in 2023?".
* Example #2 (coordination between /search API calls and /answer API calls):
* Call /answer API with the session ID generated in the first call. Here, the
* answer generation happens in the context of the search results from the
* first search call. Multi-turn Search feature is currently at private GA
* stage. Please use v1alpha or v1beta version instead before we launch this
* feature to public GA. Or ask for allowlisting through Google Support team.
*
* @param string $session
*/
public function setSession($session)
{
$this->session = $session;
}
/**
* @return string
*/
public function getSession()
{
return $this->session;
}
/**
* Session specification. Can be used only when `session` is set.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec $sessionSpec
*/
public function setSessionSpec(GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec $sessionSpec)
{
$this->sessionSpec = $sessionSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec
*/
public function getSessionSpec()
{
return $this->sessionSpec;
}
/**
* The spell correction specification that specifies the mode under which
* spell correction takes effect.
*
* @param GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec $spellCorrectionSpec
*/
public function setSpellCorrectionSpec(GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec $spellCorrectionSpec)
{
$this->spellCorrectionSpec = $spellCorrectionSpec;
}
/**
* @return GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec
*/
public function getSpellCorrectionSpec()
{
return $this->spellCorrectionSpec;
}
/**
* Information about the end user. Highly recommended for analytics and
* personalization. UserInfo.user_agent is used to deduce `device_type` for
* analytics.
*
* @param GoogleCloudDiscoveryengineV1betaUserInfo $userInfo
*/
public function setUserInfo(GoogleCloudDiscoveryengineV1betaUserInfo $userInfo)
{
$this->userInfo = $userInfo;
}
/**
* @return GoogleCloudDiscoveryengineV1betaUserInfo
*/
public function getUserInfo()
{
return $this->userInfo;
}
/**
* The user labels applied to a resource must meet the following requirements:
* * Each resource can have multiple labels, up to a maximum of 64. * Each
* label must be a key-value pair. * Keys have a minimum length of 1 character
* and a maximum length of 63 characters and cannot be empty. Values can be
* empty and have a maximum length of 63 characters. * Keys and values can
* contain only lowercase letters, numeric characters, underscores, and
* dashes. All characters must use UTF-8 encoding, and international
* characters are allowed. * The key portion of a label must be unique.
* However, you can use the same key with multiple resources. * Keys must
* start with a lowercase letter or international character. See [Google Cloud
* Document](https://cloud.google.com/resource-manager/docs/creating-managing-
* labels#requirements) for more details.
*
* @param string[] $userLabels
*/
public function setUserLabels($userLabels)
{
$this->userLabels = $userLabels;
}
/**
* @return string[]
*/
public function getUserLabels()
{
return $this->userLabels;
}
/**
* Optional. A unique identifier for tracking visitors. For example, this
* could be implemented with an HTTP cookie, which should be able to uniquely
* identify a visitor on a single device. This unique identifier should not
* change if the visitor logs in or out of the website. This field should NOT
* have a fixed value such as `unknown_visitor`. This should be the same
* identifier as UserEvent.user_pseudo_id and
* CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded
* string with a length limit of 128 characters. Otherwise, an
* `INVALID_ARGUMENT` error is returned.
*
* @param string $userPseudoId
*/
public function setUserPseudoId($userPseudoId)
{
$this->userPseudoId = $userPseudoId;
}
/**
* @return string
*/
public function getUserPseudoId()
{
return $this->userPseudoId;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudDiscoveryengineV1betaSearchRequest::class, 'Google_Service_DiscoveryEngine_GoogleCloudDiscoveryengineV1betaSearchRequest');