google-apis-discoveryengine_v1 0.22.0 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -792,6 +792,17 @@ module Google
792
792
  # @return [String]
793
793
  attr_accessor :create_time
794
794
 
795
+ # A score in the range of [0, 1] describing how grounded the answer is by the
796
+ # reference chunks.
797
+ # Corresponds to the JSON property `groundingScore`
798
+ # @return [Float]
799
+ attr_accessor :grounding_score
800
+
801
+ # Optional. Grounding supports.
802
+ # Corresponds to the JSON property `groundingSupports`
803
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerGroundingSupport>]
804
+ attr_accessor :grounding_supports
805
+
795
806
  # Immutable. Fully qualified name `projects/`project`/locations/global/
796
807
  # collections/`collection`/engines/`engine`/sessions/*/answers/*`
797
808
  # Corresponds to the JSON property `name`
@@ -834,6 +845,8 @@ module Google
834
845
  @citations = args[:citations] if args.key?(:citations)
835
846
  @complete_time = args[:complete_time] if args.key?(:complete_time)
836
847
  @create_time = args[:create_time] if args.key?(:create_time)
848
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
849
+ @grounding_supports = args[:grounding_supports] if args.key?(:grounding_supports)
837
850
  @name = args[:name] if args.key?(:name)
838
851
  @query_understanding_info = args[:query_understanding_info] if args.key?(:query_understanding_info)
839
852
  @references = args[:references] if args.key?(:references)
@@ -893,6 +906,56 @@ module Google
893
906
  end
894
907
  end
895
908
 
909
+ # Grounding support for a claim in `answer_text`.
910
+ class GoogleCloudDiscoveryengineV1AnswerGroundingSupport
911
+ include Google::Apis::Core::Hashable
912
+
913
+ # Required. End of the claim, exclusive.
914
+ # Corresponds to the JSON property `endIndex`
915
+ # @return [Fixnum]
916
+ attr_accessor :end_index
917
+
918
+ # Indicates that this claim required grounding check. When the system decided
919
+ # this claim didn't require attribution/grounding check, this field is set to
920
+ # false. In that case, no grounding check was done for the claim and therefore `
921
+ # grounding_score`, `sources` is not returned.
922
+ # Corresponds to the JSON property `groundingCheckRequired`
923
+ # @return [Boolean]
924
+ attr_accessor :grounding_check_required
925
+ alias_method :grounding_check_required?, :grounding_check_required
926
+
927
+ # A score in the range of [0, 1] describing how grounded is a specific claim by
928
+ # the references. Higher value means that the claim is better supported by the
929
+ # reference chunks.
930
+ # Corresponds to the JSON property `groundingScore`
931
+ # @return [Float]
932
+ attr_accessor :grounding_score
933
+
934
+ # Optional. Citation sources for the claim.
935
+ # Corresponds to the JSON property `sources`
936
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerCitationSource>]
937
+ attr_accessor :sources
938
+
939
+ # Required. Index indicates the start of the claim, measured in bytes (UTF-8
940
+ # unicode).
941
+ # Corresponds to the JSON property `startIndex`
942
+ # @return [Fixnum]
943
+ attr_accessor :start_index
944
+
945
+ def initialize(**args)
946
+ update!(**args)
947
+ end
948
+
949
+ # Update properties of this object
950
+ def update!(**args)
951
+ @end_index = args[:end_index] if args.key?(:end_index)
952
+ @grounding_check_required = args[:grounding_check_required] if args.key?(:grounding_check_required)
953
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
954
+ @sources = args[:sources] if args.key?(:sources)
955
+ @start_index = args[:start_index] if args.key?(:start_index)
956
+ end
957
+ end
958
+
896
959
  # Request message for ConversationalSearchService.AnswerQuery method.
897
960
  class GoogleCloudDiscoveryengineV1AnswerQueryRequest
898
961
  include Google::Apis::Core::Hashable
@@ -933,7 +996,10 @@ module Google
933
996
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestRelatedQuestionsSpec]
934
997
  attr_accessor :related_questions_spec
935
998
 
936
- # Safety specification.
999
+ # Safety specification. There are two use cases: 1. when only safety_spec.enable
1000
+ # is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories.
1001
+ # 2. when safety_spec.enable is set and some safety_settings are set, only
1002
+ # specified safety_settings are applied.
937
1003
  # Corresponds to the JSON property `safetySpec`
938
1004
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec]
939
1005
  attr_accessor :safety_spec
@@ -1129,6 +1195,12 @@ module Google
1129
1195
  class GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec
1130
1196
  include Google::Apis::Core::Hashable
1131
1197
 
1198
+ # Optional. Specifies whether to enable the filtering based on grounding score
1199
+ # and at what level.
1200
+ # Corresponds to the JSON property `filteringLevel`
1201
+ # @return [String]
1202
+ attr_accessor :filtering_level
1203
+
1132
1204
  # Optional. Specifies whether to include grounding_supports in the answer. The
1133
1205
  # default value is `false`. When this field is set to `true`, returned answer
1134
1206
  # will have `grounding_score` and will contain GroundingSupports for each claim.
@@ -1143,6 +1215,7 @@ module Google
1143
1215
 
1144
1216
  # Update properties of this object
1145
1217
  def update!(**args)
1218
+ @filtering_level = args[:filtering_level] if args.key?(:filtering_level)
1146
1219
  @include_grounding_supports = args[:include_grounding_supports] if args.key?(:include_grounding_supports)
1147
1220
  end
1148
1221
  end
@@ -1207,6 +1280,11 @@ module Google
1207
1280
  # @return [Fixnum]
1208
1281
  attr_accessor :max_rephrase_steps
1209
1282
 
1283
+ # Query Rephraser Model specification.
1284
+ # Corresponds to the JSON property `modelSpec`
1285
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec]
1286
+ attr_accessor :model_spec
1287
+
1210
1288
  def initialize(**args)
1211
1289
  update!(**args)
1212
1290
  end
@@ -1215,6 +1293,27 @@ module Google
1215
1293
  def update!(**args)
1216
1294
  @disable = args[:disable] if args.key?(:disable)
1217
1295
  @max_rephrase_steps = args[:max_rephrase_steps] if args.key?(:max_rephrase_steps)
1296
+ @model_spec = args[:model_spec] if args.key?(:model_spec)
1297
+ end
1298
+ end
1299
+
1300
+ # Query Rephraser Model specification.
1301
+ class GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec
1302
+ include Google::Apis::Core::Hashable
1303
+
1304
+ # Optional. Enabled query rephraser model type. If not set, it will use LARGE by
1305
+ # default.
1306
+ # Corresponds to the JSON property `modelType`
1307
+ # @return [String]
1308
+ attr_accessor :model_type
1309
+
1310
+ def initialize(**args)
1311
+ update!(**args)
1312
+ end
1313
+
1314
+ # Update properties of this object
1315
+ def update!(**args)
1316
+ @model_type = args[:model_type] if args.key?(:model_type)
1218
1317
  end
1219
1318
  end
1220
1319
 
@@ -1238,7 +1337,10 @@ module Google
1238
1337
  end
1239
1338
  end
1240
1339
 
1241
- # Safety specification.
1340
+ # Safety specification. There are two use cases: 1. when only safety_spec.enable
1341
+ # is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories.
1342
+ # 2. when safety_spec.enable is set and some safety_settings are set, only
1343
+ # specified safety_settings are applied.
1242
1344
  class GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec
1243
1345
  include Google::Apis::Core::Hashable
1244
1346
 
@@ -2616,8 +2718,7 @@ module Google
2616
2718
  # Indicates that this claim required grounding check. When the system decided
2617
2719
  # this claim doesn't require attribution/grounding check, this field will be set
2618
2720
  # to false. In that case, no grounding check was done for the claim and
2619
- # therefore citation_indices, anti_citation_indices, and score should not be
2620
- # returned.
2721
+ # therefore citation_indices should not be returned.
2621
2722
  # Corresponds to the JSON property `groundingCheckRequired`
2622
2723
  # @return [Boolean]
2623
2724
  attr_accessor :grounding_check_required
@@ -2714,7 +2815,7 @@ module Google
2714
2815
 
2715
2816
  # Output only. Represents the relevance score based on similarity. Higher score
2716
2817
  # indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only
2717
- # populated on SearchService.SearchResponse.
2818
+ # populated on SearchResponse.
2718
2819
  # Corresponds to the JSON property `relevanceScore`
2719
2820
  # @return [Float]
2720
2821
  attr_accessor :relevance_score
@@ -3208,6 +3309,13 @@ module Google
3208
3309
  # @return [String]
3209
3310
  attr_accessor :name
3210
3311
 
3312
+ # Promote certain links based on some trigger queries. Example: Promote shoe
3313
+ # store link when searching for `shoe` keyword. The link can be outside of
3314
+ # associated data store.
3315
+ # Corresponds to the JSON property `promoteAction`
3316
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlPromoteAction]
3317
+ attr_accessor :promote_action
3318
+
3211
3319
  # Redirects a shopper to the provided URI.
3212
3320
  # Corresponds to the JSON property `redirectAction`
