google-apis-discoveryengine_v1 0.22.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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