3213
3321
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ControlRedirectAction]
@@ -3246,6 +3354,7 @@ module Google
3246
3354
  @display_name = args[:display_name] if args.key?(:display_name)
3247
3355
  @filter_action = args[:filter_action] if args.key?(:filter_action)
3248
3356
  @name = args[:name] if args.key?(:name)
3357
+ @promote_action = args[:promote_action] if args.key?(:promote_action)
3249
3358
  @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
3250
3359
  @solution_type = args[:solution_type] if args.key?(:solution_type)
3251
3360
  @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
@@ -3319,6 +3428,34 @@ module Google
3319
3428
  end
3320
3429
  end
3321
3430
 
3431
+ # Promote certain links based on some trigger queries. Example: Promote shoe
3432
+ # store link when searching for `shoe` keyword. The link can be outside of
3433
+ # associated data store.
3434
+ class GoogleCloudDiscoveryengineV1ControlPromoteAction
3435
+ include Google::Apis::Core::Hashable
3436
+
3437
+ # Required. Data store with which this promotion is attached to.
3438
+ # Corresponds to the JSON property `dataStore`
3439
+ # @return [String]
3440
+ attr_accessor :data_store
3441
+
3442
+ # Promotion proto includes uri and other helping information to display the
3443
+ # promotion.
3444
+ # Corresponds to the JSON property `searchLinkPromotion`
3445
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchLinkPromotion]
3446
+ attr_accessor :search_link_promotion
3447
+
3448
+ def initialize(**args)
3449
+ update!(**args)
3450
+ end
3451
+
3452
+ # Update properties of this object
3453
+ def update!(**args)
3454
+ @data_store = args[:data_store] if args.key?(:data_store)
3455
+ @search_link_promotion = args[:search_link_promotion] if args.key?(:search_link_promotion)
3456
+ end
3457
+ end
3458
+
3322
3459
  # Redirects a shopper to the provided URI.
3323
3460
  class GoogleCloudDiscoveryengineV1ControlRedirectAction
3324
3461
  include Google::Apis::Core::Hashable
@@ -4332,6 +4469,14 @@ module Google
4332
4469
  class GoogleCloudDiscoveryengineV1DocumentInfo
4333
4470
  include Google::Apis::Core::Hashable
4334
4471
 
4472
+ # Optional. The conversion value associated with this Document. Must be set if
4473
+ # UserEvent.event_type is "conversion". For example, a value of 1000 signifies
4474
+ # that 1000 seconds were spent viewing a Document for the `watch` conversion
4475
+ # type.
4476
+ # Corresponds to the JSON property `conversionValue`
4477
+ # @return [Float]
4478
+ attr_accessor :conversion_value
4479
+
4335
4480
  # The Document resource ID.
4336
4481
  # Corresponds to the JSON property `id`
4337
4482
  # @return [String]
@@ -4375,6 +4520,7 @@ module Google
4375
4520
 
4376
4521
  # Update properties of this object
4377
4522
  def update!(**args)
4523
+ @conversion_value = args[:conversion_value] if args.key?(:conversion_value)
4378
4524
  @id = args[:id] if args.key?(:id)
4379
4525
  @joined = args[:joined] if args.key?(:joined)
4380
4526
  @name = args[:name] if args.key?(:name)
@@ -4906,77 +5052,6 @@ module Google
4906
5052
  end
4907
5053
  end
4908
5054
 
4909
- # Information about the user feedback. This information will be used for logging
4910
- # and metrics purpose.
4911
- class GoogleCloudDiscoveryengineV1Feedback
4912
- include Google::Apis::Core::Hashable
4913
-
4914
- # Optional. The additional user comment of the feedback if user gives a thumb
4915
- # down.
4916
- # Corresponds to the JSON property `comment`
4917
- # @return [String]
4918
- attr_accessor :comment
4919
-
4920
- # The conversation information such as the question index and session name.
4921
- # Corresponds to the JSON property `conversationInfo`
4922
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1FeedbackConversationInfo]
4923
- attr_accessor :conversation_info
4924
-
4925
- # Required. Indicate whether the user gives a positive or negative feedback. If
4926
- # the user gives a negative feedback, there might be more feedback details.
4927
- # Corresponds to the JSON property `feedbackType`
4928
- # @return [String]
4929
- attr_accessor :feedback_type
4930
-
4931
- # The version of the LLM model that was used to generate the response.
4932
- # Corresponds to the JSON property `llmModelVersion`
4933
- # @return [String]
4934
- attr_accessor :llm_model_version
4935
-
4936
- # Optional. The reason if user gives a thumb down.
4937
- # Corresponds to the JSON property `reasons`
4938
- # @return [Array<String>]
4939
- attr_accessor :reasons
4940
-
4941
- def initialize(**args)
4942
- update!(**args)
4943
- end
4944
-
4945
- # Update properties of this object
4946
- def update!(**args)
4947
- @comment = args[:comment] if args.key?(:comment)
4948
- @conversation_info = args[:conversation_info] if args.key?(:conversation_info)
4949
- @feedback_type = args[:feedback_type] if args.key?(:feedback_type)
4950
- @llm_model_version = args[:llm_model_version] if args.key?(:llm_model_version)
4951
- @reasons = args[:reasons] if args.key?(:reasons)
4952
- end
4953
- end
4954
-
4955
- # The conversation information such as the question index and session name.
4956
- class GoogleCloudDiscoveryengineV1FeedbackConversationInfo
4957
- include Google::Apis::Core::Hashable
4958
-
4959
- # The index of the user input within the conversation messages.
4960
- # Corresponds to the JSON property `questionIndex`
4961
- # @return [Fixnum]
4962
- attr_accessor :question_index
4963
-
4964
- # Name of the newly generated or continued session.
4965
- # Corresponds to the JSON property `session`
4966
- # @return [String]
4967
- attr_accessor :session
4968
-
4969
- def initialize(**args)
4970
- update!(**args)
4971
- end
4972
-
4973
- # Update properties of this object
4974
- def update!(**args)
4975
- @question_index = args[:question_index] if args.key?(:question_index)
4976
- @session = args[:session] if args.key?(:session)
4977
- end
4978
- end
4979
-
4980
5055
  # Response message for SiteSearchEngineService.FetchDomainVerificationStatus
4981
5056
  # method.
4982
5057
  class GoogleCloudDiscoveryengineV1FetchDomainVerificationStatusResponse
@@ -5037,6 +5112,17 @@ module Google
5037
5112
  # @return [Array<String>]
5038
5113
  attr_accessor :resource_types
5039
5114
 
5115
+ # Optional. Whether to update the DataStore schema to the latest predefined
5116
+ # schema. If true, the DataStore schema will be updated to include any FHIR
5117
+ # fields or resource types that have been added since the last import and
5118
+ # corresponding FHIR resources will be imported from the FHIR store. Note this
5119
+ # field cannot be used in conjunction with `resource_types`. It should be used
5120
+ # after initial import.
5121
+ # Corresponds to the JSON property `updateFromLatestPredefinedSchema`
5122
+ # @return [Boolean]
5123
+ attr_accessor :update_from_latest_predefined_schema
5124
+ alias_method :update_from_latest_predefined_schema?, :update_from_latest_predefined_schema
5125
+
5040
5126
  def initialize(**args)
5041
5127
  update!(**args)
5042
5128
  end
@@ -5046,6 +5132,7 @@ module Google
5046
5132
  @fhir_store = args[:fhir_store] if args.key?(:fhir_store)
5047
5133
  @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
5048
5134
  @resource_types = args[:resource_types] if args.key?(:resource_types)
5135
+ @update_from_latest_predefined_schema = args[:update_from_latest_predefined_schema] if args.key?(:update_from_latest_predefined_schema)
5049
5136
  end
5050
5137
  end
5051
5138
 
@@ -6588,12 +6675,15 @@ module Google
6588
6675
  # : Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 "zulu"
6589
6676
  # format. * `userPseudoId`: Double quoted string. Specifying this will delete
6590
6677
  # all events associated with a visitor. * `userId`: Double quoted string.
6591
- # Specifying this will delete all events associated with a user. Examples: *
6592
- # Deleting all events in a time range: `eventTime > "2012-04-23T18:25:43.511Z"
6593
- # eventTime < "2012-04-23T18:30:43.511Z"` * Deleting specific eventType: `
6594
- # eventType = "search"` * Deleting all events for a specific visitor: `
6595
- # userPseudoId = "visitor1024"` * Deleting all events inside a DataStore: `*`
6596
- # The filtering fields are assumed to have an implicit AND.
6678
+ # Specifying this will delete all events associated with a user. Note: This API
6679
+ # only supports purging a max range of 30 days. Examples: * Deleting all events
6680
+ # in a time range: `eventTime > "2012-04-23T18:25:43.511Z" eventTime < "2012-04-
6681
+ # 23T18:30:43.511Z"` * Deleting specific eventType in a time range: `eventTime >
6682
+ # "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" eventType = "
6683
+ # search"` * Deleting all events for a specific visitor in a time range: `
6684
+ # eventTime > "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"
6685
+ # userPseudoId = "visitor1024"` * Deleting the past 30 days of events inside a
6686
+ # DataStore: `*` The filtering fields are assumed to have an implicit AND.
6597
6687
  # Corresponds to the JSON property `filter`
6598
6688
  # @return [String]
6599
6689
  attr_accessor :filter
@@ -6742,7 +6832,9 @@ module Google
6742
6832
  # @return [String]
6743
6833
  attr_accessor :id
6744
6834
 
6745
- # The score of this record based on the given query and selected model.
6835
+ # The score of this record based on the given query and selected model. The
6836
+ # score will be rounded to 2 decimal places. If the score is close to 0, it will
6837
+ # be rounded to 0.0001 to avoid returning unset.
6746
6838
  # Corresponds to the JSON property `score`
6747
6839
  # @return [Float]
6748
6840
  attr_accessor :score
@@ -6776,8 +6868,8 @@ module Google
6776
6868
  # ANY("Hot", "Cold"))` * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags:
6777
6869
  # ANY("Green"))` If `attributeFilteringSyntax` is set to true under the `params`
6778
6870
  # field, then attribute-based expressions are expected instead of the above
6779
- # described tag-based syntax. Examples: * (launguage: ANY("en", "es")) AND NOT (
6780
- # categories: ANY("Movie")) * (available: true) AND (launguage: ANY("en", "es"))
6871
+ # described tag-based syntax. Examples: * (language: ANY("en", "es")) AND NOT (
6872
+ # categories: ANY("Movie")) * (available: true) AND (language: ANY("en", "es"))
6781
6873
  # OR (categories: ANY("Movie")) If your filter blocks all results, the API
6782
6874
  # returns generic (unfiltered) popular Documents. If you only want results
6783
6875
  # strictly matching the filters, set `strictFiltering` to `true` in
@@ -7062,6 +7154,53 @@ module Google
7062
7154
  end
7063
7155
  end
7064
7156
 
7157
+ # Promotion proto includes uri and other helping information to display the
7158
+ # promotion.
7159
+ class GoogleCloudDiscoveryengineV1SearchLinkPromotion
7160
+ include Google::Apis::Core::Hashable
7161
+
7162
+ # Optional. The Promotion description. Maximum length: 200 characters.
7163
+ # Corresponds to the JSON property `description`
7164
+ # @return [String]
7165
+ attr_accessor :description
7166
+
7167
+ # Optional. The enabled promotion will be returned for any serving configs
7168
+ # associated with the parent of the control this promotion is attached to. This
7169
+ # flag is used for basic site search only.
7170
+ # Corresponds to the JSON property `enabled`
7171
+ # @return [Boolean]
7172
+ attr_accessor :enabled
7173
+ alias_method :enabled?, :enabled
7174
+
7175
+ # Optional. The promotion thumbnail image url.
7176
+ # Corresponds to the JSON property `imageUri`
7177
+ # @return [String]
7178
+ attr_accessor :image_uri
7179
+
7180
+ # Required. The title of the promotion. Maximum length: 160 characters.
7181
+ # Corresponds to the JSON property `title`
7182
+ # @return [String]
7183
+ attr_accessor :title
7184
+
7185
+ # Required. The URL for the page the user wants to promote.
7186
+ # Corresponds to the JSON property `uri`
7187
+ # @return [String]
7188
+ attr_accessor :uri
7189
+
7190
+ def initialize(**args)
7191
+ update!(**args)
7192
+ end
7193
+
7194
+ # Update properties of this object
7195
+ def update!(**args)
7196
+ @description = args[:description] if args.key?(:description)
7197
+ @enabled = args[:enabled] if args.key?(:enabled)
7198
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
7199
+ @title = args[:title] if args.key?(:title)
7200
+ @uri = args[:uri] if args.key?(:uri)
7201
+ end
7202
+ end
7203
+
7065
7204
  # Request message for SearchService.Search method.
7066
7205
  class GoogleCloudDiscoveryengineV1SearchRequest
7067
7206
  include Google::Apis::Core::Hashable
@@ -7096,10 +7235,10 @@ module Google
7096
7235
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec]
7097
7236
  attr_accessor :content_search_spec
7098
7237
 
7099
- # Specs defining dataStores to filter on in a search call and configurations for
7100
- # those dataStores. This is only considered for engines with multiple dataStores
7101
- # use case. For single dataStore within an engine, they should use the specs at
7102
- # the top level.
7238
+ # Specs defining DataStores to filter on in a search call and configurations for
7239
+ # those data stores. This is only considered for Engines with multiple data
7240
+ # stores. For engines with a single data store, the specs directly under
7241
+ # SearchRequest should be used.
7103
7242
  # Corresponds to the JSON property `dataStoreSpecs`
7104
7243
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec>]
7105
7244
  attr_accessor :data_store_specs
@@ -7808,6 +7947,11 @@ module Google
7808
7947
  class GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec
7809
7948
  include Google::Apis::Core::Hashable
7810
7949
 
7950
+ # Boost specification to boost certain documents.
7951
+ # Corresponds to the JSON property `boostSpec`
7952
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestBoostSpec]
7953
+ attr_accessor :boost_spec
7954
+
7811
7955
  # Required. Full resource name of DataStore, such as `projects/`project`/
7812
7956
  # locations/`location`/collections/`collection_id`/dataStores/`data_store_id``.
7813
7957
  # Corresponds to the JSON property `dataStore`
@@ -7827,6 +7971,7 @@ module Google
7827
7971
 
7828
7972
  # Update properties of this object
7829
7973
  def update!(**args)
7974
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
7830
7975
  @data_store = args[:data_store] if args.key?(:data_store)
7831
7976
  @filter = args[:filter] if args.key?(:filter)
7832
7977
  end
@@ -8158,6 +8303,11 @@ module Google
8158
8303
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSearchResult>]
8159
8304
  attr_accessor :results
8160
8305
 
8306
+ # Promotions for site search.
8307
+ # Corresponds to the JSON property `searchLinkPromotions`
8308
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchLinkPromotion>]
8309
+ attr_accessor :search_link_promotions
8310
+
8161
8311
  # Information about the session.
8162
8312
  # Corresponds to the JSON property `sessionInfo`
8163
8313
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchResponseSessionInfo]
@@ -8188,6 +8338,7 @@ module Google
8188
8338
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
8189
8339
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
8190
8340
  @results = args[:results] if args.key?(:results)
8341
+ @search_link_promotions = args[:search_link_promotions] if args.key?(:search_link_promotions)
8191
8342
  @session_info = args[:session_info] if args.key?(:session_info)
8192
8343
  @summary = args[:summary] if args.key?(:summary)
8193
8344
  @total_size = args[:total_size] if args.key?(:total_size)
@@ -8578,15 +8729,293 @@ module Google
8578
8729
  end
8579
8730
  end
8580
8731
 
8732
+ # Configures metadata that is used to generate serving time results (e.g. search
8733
+ # results or recommendation predictions). The ServingConfig is passed in the
8734
+ # search and predict request and generates results.
8735
+ class GoogleCloudDiscoveryengineV1ServingConfig
8736
+ include Google::Apis::Core::Hashable
8737
+
8738
+ # Boost controls to use in serving path. All triggered boost controls will be
8739
+ # applied. Boost controls must be in the same data store as the serving config.
8740
+ # Maximum of 20 boost controls.
8741
+ # Corresponds to the JSON property `boostControlIds`
8742
+ # @return [Array<String>]
8743
+ attr_accessor :boost_control_ids
8744
+
8745
+ # Output only. ServingConfig created timestamp.
8746
+ # Corresponds to the JSON property `createTime`
8747
+ # @return [String]
8748
+ attr_accessor :create_time
8749
+
8750
+ # Required. The human readable serving config display name. Used in Discovery UI.
8751
+ # This field must be a UTF-8 encoded string with a length limit of 128
8752
+ # characters. Otherwise, an INVALID_ARGUMENT error is returned.
8753
+ # Corresponds to the JSON property `displayName`
8754
+ # @return [String]
8755
+ attr_accessor :display_name
8756
+
8757
+ # Condition do not associate specifications. If multiple do not associate
8758
+ # conditions match, all matching do not associate controls in the list will
8759
+ # execute. Order does not matter. Maximum number of specifications is 100. Can
8760
+ # only be set if SolutionType is SOLUTION_TYPE_SEARCH.
8761
+ # Corresponds to the JSON property `dissociateControlIds`
8762
+ # @return [Array<String>]
8763
+ attr_accessor :dissociate_control_ids
8764
+
8765
+ # How much diversity to use in recommendation model results e.g. `medium-
8766
+ # diversity` or `high-diversity`. Currently supported values: * `no-diversity` *
8767
+ # `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If
8768
+ # not specified, we choose default based on recommendation model type. Default
8769
+ # value: `no-diversity`. Can only be set if SolutionType is
8770
+ # SOLUTION_TYPE_RECOMMENDATION.
8771
+ # Corresponds to the JSON property `diversityLevel`
8772
+ # @return [String]
8773
+ attr_accessor :diversity_level
8774
+
8775
+ # Filter controls to use in serving path. All triggered filter controls will be
8776
+ # applied. Filter controls must be in the same data store as the serving config.
8777
+ # Maximum of 20 filter controls.
8778
+ # Corresponds to the JSON property `filterControlIds`
8779
+ # @return [Array<String>]
8780
+ attr_accessor :filter_control_ids
8781
+
8782
+ # Specifies the configurations needed for Generic Discovery.Currently we support:
8783
+ # * `content_search_spec`: configuration for generic content search.
8784
+ # Corresponds to the JSON property `genericConfig`
8785
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ServingConfigGenericConfig]
8786
+ attr_accessor :generic_config
8787
+
8788
+ # Condition ignore specifications. If multiple ignore conditions match, all
8789
+ # matching ignore controls in the list will execute. Order does not matter.
8790
+ # Maximum number of specifications is 100.
8791
+ # Corresponds to the JSON property `ignoreControlIds`
8792
+ # @return [Array<String>]
8793
+ attr_accessor :ignore_control_ids
8794
+
8795
+ # Specifies the configurations needed for Media Discovery. Currently we support:
8796
+ # * `demote_content_watched`: Threshold for watched content demotion. Customers
8797
+ # can specify if using watched content demotion or use viewed detail page. Using
8798
+ # the content watched demotion, customers need to specify the watched minutes or
8799
+ # percentage exceeds the threshold, the content will be demoted in the
8800
+ # recommendation result. * `promote_fresh_content`: cutoff days for fresh
8801
+ # content promotion. Customers can specify if using content freshness promotion.
8802
+ # If the content was published within the cutoff days, the content will be
8803
+ # promoted in the recommendation result. Can only be set if SolutionType is
8804
+ # SOLUTION_TYPE_RECOMMENDATION.
8805
+ # Corresponds to the JSON property `mediaConfig`
8806
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ServingConfigMediaConfig]
8807
+ attr_accessor :media_config
8808
+
8809
+ # The id of the model to use at serving time. Currently only
8810
+ # RecommendationModels are supported. Can be changed but only to a compatible
8811
+ # model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when
8812
+ # SolutionType is SOLUTION_TYPE_RECOMMENDATION.
8813
+ # Corresponds to the JSON property `modelId`
8814
+ # @return [String]
8815
+ attr_accessor :model_id
8816
+
8817
+ # Immutable. Fully qualified name `projects/`project`/locations/`location`/
8818
+ # collections/`collection_id`/engines/`engine_id`/servingConfigs/`
8819
+ # serving_config_id``
8820
+ # Corresponds to the JSON property `name`
8821
+ # @return [String]
8822
+ attr_accessor :name
8823
+
8824
+ # Condition oneway synonyms specifications. If multiple oneway synonyms
8825
+ # conditions match, all matching oneway synonyms controls in the list will
8826
+ # execute. Maximum number of specifications is 100. Can only be set if
8827
+ # SolutionType is SOLUTION_TYPE_SEARCH.
8828
+ # Corresponds to the JSON property `onewaySynonymsControlIds`
8829
+ # @return [Array<String>]
8830
+ attr_accessor :oneway_synonyms_control_ids
8831
+
8832
+ # Condition promote specifications. Maximum number of specifications is 100.
8833
+ # Corresponds to the JSON property `promoteControlIds`
8834
+ # @return [Array<String>]
8835
+ attr_accessor :promote_control_ids
8836
+
8837
+ # The ranking expression controls the customized ranking on retrieval documents.
8838
+ # To leverage this, document embedding is required. The ranking expression
8839
+ # setting in ServingConfig applies to all search requests served by the serving
8840
+ # config. However, if SearchRequest.ranking_expression is specified, it
8841
+ # overrides the ServingConfig ranking expression. The ranking expression is a
8842
+ # single function or multiple functions that are joined by "+". *
8843
+ # ranking_expression = function, ` " + ", function `; Supported functions: *
8844
+ # double * relevance_score * double * dotProduct(embedding_field_path) Function
8845
+ # variables: * `relevance_score`: pre-defined keywords, used for measure
8846
+ # relevance between query and document. * `embedding_field_path`: the document
8847
+ # embedding field used with query embedding vector. * `dotProduct`: embedding
8848
+ # function between embedding_field_path and query embedding vector. Example
8849
+ # ranking expression: If document has an embedding field doc_embedding, the
8850
+ # ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(
8851
+ # doc_embedding)`.
8852
+ # Corresponds to the JSON property `rankingExpression`
8853
+ # @return [String]
8854
+ attr_accessor :ranking_expression
8855
+
8856
+ # IDs of the redirect controls. Only the first triggered redirect action is
8857
+ # applied, even if multiple apply. Maximum number of specifications is 100. Can
8858
+ # only be set if SolutionType is SOLUTION_TYPE_SEARCH.
8859
+ # Corresponds to the JSON property `redirectControlIds`
8860
+ # @return [Array<String>]
8861
+ attr_accessor :redirect_control_ids
8862
+
8863
+ # Condition replacement specifications. Applied according to the order in the
8864
+ # list. A previously replaced term can not be re-replaced. Maximum number of
8865
+ # specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.
8866
+ # Corresponds to the JSON property `replacementControlIds`
8867
+ # @return [Array<String>]
8868
+ attr_accessor :replacement_control_ids
8869
+
8870
+ # Required. Immutable. Specifies the solution type that a serving config can be
8871
+ # associated with.
8872
+ # Corresponds to the JSON property `solutionType`
8873
+ # @return [String]
8874
+ attr_accessor :solution_type
8875
+
8876
+ # Condition synonyms specifications. If multiple synonyms conditions match, all
8877
+ # matching synonyms controls in the list will execute. Maximum number of
8878
+ # specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.
8879
+ # Corresponds to the JSON property `synonymsControlIds`
8880
+ # @return [Array<String>]
8881
+ attr_accessor :synonyms_control_ids
8882
+
8883
+ # Output only. ServingConfig updated timestamp.
8884
+ # Corresponds to the JSON property `updateTime`
8885
+ # @return [String]
8886
+ attr_accessor :update_time
8887
+
8888
+ def initialize(**args)
8889
+ update!(**args)
8890
+ end
8891
+
8892
+ # Update properties of this object
8893
+ def update!(**args)
8894
+ @boost_control_ids = args[:boost_control_ids] if args.key?(:boost_control_ids)
8895
+ @create_time = args[:create_time] if args.key?(:create_time)
8896
+ @display_name = args[:display_name] if args.key?(:display_name)
8897
+ @dissociate_control_ids = args[:dissociate_control_ids] if args.key?(:dissociate_control_ids)
8898
+ @diversity_level = args[:diversity_level] if args.key?(:diversity_level)
8899
+ @filter_control_ids = args[:filter_control_ids] if args.key?(:filter_control_ids)
8900
+ @generic_config = args[:generic_config] if args.key?(:generic_config)
8901
+ @ignore_control_ids = args[:ignore_control_ids] if args.key?(:ignore_control_ids)
8902
+ @media_config = args[:media_config] if args.key?(:media_config)
8903
+ @model_id = args[:model_id] if args.key?(:model_id)
8904
+ @name = args[:name] if args.key?(:name)
8905
+ @oneway_synonyms_control_ids = args[:oneway_synonyms_control_ids] if args.key?(:oneway_synonyms_control_ids)
8906
+ @promote_control_ids = args[:promote_control_ids] if args.key?(:promote_control_ids)
8907
+ @ranking_expression = args[:ranking_expression] if args.key?(:ranking_expression)
8908
+ @redirect_control_ids = args[:redirect_control_ids] if args.key?(:redirect_control_ids)
8909
+ @replacement_control_ids = args[:replacement_control_ids] if args.key?(:replacement_control_ids)
8910
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
8911
+ @synonyms_control_ids = args[:synonyms_control_ids] if args.key?(:synonyms_control_ids)
8912
+ @update_time = args[:update_time] if args.key?(:update_time)
8913
+ end
8914
+ end
8915
+
8916
+ # Specifies the configurations needed for Generic Discovery.Currently we support:
8917
+ # * `content_search_spec`: configuration for generic content search.
8918
+ class GoogleCloudDiscoveryengineV1ServingConfigGenericConfig
8919
+ include Google::Apis::Core::Hashable
8920
+
8921
+ # A specification for configuring the behavior of content search.
8922
+ # Corresponds to the JSON property `contentSearchSpec`
8923
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec]
8924
+ attr_accessor :content_search_spec
8925
+
8926
+ def initialize(**args)
8927
+ update!(**args)
8928
+ end
8929
+
8930
+ # Update properties of this object
8931
+ def update!(**args)
8932
+ @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
8933
+ end
8934
+ end
8935
+
8936
+ # Specifies the configurations needed for Media Discovery. Currently we support:
8937
+ # * `demote_content_watched`: Threshold for watched content demotion. Customers
8938
+ # can specify if using watched content demotion or use viewed detail page. Using
8939
+ # the content watched demotion, customers need to specify the watched minutes or
8940
+ # percentage exceeds the threshold, the content will be demoted in the
8941
+ # recommendation result. * `promote_fresh_content`: cutoff days for fresh
8942
+ # content promotion. Customers can specify if using content freshness promotion.
8943
+ # If the content was published within the cutoff days, the content will be
8944
+ # promoted in the recommendation result. Can only be set if SolutionType is
8945
+ # SOLUTION_TYPE_RECOMMENDATION.
8946
+ class GoogleCloudDiscoveryengineV1ServingConfigMediaConfig
8947
+ include Google::Apis::Core::Hashable
8948
+
8949
+ # Specifies the content freshness used for recommendation result. Contents will
8950
+ # be demoted if contents were published for more than content freshness cutoff
8951
+ # days.
8952
+ # Corresponds to the JSON property `contentFreshnessCutoffDays`
8953
+ # @return [Fixnum]
8954
+ attr_accessor :content_freshness_cutoff_days
8955
+
8956
+ # Specifies the content watched percentage threshold for demotion. Threshold
8957
+ # value must be between [0, 1.0] inclusive.
8958
+ # Corresponds to the JSON property `contentWatchedPercentageThreshold`
8959
+ # @return [Float]
8960
+ attr_accessor :content_watched_percentage_threshold
8961
+
8962
+ # Specifies the content watched minutes threshold for demotion.
8963
+ # Corresponds to the JSON property `contentWatchedSecondsThreshold`
8964
+ # @return [Float]
8965
+ attr_accessor :content_watched_seconds_threshold
8966
+
8967
+ # Optional. Specifies the number of days to look back for demoting watched
8968
+ # content. If set to zero or unset, defaults to the maximum of 365 days.
8969
+ # Corresponds to the JSON property `demoteContentWatchedPastDays`
8970
+ # @return [Fixnum]
8971
+ attr_accessor :demote_content_watched_past_days
8972
+
8973
+ # Specifies the event type used for demoting recommendation result. Currently
8974
+ # supported values: * `view-item`: Item viewed. * `media-play`: Start/resume
8975
+ # watching a video, playing a song, etc. * `media-complete`: Finished or stopped
8976
+ # midway through a video, song, etc. If unset, watch history demotion will not
8977
+ # be applied. Content freshness demotion will still be applied.
8978
+ # Corresponds to the JSON property `demotionEventType`
8979
+ # @return [String]
8980
+ attr_accessor :demotion_event_type
8981
+
8982
+ def initialize(**args)
8983
+ update!(**args)
8984
+ end
8985
+
8986
+ # Update properties of this object
8987
+ def update!(**args)
8988
+ @content_freshness_cutoff_days = args[:content_freshness_cutoff_days] if args.key?(:content_freshness_cutoff_days)
8989
+ @content_watched_percentage_threshold = args[:content_watched_percentage_threshold] if args.key?(:content_watched_percentage_threshold)
8990
+ @content_watched_seconds_threshold = args[:content_watched_seconds_threshold] if args.key?(:content_watched_seconds_threshold)
8991
+ @demote_content_watched_past_days = args[:demote_content_watched_past_days] if args.key?(:demote_content_watched_past_days)
8992
+ @demotion_event_type = args[:demotion_event_type] if args.key?(:demotion_event_type)
8993
+ end
8994
+ end
8995
+
8581
8996
  # External session proto definition.
8582
8997
  class GoogleCloudDiscoveryengineV1Session
8583
8998
  include Google::Apis::Core::Hashable
8584
8999
 
9000
+ # Optional. The display name of the session. This field is used to identify the
9001
+ # session in the UI. By default, the display name is the first turn query text
9002
+ # in the session.
9003
+ # Corresponds to the JSON property `displayName`
9004
+ # @return [String]
9005
+ attr_accessor :display_name
9006
+
8585
9007
  # Output only. The time the session finished.
8586
9008
  # Corresponds to the JSON property `endTime`
8587
9009
  # @return [String]
8588
9010
  attr_accessor :end_time
8589
9011
 
9012
+ # Optional. Whether the session is pinned, pinned session will be displayed on
9013
+ # the top of the session list.
9014
+ # Corresponds to the JSON property `isPinned`
9015
+ # @return [Boolean]
9016
+ attr_accessor :is_pinned
9017
+ alias_method :is_pinned?, :is_pinned
9018
+
8590
9019
  # Immutable. Fully qualified name `projects/`project`/locations/global/
8591
9020
  # collections/`collection`/engines/`engine`/sessions/*`
8592
9021
  # Corresponds to the JSON property `name`
@@ -8619,7 +9048,9 @@ module Google
8619
9048
 
8620
9049
  # Update properties of this object
8621
9050
  def update!(**args)
9051
+ @display_name = args[:display_name] if args.key?(:display_name)
8622
9052
  @end_time = args[:end_time] if args.key?(:end_time)
9053
+ @is_pinned = args[:is_pinned] if args.key?(:is_pinned)
8623
9054
  @name = args[:name] if args.key?(:name)
8624
9055
  @start_time = args[:start_time] if args.key?(:start_time)
8625
9056
  @state = args[:state] if args.key?(:state)
@@ -8638,6 +9069,11 @@ module Google
8638
9069
  # @return [String]
8639
9070
  attr_accessor :answer
8640
9071
 
9072
+ # Defines an answer.
9073
+ # Corresponds to the JSON property `detailedAnswer`
9074
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Answer]
9075
+ attr_accessor :detailed_answer
9076
+
8641
9077
  # Defines a user inputed query.
8642
9078
  # Corresponds to the JSON property `query`
8643
9079
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Query]
@@ -8650,6 +9086,7 @@ module Google
8650
9086
  # Update properties of this object
8651
9087
  def update!(**args)
8652
9088
  @answer = args[:answer] if args.key?(:answer)
9089
+ @detailed_answer = args[:detailed_answer] if args.key?(:detailed_answer)
8653
9090
  @query = args[:query] if args.key?(:query)
8654
9091
  end
8655
9092
  end
@@ -9276,6 +9713,15 @@ module Google
9276
9713
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1CompletionInfo]
9277
9714
  attr_accessor :completion_info
9278
9715
 
9716
+ # Optional. Conversion type. Required if UserEvent.event_type is `conversion`.
9717
+ # This is a customer-defined conversion name in lowercase letters or numbers
9718
+ # separated by "-", such as "watch", "good-visit" etc. Do not set the field if
9719
+ # UserEvent.event_type is not `conversion`. This mixes the custom conversion
9720
+ # event with predefined events like `search`, `view-item` etc.
9721
+ # Corresponds to the JSON property `conversionType`
9722
+ # @return [String]
9723
+ attr_accessor :conversion_type
9724
+
9279
9725
  # The DataStore resource full name, of the form `projects/`project`/locations/`
9280
9726
  # location`/collections/`collection_id`/dataStores/`data_store_id``. Optional.
9281
9727
  # Only required for user events whose data store can't by determined by
@@ -9329,17 +9775,12 @@ module Google
9329
9775
  # values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online
9330
9776
  # shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`
9331
9777
  # : Start/resume watching a video, playing a song, etc. * `media-complete`:
9332
- # Finished or stopped midway through a video, song, etc.
9778
+ # Finished or stopped midway through a video, song, etc. Custom conversion value:
9779
+ # * `conversion`: Customer defined conversion event.
9333
9780
  # Corresponds to the JSON property `eventType`
9334
9781
  # @return [String]
9335
9782
  attr_accessor :event_type
9336
9783
 
9337
- # Information about the user feedback. This information will be used for logging
9338
- # and metrics purpose.
9339
- # Corresponds to the JSON property `feedback`
9340
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Feedback]
9341
- attr_accessor :feedback
9342
-
9343
9784
  # The filter syntax consists of an expression language for constructing a
9344
9785
  # predicate from one or more fields of the documents being filtered. One example
9345
9786
  # is for `search` events, the associated SearchRequest may contain a filter
@@ -9435,13 +9876,13 @@ module Google
9435
9876
  @attributes = args[:attributes] if args.key?(:attributes)
9436
9877
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
9437
9878
  @completion_info = args[:completion_info] if args.key?(:completion_info)
9879
+ @conversion_type = args[:conversion_type] if args.key?(:conversion_type)
9438
9880
  @data_store = args[:data_store] if args.key?(:data_store)
9439
9881
  @direct_user_request = args[:direct_user_request] if args.key?(:direct_user_request)
9440
9882
  @documents = args[:documents] if args.key?(:documents)
9441
9883
  @engine = args[:engine] if args.key?(:engine)
9442
9884
  @event_time = args[:event_time] if args.key?(:event_time)
9443
9885
  @event_type = args[:event_type] if args.key?(:event_type)
9444
- @feedback = args[:feedback] if args.key?(:feedback)
9445
9886
  @filter = args[:filter] if args.key?(:filter)
9446
9887
  @media_info = args[:media_info] if args.key?(:media_info)
9447
9888
  @page_info = args[:page_info] if args.key?(:page_info)
@@ -9616,6 +10057,17 @@ module Google
9616
10057
  # @return [String]
9617
10058
  attr_accessor :create_time
9618
10059
 
10060
+ # A score in the range of [0, 1] describing how grounded the answer is by the
10061
+ # reference chunks.
10062
+ # Corresponds to the JSON property `groundingScore`
10063
+ # @return [Float]
10064
+ attr_accessor :grounding_score
10065
+
10066
+ # Optional. Grounding supports.
10067
+ # Corresponds to the JSON property `groundingSupports`
10068
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport>]
10069
+ attr_accessor :grounding_supports
10070
+
9619
10071
  # Immutable. Fully qualified name `projects/`project`/locations/global/
9620
10072
  # collections/`collection`/engines/`engine`/sessions/*/answers/*`
9621
10073
  # Corresponds to the JSON property `name`
@@ -9658,6 +10110,8 @@ module Google
9658
10110
  @citations = args[:citations] if args.key?(:citations)
9659
10111
  @complete_time = args[:complete_time] if args.key?(:complete_time)
9660
10112
  @create_time = args[:create_time] if args.key?(:create_time)
10113
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
10114
+ @grounding_supports = args[:grounding_supports] if args.key?(:grounding_supports)
9661
10115
  @name = args[:name] if args.key?(:name)
9662
10116
  @query_understanding_info = args[:query_understanding_info] if args.key?(:query_understanding_info)
9663
10117
  @references = args[:references] if args.key?(:references)
@@ -9702,10 +10156,56 @@ module Google
9702
10156
  class GoogleCloudDiscoveryengineV1alphaAnswerCitationSource
9703
10157
  include Google::Apis::Core::Hashable
9704
10158
 
9705
- # ID of the citation source.
9706
- # Corresponds to the JSON property `referenceId`
9707
- # @return [String]
9708
- attr_accessor :reference_id
10159
+ # ID of the citation source.
10160
+ # Corresponds to the JSON property `referenceId`
10161
+ # @return [String]
10162
+ attr_accessor :reference_id
10163
+
10164
+ def initialize(**args)
10165
+ update!(**args)
10166
+ end
10167
+
10168
+ # Update properties of this object
10169
+ def update!(**args)
10170
+ @reference_id = args[:reference_id] if args.key?(:reference_id)
10171
+ end
10172
+ end
10173
+
10174
+ # Grounding support for a claim in `answer_text`.
10175
+ class GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport
10176
+ include Google::Apis::Core::Hashable
10177
+
10178
+ # Required. End of the claim, exclusive.
10179
+ # Corresponds to the JSON property `endIndex`
10180
+ # @return [Fixnum]
10181
+ attr_accessor :end_index
10182
+
10183
+ # Indicates that this claim required grounding check. When the system decided
10184
+ # this claim didn't require attribution/grounding check, this field is set to
10185
+ # false. In that case, no grounding check was done for the claim and therefore `
10186
+ # grounding_score`, `sources` is not returned.
10187
+ # Corresponds to the JSON property `groundingCheckRequired`
10188
+ # @return [Boolean]
10189
+ attr_accessor :grounding_check_required
10190
+ alias_method :grounding_check_required?, :grounding_check_required
10191
+
10192
+ # A score in the range of [0, 1] describing how grounded is a specific claim by
10193
+ # the references. Higher value means that the claim is better supported by the
10194
+ # reference chunks.
10195
+ # Corresponds to the JSON property `groundingScore`
10196
+ # @return [Float]
10197
+ attr_accessor :grounding_score
10198
+
10199
+ # Optional. Citation sources for the claim.
10200
+ # Corresponds to the JSON property `sources`
10201
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaAnswerCitationSource>]
10202
+ attr_accessor :sources
10203
+
10204
+ # Required. Index indicates the start of the claim, measured in bytes (UTF-8
10205
+ # unicode).
10206
+ # Corresponds to the JSON property `startIndex`
10207
+ # @return [Fixnum]
10208
+ attr_accessor :start_index
9709
10209
 
9710
10210
  def initialize(**args)
9711
10211
  update!(**args)
@@ -9713,7 +10213,11 @@ module Google
9713
10213
 
9714
10214
  # Update properties of this object
9715
10215
  def update!(**args)
9716
- @reference_id = args[:reference_id] if args.key?(:reference_id)
10216
+ @end_index = args[:end_index] if args.key?(:end_index)
10217
+ @grounding_check_required = args[:grounding_check_required] if args.key?(:grounding_check_required)
10218
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
10219
+ @sources = args[:sources] if args.key?(:sources)
10220
+ @start_index = args[:start_index] if args.key?(:start_index)
9717
10221
  end
9718
10222
  end
9719
10223
 
@@ -10421,6 +10925,13 @@ module Google
10421
10925
  # @return [String]
10422
10926
  attr_accessor :name
10423
10927
 
10928
+ # Promote certain links based on some trigger queries. Example: Promote shoe
10929
+ # store link when searching for `shoe` keyword. The link can be outside of
10930
+ # associated data store.
10931
+ # Corresponds to the JSON property `promoteAction`
10932
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlPromoteAction]
10933
+ attr_accessor :promote_action
10934
+
10424
10935
  # Redirects a shopper to the provided URI.
10425
10936
  # Corresponds to the JSON property `redirectAction`
10426
10937
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaControlRedirectAction]
@@ -10459,6 +10970,7 @@ module Google
10459
10970
  @display_name = args[:display_name] if args.key?(:display_name)
10460
10971
  @filter_action = args[:filter_action] if args.key?(:filter_action)
10461
10972
  @name = args[:name] if args.key?(:name)
10973
+ @promote_action = args[:promote_action] if args.key?(:promote_action)
10462
10974
  @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
10463
10975
  @solution_type = args[:solution_type] if args.key?(:solution_type)
10464
10976
  @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
@@ -10532,6 +11044,34 @@ module Google
10532
11044
  end
10533
11045
  end
10534
11046
 
11047
+ # Promote certain links based on some trigger queries. Example: Promote shoe
11048
+ # store link when searching for `shoe` keyword. The link can be outside of
11049
+ # associated data store.
11050
+ class GoogleCloudDiscoveryengineV1alphaControlPromoteAction
11051
+ include Google::Apis::Core::Hashable
11052
+
11053
+ # Required. Data store with which this promotion is attached to.
11054
+ # Corresponds to the JSON property `dataStore`
11055
+ # @return [String]
11056
+ attr_accessor :data_store
11057
+
11058
+ # Promotion proto includes uri and other helping information to display the
11059
+ # promotion.
11060
+ # Corresponds to the JSON property `searchLinkPromotion`
11061
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion]
11062
+ attr_accessor :search_link_promotion
11063
+
11064
+ def initialize(**args)
11065
+ update!(**args)
11066
+ end
11067
+
11068
+ # Update properties of this object
11069
+ def update!(**args)
11070
+ @data_store = args[:data_store] if args.key?(:data_store)
11071
+ @search_link_promotion = args[:search_link_promotion] if args.key?(:search_link_promotion)
11072
+ end
11073
+ end
11074
+
10535
11075
  # Redirects a shopper to the provided URI.
10536
11076
  class GoogleCloudDiscoveryengineV1alphaControlRedirectAction
10537
11077
  include Google::Apis::Core::Hashable
@@ -11156,6 +11696,27 @@ module Google
11156
11696
  end
11157
11697
  end
11158
11698
 
11699
+ # Request for DeleteSession method.
11700
+ class GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest
11701
+ include Google::Apis::Core::Hashable
11702
+
11703
+ # Required. The resource name of the Session to delete. Format: `projects/`
11704
+ # project`/locations/`location`/collections/`collection`/dataStores/`
11705
+ # data_store_id`/sessions/`session_id``
11706
+ # Corresponds to the JSON property `name`
11707
+ # @return [String]
11708
+ attr_accessor :name
11709
+
11710
+ def initialize(**args)
11711
+ update!(**args)
11712
+ end
11713
+
11714
+ # Update properties of this object
11715
+ def update!(**args)
11716
+ @name = args[:name] if args.key?(:name)
11717
+ end
11718
+ end
11719
+
11159
11720
  # Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap
11160
11721
  # operation. This will be returned by the google.longrunning.Operation.metadata
11161
11722
  # field.
@@ -12224,6 +12785,35 @@ module Google
12224
12785
  end
12225
12786
  end
12226
12787
 
12788
+ # Request for GetSession method.
12789
+ class GoogleCloudDiscoveryengineV1alphaGetSessionRequest
12790
+ include Google::Apis::Core::Hashable
12791
+
12792
+ # Optional. If set to true, the full session including all answer details will
12793
+ # be returned.
12794
+ # Corresponds to the JSON property `includeAnswerDetails`
12795
+ # @return [Boolean]
12796
+ attr_accessor :include_answer_details
12797
+ alias_method :include_answer_details?, :include_answer_details
12798
+
12799
+ # Required. The resource name of the Session to get. Format: `projects/`project`/
12800
+ # locations/`location`/collections/`collection`/dataStores/`data_store_id`/
12801
+ # sessions/`session_id``
12802
+ # Corresponds to the JSON property `name`
12803
+ # @return [String]
12804
+ attr_accessor :name
12805
+
12806
+ def initialize(**args)
12807
+ update!(**args)
12808
+ end
12809
+
12810
+ # Update properties of this object
12811
+ def update!(**args)
12812
+ @include_answer_details = args[:include_answer_details] if args.key?(:include_answer_details)
12813
+ @name = args[:name] if args.key?(:name)
12814
+ end
12815
+ end
12816
+
12227
12817
  # Response message for SiteSearchEngineService.GetUriPatternDocumentData method.
12228
12818
  class GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse
12229
12819
  include Google::Apis::Core::Hashable
@@ -12754,6 +13344,82 @@ module Google
12754
13344
  end
12755
13345
  end
12756
13346
 
13347
+ # Request for ListSessions method.
13348
+ class GoogleCloudDiscoveryengineV1alphaListSessionsRequest
13349
+ include Google::Apis::Core::Hashable
13350
+
13351
+ # A filter to apply on the list results. The supported features are:
13352
+ # user_pseudo_id, state. Example: "user_pseudo_id = some_id"
13353
+ # Corresponds to the JSON property `filter`
13354
+ # @return [String]
13355
+ attr_accessor :filter
13356
+
13357
+ # A comma-separated list of fields to order by, sorted in ascending order. Use "
13358
+ # desc" after a field name for descending. Supported fields: * `update_time` * `
13359
+ # create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "
13360
+ # create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned
13361
+ # first, then by update_time.
13362
+ # Corresponds to the JSON property `orderBy`
13363
+ # @return [String]
13364
+ attr_accessor :order_by
13365
+
13366
+ # Maximum number of results to return. If unspecified, defaults to 50. Max
13367
+ # allowed value is 1000.
13368
+ # Corresponds to the JSON property `pageSize`
13369
+ # @return [Fixnum]
13370
+ attr_accessor :page_size
13371
+
13372
+ # A page token, received from a previous `ListSessions` call. Provide this to
13373
+ # retrieve the subsequent page.
13374
+ # Corresponds to the JSON property `pageToken`
13375
+ # @return [String]
13376
+ attr_accessor :page_token
13377
+
13378
+ # Required. The data store resource name. Format: `projects/`project`/locations/`
13379
+ # location`/collections/`collection`/dataStores/`data_store_id``
13380
+ # Corresponds to the JSON property `parent`
13381
+ # @return [String]
13382
+ attr_accessor :parent
13383
+
13384
+ def initialize(**args)
13385
+ update!(**args)
13386
+ end
13387
+
13388
+ # Update properties of this object
13389
+ def update!(**args)
13390
+ @filter = args[:filter] if args.key?(:filter)
13391
+ @order_by = args[:order_by] if args.key?(:order_by)
13392
+ @page_size = args[:page_size] if args.key?(:page_size)
13393
+ @page_token = args[:page_token] if args.key?(:page_token)
13394
+ @parent = args[:parent] if args.key?(:parent)
13395
+ end
13396
+ end
13397
+
13398
+ # Response for ListSessions method.
13399
+ class GoogleCloudDiscoveryengineV1alphaListSessionsResponse
13400
+ include Google::Apis::Core::Hashable
13401
+
13402
+ # Pagination token, if not returned indicates the last page.
13403
+ # Corresponds to the JSON property `nextPageToken`
13404
+ # @return [String]
13405
+ attr_accessor :next_page_token
13406
+
13407
+ # All the Sessions for a given data store.
13408
+ # Corresponds to the JSON property `sessions`
13409
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSession>]
13410
+ attr_accessor :sessions
13411
+
13412
+ def initialize(**args)
13413
+ update!(**args)
13414
+ end
13415
+
13416
+ # Update properties of this object
13417
+ def update!(**args)
13418
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
13419
+ @sessions = args[:sessions] if args.key?(:sessions)
13420
+ end
13421
+ end
13422
+
12757
13423
  # Configuration for Natural Language Query Understanding.
12758
13424
  class GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig
12759
13425
  include Google::Apis::Core::Hashable
@@ -13492,6 +14158,53 @@ module Google
13492
14158
  end
13493
14159
  end
13494
14160
 
14161
+ # Promotion proto includes uri and other helping information to display the
14162
+ # promotion.
14163
+ class GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion
14164
+ include Google::Apis::Core::Hashable
14165
+
14166
+ # Optional. The Promotion description. Maximum length: 200 characters.
14167
+ # Corresponds to the JSON property `description`
14168
+ # @return [String]
14169
+ attr_accessor :description
14170
+
14171
+ # Optional. The enabled promotion will be returned for any serving configs
14172
+ # associated with the parent of the control this promotion is attached to. This
14173
+ # flag is used for basic site search only.
14174
+ # Corresponds to the JSON property `enabled`
14175
+ # @return [Boolean]
14176
+ attr_accessor :enabled
14177
+ alias_method :enabled?, :enabled
14178
+
14179
+ # Optional. The promotion thumbnail image url.
14180
+ # Corresponds to the JSON property `imageUri`
14181
+ # @return [String]
14182
+ attr_accessor :image_uri
14183
+
14184
+ # Required. The title of the promotion. Maximum length: 160 characters.
14185
+ # Corresponds to the JSON property `title`
14186
+ # @return [String]
14187
+ attr_accessor :title
14188
+
14189
+ # Required. The URL for the page the user wants to promote.
14190
+ # Corresponds to the JSON property `uri`
14191
+ # @return [String]
14192
+ attr_accessor :uri
14193
+
14194
+ def initialize(**args)
14195
+ update!(**args)
14196
+ end
14197
+
14198
+ # Update properties of this object
14199
+ def update!(**args)
14200
+ @description = args[:description] if args.key?(:description)
14201
+ @enabled = args[:enabled] if args.key?(:enabled)
14202
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
14203
+ @title = args[:title] if args.key?(:title)
14204
+ @uri = args[:uri] if args.key?(:uri)
14205
+ end
14206
+ end
14207
+
13495
14208
  # Request message for SearchService.Search method.
13496
14209
  class GoogleCloudDiscoveryengineV1alphaSearchRequest
13497
14210
  include Google::Apis::Core::Hashable
@@ -13531,10 +14244,10 @@ module Google
13531
14244
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec]
13532
14245
  attr_accessor :custom_fine_tuning_spec
13533
14246
 
13534
- # Specs defining dataStores to filter on in a search call and configurations for
13535
- # those dataStores. This is only considered for engines with multiple dataStores
13536
- # use case. For single dataStore within an engine, they should use the specs at
13537
- # the top level.
14247
+ # Specs defining DataStores to filter on in a search call and configurations for
14248
+ # those data stores. This is only considered for Engines with multiple data
14249
+ # stores. For engines with a single data store, the specs directly under
14250
+ # SearchRequest should be used.
13538
14251
  # Corresponds to the JSON property `dataStoreSpecs`
13539
14252
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec>]
13540
14253
  attr_accessor :data_store_specs
@@ -14309,6 +15022,11 @@ module Google
14309
15022
  class GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec
14310
15023
  include Google::Apis::Core::Hashable
14311
15024
 
15025
+ # Boost specification to boost certain documents.
15026
+ # Corresponds to the JSON property `boostSpec`
15027
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec]
15028
+ attr_accessor :boost_spec
15029
+
14312
15030
  # Required. Full resource name of DataStore, such as `projects/`project`/
14313
15031
  # locations/`location`/collections/`collection_id`/dataStores/`data_store_id``.
14314
15032
  # Corresponds to the JSON property `dataStore`
@@ -14328,6 +15046,7 @@ module Google
14328
15046
 
14329
15047
  # Update properties of this object
14330
15048
  def update!(**args)
15049
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
14331
15050
  @data_store = args[:data_store] if args.key?(:data_store)
14332
15051
  @filter = args[:filter] if args.key?(:filter)
14333
15052
  end
@@ -14710,11 +15429,25 @@ module Google
14710
15429
  class GoogleCloudDiscoveryengineV1alphaSession
14711
15430
  include Google::Apis::Core::Hashable
14712
15431
 
15432
+ # Optional. The display name of the session. This field is used to identify the
15433
+ # session in the UI. By default, the display name is the first turn query text
15434
+ # in the session.
15435
+ # Corresponds to the JSON property `displayName`
15436
+ # @return [String]
15437
+ attr_accessor :display_name
15438
+
14713
15439
  # Output only. The time the session finished.
14714
15440
  # Corresponds to the JSON property `endTime`
14715
15441
  # @return [String]
14716
15442
  attr_accessor :end_time
14717
15443
 
15444
+ # Optional. Whether the session is pinned, pinned session will be displayed on
15445
+ # the top of the session list.
15446
+ # Corresponds to the JSON property `isPinned`
15447
+ # @return [Boolean]
15448
+ attr_accessor :is_pinned
15449
+ alias_method :is_pinned?, :is_pinned
15450
+
14718
15451
  # Immutable. Fully qualified name `projects/`project`/locations/global/
14719
15452
  # collections/`collection`/engines/`engine`/sessions/*`
14720
15453
  # Corresponds to the JSON property `name`
@@ -14747,7 +15480,9 @@ module Google
14747
15480
 
14748
15481
  # Update properties of this object
14749
15482
  def update!(**args)
15483
+ @display_name = args[:display_name] if args.key?(:display_name)
14750
15484
  @end_time = args[:end_time] if args.key?(:end_time)
15485
+ @is_pinned = args[:is_pinned] if args.key?(:is_pinned)
14751
15486
  @name = args[:name] if args.key?(:name)
14752
15487
  @start_time = args[:start_time] if args.key?(:start_time)
14753
15488
  @state = args[:state] if args.key?(:state)
@@ -14766,6 +15501,11 @@ module Google
14766
15501
  # @return [String]
14767
15502
  attr_accessor :answer
14768
15503
 
15504
+ # Defines an answer.
15505
+ # Corresponds to the JSON property `detailedAnswer`
15506
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaAnswer]
15507
+ attr_accessor :detailed_answer
15508
+
14769
15509
  # Defines a user inputed query.
14770
15510
  # Corresponds to the JSON property `query`
14771
15511
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaQuery]
@@ -14778,6 +15518,7 @@ module Google
14778
15518
  # Update properties of this object
14779
15519
  def update!(**args)
14780
15520
  @answer = args[:answer] if args.key?(:answer)
15521
+ @detailed_answer = args[:detailed_answer] if args.key?(:detailed_answer)
14781
15522
  @query = args[:query] if args.key?(:query)
14782
15523
  end
14783
15524
  end
@@ -15168,6 +15909,33 @@ module Google
15168
15909
  end
15169
15910
  end
15170
15911
 
15912
+ # Request for UpdateSession method.
15913
+ class GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest
15914
+ include Google::Apis::Core::Hashable
15915
+
15916
+ # External session proto definition.
15917
+ # Corresponds to the JSON property `session`
15918
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSession]
15919
+ attr_accessor :session
15920
+
15921
+ # Indicates which fields in the provided Session to update. The following are
15922
+ # NOT supported: * Session.name If not set or empty, all supported fields are
15923
+ # updated.
15924
+ # Corresponds to the JSON property `updateMask`
15925
+ # @return [String]
15926
+ attr_accessor :update_mask
15927
+
15928
+ def initialize(**args)
15929
+ update!(**args)
15930
+ end
15931
+
15932
+ # Update properties of this object
15933
+ def update!(**args)
15934
+ @session = args[:session] if args.key?(:session)
15935
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
15936
+ end
15937
+ end
15938
+
15171
15939
  # Metadata related to the progress of the SiteSearchEngineService.
15172
15940
  # UpdateTargetSite operation. This will be returned by the google.longrunning.
15173
15941
  # Operation.metadata field.
@@ -15514,6 +16282,13 @@ module Google
15514
16282
  # @return [String]
15515
16283
  attr_accessor :name
15516
16284
 
16285
+ # Promote certain links based on some trigger queries. Example: Promote shoe
16286
+ # store link when searching for `shoe` keyword. The link can be outside of
16287
+ # associated data store.
16288
+ # Corresponds to the JSON property `promoteAction`
16289
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlPromoteAction]
16290
+ attr_accessor :promote_action
16291
+
15517
16292
  # Redirects a shopper to the provided URI.
15518
16293
  # Corresponds to the JSON property `redirectAction`
15519
16294
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaControlRedirectAction]
@@ -15552,6 +16327,7 @@ module Google
15552
16327
  @display_name = args[:display_name] if args.key?(:display_name)
15553
16328
  @filter_action = args[:filter_action] if args.key?(:filter_action)
15554
16329
  @name = args[:name] if args.key?(:name)
16330
+ @promote_action = args[:promote_action] if args.key?(:promote_action)
15555
16331
  @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
15556
16332
  @solution_type = args[:solution_type] if args.key?(:solution_type)
15557
16333
  @synonyms_action = args[:synonyms_action] if args.key?(:synonyms_action)
@@ -15625,6 +16401,34 @@ module Google
15625
16401
  end
15626
16402
  end
15627
16403
 
16404
+ # Promote certain links based on some trigger queries. Example: Promote shoe
16405
+ # store link when searching for `shoe` keyword. The link can be outside of
16406
+ # associated data store.
16407
+ class GoogleCloudDiscoveryengineV1betaControlPromoteAction
16408
+ include Google::Apis::Core::Hashable
16409
+
16410
+ # Required. Data store with which this promotion is attached to.
16411
+ # Corresponds to the JSON property `dataStore`
16412
+ # @return [String]
16413
+ attr_accessor :data_store
16414
+
16415
+ # Promotion proto includes uri and other helping information to display the
16416
+ # promotion.
16417
+ # Corresponds to the JSON property `searchLinkPromotion`
16418
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchLinkPromotion]
16419
+ attr_accessor :search_link_promotion
16420
+
16421
+ def initialize(**args)
16422
+ update!(**args)
16423
+ end
16424
+
16425
+ # Update properties of this object
16426
+ def update!(**args)
16427
+ @data_store = args[:data_store] if args.key?(:data_store)
16428
+ @search_link_promotion = args[:search_link_promotion] if args.key?(:search_link_promotion)
16429
+ end
16430
+ end
16431
+
15628
16432
  # Redirects a shopper to the provided URI.
15629
16433
  class GoogleCloudDiscoveryengineV1betaControlRedirectAction
15630
16434
  include Google::Apis::Core::Hashable
@@ -17709,6 +18513,53 @@ module Google
17709
18513
  end
17710
18514
  end
17711
18515
 
18516
+ # Promotion proto includes uri and other helping information to display the
18517
+ # promotion.
18518
+ class GoogleCloudDiscoveryengineV1betaSearchLinkPromotion
18519
+ include Google::Apis::Core::Hashable
18520
+
18521
+ # Optional. The Promotion description. Maximum length: 200 characters.
18522
+ # Corresponds to the JSON property `description`
18523
+ # @return [String]
18524
+ attr_accessor :description
18525
+
18526
+ # Optional. The enabled promotion will be returned for any serving configs
18527
+ # associated with the parent of the control this promotion is attached to. This
18528
+ # flag is used for basic site search only.
18529
+ # Corresponds to the JSON property `enabled`
18530
+ # @return [Boolean]
18531
+ attr_accessor :enabled
18532
+ alias_method :enabled?, :enabled
18533
+
18534
+ # Optional. The promotion thumbnail image url.
18535
+ # Corresponds to the JSON property `imageUri`
18536
+ # @return [String]
18537
+ attr_accessor :image_uri
18538
+
18539
+ # Required. The title of the promotion. Maximum length: 160 characters.
18540
+ # Corresponds to the JSON property `title`
18541
+ # @return [String]
18542
+ attr_accessor :title
18543
+
18544
+ # Required. The URL for the page the user wants to promote.
18545
+ # Corresponds to the JSON property `uri`
18546
+ # @return [String]
18547
+ attr_accessor :uri
18548
+
18549
+ def initialize(**args)
18550
+ update!(**args)
18551
+ end
18552
+
18553
+ # Update properties of this object
18554
+ def update!(**args)
18555
+ @description = args[:description] if args.key?(:description)
18556
+ @enabled = args[:enabled] if args.key?(:enabled)
18557
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
18558
+ @title = args[:title] if args.key?(:title)
18559
+ @uri = args[:uri] if args.key?(:uri)
18560
+ end
18561
+ end
18562
+
17712
18563
  # Request message for SearchService.Search method.
17713
18564
  class GoogleCloudDiscoveryengineV1betaSearchRequest
17714
18565
  include Google::Apis::Core::Hashable
@@ -17743,10 +18594,10 @@ module Google
17743
18594
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec]
17744
18595
  attr_accessor :content_search_spec
17745
18596
 
17746
- # Specs defining dataStores to filter on in a search call and configurations for
17747
- # those dataStores. This is only considered for engines with multiple dataStores
17748
- # use case. For single dataStore within an engine, they should use the specs at
17749
- # the top level.
18597
+ # Specs defining DataStores to filter on in a search call and configurations for
18598
+ # those data stores. This is only considered for Engines with multiple data
18599
+ # stores. For engines with a single data store, the specs directly under
18600
+ # SearchRequest should be used.
17750
18601
  # Corresponds to the JSON property `dataStoreSpecs`
17751
18602
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec>]
17752
18603
  attr_accessor :data_store_specs
@@ -18520,6 +19371,11 @@ module Google
18520
19371
  class GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec
18521
19372
  include Google::Apis::Core::Hashable
18522
19373
 
19374
+ # Boost specification to boost certain documents.
19375
+ # Corresponds to the JSON property `boostSpec`
19376
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec]
19377
+ attr_accessor :boost_spec
19378
+
18523
19379
  # Required. Full resource name of DataStore, such as `projects/`project`/
18524
19380
  # locations/`location`/collections/`collection_id`/dataStores/`data_store_id``.
18525
19381
  # Corresponds to the JSON property `dataStore`
@@ -18539,6 +19395,7 @@ module Google
18539
19395
 
18540
19396
  # Update properties of this object
18541
19397
  def update!(**args)
19398
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
18542
19399
  @data_store = args[:data_store] if args.key?(:data_store)
18543
19400
  @filter = args[:filter] if args.key?(:filter)
18544
19401
  end