google-apis-discoveryengine_v1beta 0.49.0 → 0.50.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -960,9 +960,10 @@ module Google
960
960
  # Map from file type to override the default parsing configuration based on the
961
961
  # file type. Supported keys: * `pdf`: Override parsing config for PDF files,
962
962
  # either digital parsing, ocr parsing or layout parsing is supported. * `html`:
963
- # Override parsing config for HTML files, only digital parsing and or layout
963
+ # Override parsing config for HTML files, only digital parsing and layout
964
964
  # parsing are supported. * `docx`: Override parsing config for DOCX files, only
965
- # digital parsing and or layout parsing are supported.
965
+ # digital parsing and layout parsing are supported. * `pptx`: Override parsing
966
+ # config for PPTX files, only digital parsing and layout parsing are supported.
966
967
  # Corresponds to the JSON property `parsingConfigOverrides`
967
968
  # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig>]
968
969
  attr_accessor :parsing_config_overrides
@@ -2687,6 +2688,12 @@ module Google
2687
2688
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo>]
2688
2689
  attr_accessor :snippet_info
2689
2690
 
2691
+ # Data representation. The structured JSON data for the document. It's populated
2692
+ # from the struct data from the Document , or the Chunk in search result .
2693
+ # Corresponds to the JSON property `structData`
2694
+ # @return [Hash<String,Object>]
2695
+ attr_accessor :struct_data
2696
+
2690
2697
  # Title.
2691
2698
  # Corresponds to the JSON property `title`
2692
2699
  # @return [String]
@@ -2706,6 +2713,7 @@ module Google
2706
2713
  @chunk_info = args[:chunk_info] if args.key?(:chunk_info)
2707
2714
  @document = args[:document] if args.key?(:document)
2708
2715
  @snippet_info = args[:snippet_info] if args.key?(:snippet_info)
2716
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
2709
2717
  @title = args[:title] if args.key?(:title)
2710
2718
  @uri = args[:uri] if args.key?(:uri)
2711
2719
  end
@@ -3163,6 +3171,19 @@ module Google
3163
3171
  end
3164
3172
  end
3165
3173
 
3174
+ # Metadata for EvaluationService.CreateEvaluation method.
3175
+ class GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata
3176
+ include Google::Apis::Core::Hashable
3177
+
3178
+ def initialize(**args)
3179
+ update!(**args)
3180
+ end
3181
+
3182
+ # Update properties of this object
3183
+ def update!(**args)
3184
+ end
3185
+ end
3186
+
3166
3187
  # Metadata for Create Schema LRO.
3167
3188
  class GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata
3168
3189
  include Google::Apis::Core::Hashable
@@ -3217,6 +3238,26 @@ module Google
3217
3238
  end
3218
3239
  end
3219
3240
 
3241
+ # Defines custom fine tuning spec.
3242
+ class GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec
3243
+ include Google::Apis::Core::Hashable
3244
+
3245
+ # Whether or not to enable and include custom fine tuned search adaptor model.
3246
+ # Corresponds to the JSON property `enableSearchAdaptor`
3247
+ # @return [Boolean]
3248
+ attr_accessor :enable_search_adaptor
3249
+ alias_method :enable_search_adaptor?, :enable_search_adaptor
3250
+
3251
+ def initialize(**args)
3252
+ update!(**args)
3253
+ end
3254
+
3255
+ # Update properties of this object
3256
+ def update!(**args)
3257
+ @enable_search_adaptor = args[:enable_search_adaptor] if args.key?(:enable_search_adaptor)
3258
+ end
3259
+ end
3260
+
3220
3261
  # Metadata that describes a custom tuned model.
3221
3262
  class GoogleCloudDiscoveryengineV1alphaCustomTuningModel
3222
3263
  include Google::Apis::Core::Hashable
@@ -3231,6 +3272,11 @@ module Google
3231
3272
  # @return [String]
3232
3273
  attr_accessor :display_name
3233
3274
 
3275
+ # The metrics of the trained model.
3276
+ # Corresponds to the JSON property `metrics`
3277
+ # @return [Hash<String,Float>]
3278
+ attr_accessor :metrics
3279
+
3234
3280
  # The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).
3235
3281
  # Corresponds to the JSON property `modelState`
3236
3282
  # @return [String]
@@ -3262,6 +3308,7 @@ module Google
3262
3308
  def update!(**args)
3263
3309
  @create_time = args[:create_time] if args.key?(:create_time)
3264
3310
  @display_name = args[:display_name] if args.key?(:display_name)
3311
+ @metrics = args[:metrics] if args.key?(:metrics)
3265
3312
  @model_state = args[:model_state] if args.key?(:model_state)
3266
3313
  @model_version = args[:model_version] if args.key?(:model_version)
3267
3314
  @name = args[:name] if args.key?(:name)
@@ -3546,9 +3593,10 @@ module Google
3546
3593
  # Map from file type to override the default parsing configuration based on the
3547
3594
  # file type. Supported keys: * `pdf`: Override parsing config for PDF files,
3548
3595
  # either digital parsing, ocr parsing or layout parsing is supported. * `html`:
3549
- # Override parsing config for HTML files, only digital parsing and or layout
3596
+ # Override parsing config for HTML files, only digital parsing and layout
3550
3597
  # parsing are supported. * `docx`: Override parsing config for DOCX files, only
3551
- # digital parsing and or layout parsing are supported.
3598
+ # digital parsing and layout parsing are supported. * `pptx`: Override parsing
3599
+ # config for PPTX files, only digital parsing and layout parsing are supported.
3552
3600
  # Corresponds to the JSON property `parsingConfigOverrides`
3553
3601
  # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig>]
3554
3602
  attr_accessor :parsing_config_overrides
@@ -4180,6 +4228,181 @@ module Google
4180
4228
  end
4181
4229
  end
4182
4230
 
4231
+ # An evaluation is a single execution (or run) of an evaluation process. It
4232
+ # encapsulates the state of the evaluation and the resulting data.
4233
+ class GoogleCloudDiscoveryengineV1alphaEvaluation
4234
+ include Google::Apis::Core::Hashable
4235
+
4236
+ # Output only. Timestamp the Evaluation was created at.
4237
+ # Corresponds to the JSON property `createTime`
4238
+ # @return [String]
4239
+ attr_accessor :create_time
4240
+
4241
+ # Output only. Timestamp the Evaluation was completed at.
4242
+ # Corresponds to the JSON property `endTime`
4243
+ # @return [String]
4244
+ attr_accessor :end_time
4245
+
4246
+ # The `Status` type defines a logical error model that is suitable for different
4247
+ # programming environments, including REST APIs and RPC APIs. It is used by [
4248
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
4249
+ # data: error code, error message, and error details. You can find out more
4250
+ # about this error model and how to work with it in the [API Design Guide](https:
4251
+ # //cloud.google.com/apis/design/errors).
4252
+ # Corresponds to the JSON property `error`
4253
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus]
4254
+ attr_accessor :error
4255
+
4256
+ # Output only. A sample of errors encountered while processing the request.
4257
+ # Corresponds to the JSON property `errorSamples`
4258
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus>]
4259
+ attr_accessor :error_samples
4260
+
4261
+ # Describes the specification of the evaluation.
4262
+ # Corresponds to the JSON property `evaluationSpec`
4263
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec]
4264
+ attr_accessor :evaluation_spec
4265
+
4266
+ # Immutable. The full resource name of the Evaluation, in the format of `
4267
+ # projects/`project`/locations/`location`/evaluations/`evaluation``. This field
4268
+ # must be a UTF-8 encoded string with a length limit of 1024 characters.
4269
+ # Corresponds to the JSON property `name`
4270
+ # @return [String]
4271
+ attr_accessor :name
4272
+
4273
+ # Describes the metrics produced by the evaluation.
4274
+ # Corresponds to the JSON property `qualityMetrics`
4275
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaQualityMetrics]
4276
+ attr_accessor :quality_metrics
4277
+
4278
+ # Output only. The state of the evaluation.
4279
+ # Corresponds to the JSON property `state`
4280
+ # @return [String]
4281
+ attr_accessor :state
4282
+
4283
+ def initialize(**args)
4284
+ update!(**args)
4285
+ end
4286
+
4287
+ # Update properties of this object
4288
+ def update!(**args)
4289
+ @create_time = args[:create_time] if args.key?(:create_time)
4290
+ @end_time = args[:end_time] if args.key?(:end_time)
4291
+ @error = args[:error] if args.key?(:error)
4292
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
4293
+ @evaluation_spec = args[:evaluation_spec] if args.key?(:evaluation_spec)
4294
+ @name = args[:name] if args.key?(:name)
4295
+ @quality_metrics = args[:quality_metrics] if args.key?(:quality_metrics)
4296
+ @state = args[:state] if args.key?(:state)
4297
+ end
4298
+ end
4299
+
4300
+ # Describes the specification of the evaluation.
4301
+ class GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec
4302
+ include Google::Apis::Core::Hashable
4303
+
4304
+ # Describes the specification of the query set.
4305
+ # Corresponds to the JSON property `querySetSpec`
4306
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec]
4307
+ attr_accessor :query_set_spec
4308
+
4309
+ # Request message for SearchService.Search method.
4310
+ # Corresponds to the JSON property `searchRequest`
4311
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequest]
4312
+ attr_accessor :search_request
4313
+
4314
+ def initialize(**args)
4315
+ update!(**args)
4316
+ end
4317
+
4318
+ # Update properties of this object
4319
+ def update!(**args)
4320
+ @query_set_spec = args[:query_set_spec] if args.key?(:query_set_spec)
4321
+ @search_request = args[:search_request] if args.key?(:search_request)
4322
+ end
4323
+ end
4324
+
4325
+ # Describes the specification of the query set.
4326
+ class GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec
4327
+ include Google::Apis::Core::Hashable
4328
+
4329
+ # Required. The full resource name of the SampleQuerySet used for the evaluation,
4330
+ # in the format of `projects/`project`/locations/`location`/sampleQuerySets/`
4331
+ # sampleQuerySet``.
4332
+ # Corresponds to the JSON property `sampleQuerySet`
4333
+ # @return [String]
4334
+ attr_accessor :sample_query_set
4335
+
4336
+ def initialize(**args)
4337
+ update!(**args)
4338
+ end
4339
+
4340
+ # Update properties of this object
4341
+ def update!(**args)
4342
+ @sample_query_set = args[:sample_query_set] if args.key?(:sample_query_set)
4343
+ end
4344
+ end
4345
+
4346
+ # Metadata related to the progress of the Export operation. This is returned by
4347
+ # the google.longrunning.Operation.metadata field.
4348
+ class GoogleCloudDiscoveryengineV1alphaExportUserEventsMetadata
4349
+ include Google::Apis::Core::Hashable
4350
+
4351
+ # Operation create time.
4352
+ # Corresponds to the JSON property `createTime`
4353
+ # @return [String]
4354
+ attr_accessor :create_time
4355
+
4356
+ # Operation last update time. If the operation is done, this is also the finish
4357
+ # time.
4358
+ # Corresponds to the JSON property `updateTime`
4359
+ # @return [String]
4360
+ attr_accessor :update_time
4361
+
4362
+ def initialize(**args)
4363
+ update!(**args)
4364
+ end
4365
+
4366
+ # Update properties of this object
4367
+ def update!(**args)
4368
+ @create_time = args[:create_time] if args.key?(:create_time)
4369
+ @update_time = args[:update_time] if args.key?(:update_time)
4370
+ end
4371
+ end
4372
+
4373
+ # Response of the ExportUserEventsRequest. If the long running operation was
4374
+ # successful, then this message is returned by the google.longrunning.Operations.
4375
+ # response field.
4376
+ class GoogleCloudDiscoveryengineV1alphaExportUserEventsResponse
4377
+ include Google::Apis::Core::Hashable
4378
+
4379
+ # Output result that stores the information about where the exported data is
4380
+ # stored.
4381
+ # Corresponds to the JSON property `outputResult`
4382
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaOutputResult]
4383
+ attr_accessor :output_result
4384
+
4385
+ # The `Status` type defines a logical error model that is suitable for different
4386
+ # programming environments, including REST APIs and RPC APIs. It is used by [
4387
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
4388
+ # data: error code, error message, and error details. You can find out more
4389
+ # about this error model and how to work with it in the [API Design Guide](https:
4390
+ # //cloud.google.com/apis/design/errors).
4391
+ # Corresponds to the JSON property `status`
4392
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus]
4393
+ attr_accessor :status
4394
+
4395
+ def initialize(**args)
4396
+ update!(**args)
4397
+ end
4398
+
4399
+ # Update properties of this object
4400
+ def update!(**args)
4401
+ @output_result = args[:output_result] if args.key?(:output_result)
4402
+ @status = args[:status] if args.key?(:status)
4403
+ end
4404
+ end
4405
+
4183
4406
  # Configurations for fields of a schema. For example, configuring a field is
4184
4407
  # indexable, or searchable.
4185
4408
  class GoogleCloudDiscoveryengineV1alphaFieldConfig
@@ -4319,6 +4542,27 @@ module Google
4319
4542
  end
4320
4543
  end
4321
4544
 
4545
+ # Response message for SiteSearchEngineService.GetUriPatternDocumentData method.
4546
+ class GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse
4547
+ include Google::Apis::Core::Hashable
4548
+
4549
+ # Document data keyed by URI pattern. For example: document_data_map = ` "www.
4550
+ # url1.com/*": ` "Categories": ["category1", "category2"] `, "www.url2.com/*": `
4551
+ # "Categories": ["category3"] ` `
4552
+ # Corresponds to the JSON property `documentDataMap`
4553
+ # @return [Hash<String,Hash<String,Object>>]
4554
+ attr_accessor :document_data_map
4555
+
4556
+ def initialize(**args)
4557
+ update!(**args)
4558
+ end
4559
+
4560
+ # Update properties of this object
4561
+ def update!(**args)
4562
+ @document_data_map = args[:document_data_map] if args.key?(:document_data_map)
4563
+ end
4564
+ end
4565
+
4322
4566
  # Identity Provider Config.
4323
4567
  class GoogleCloudDiscoveryengineV1alphaIdpConfig
4324
4568
  include Google::Apis::Core::Hashable
@@ -4522,6 +4766,78 @@ module Google
4522
4766
  end
4523
4767
  end
4524
4768
 
4769
+ # Metadata related to the progress of the ImportSampleQueries operation. This
4770
+ # will be returned by the google.longrunning.Operation.metadata field.
4771
+ class GoogleCloudDiscoveryengineV1alphaImportSampleQueriesMetadata
4772
+ include Google::Apis::Core::Hashable
4773
+
4774
+ # ImportSampleQueries operation create time.
4775
+ # Corresponds to the JSON property `createTime`
4776
+ # @return [String]
4777
+ attr_accessor :create_time
4778
+
4779
+ # Count of SampleQuerys that failed to be imported.
4780
+ # Corresponds to the JSON property `failureCount`
4781
+ # @return [Fixnum]
4782
+ attr_accessor :failure_count
4783
+
4784
+ # Count of SampleQuerys successfully imported.
4785
+ # Corresponds to the JSON property `successCount`
4786
+ # @return [Fixnum]
4787
+ attr_accessor :success_count
4788
+
4789
+ # Total count of SampleQuerys that were processed.
4790
+ # Corresponds to the JSON property `totalCount`
4791
+ # @return [Fixnum]
4792
+ attr_accessor :total_count
4793
+
4794
+ # ImportSampleQueries operation last update time. If the operation is done, this
4795
+ # is also the finish time.
4796
+ # Corresponds to the JSON property `updateTime`
4797
+ # @return [String]
4798
+ attr_accessor :update_time
4799
+
4800
+ def initialize(**args)
4801
+ update!(**args)
4802
+ end
4803
+
4804
+ # Update properties of this object
4805
+ def update!(**args)
4806
+ @create_time = args[:create_time] if args.key?(:create_time)
4807
+ @failure_count = args[:failure_count] if args.key?(:failure_count)
4808
+ @success_count = args[:success_count] if args.key?(:success_count)
4809
+ @total_count = args[:total_count] if args.key?(:total_count)
4810
+ @update_time = args[:update_time] if args.key?(:update_time)
4811
+ end
4812
+ end
4813
+
4814
+ # Response of the SampleQueryService.ImportSampleQueries method. If the long
4815
+ # running operation is done, this message is returned by the google.longrunning.
4816
+ # Operations.response field if the operation is successful.
4817
+ class GoogleCloudDiscoveryengineV1alphaImportSampleQueriesResponse
4818
+ include Google::Apis::Core::Hashable
4819
+
4820
+ # Configuration of destination for Import related errors.
4821
+ # Corresponds to the JSON property `errorConfig`
4822
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaImportErrorConfig]
4823
+ attr_accessor :error_config
4824
+
4825
+ # A sample of errors encountered while processing the request.
4826
+ # Corresponds to the JSON property `errorSamples`
4827
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus>]
4828
+ attr_accessor :error_samples
4829
+
4830
+ def initialize(**args)
4831
+ update!(**args)
4832
+ end
4833
+
4834
+ # Update properties of this object
4835
+ def update!(**args)
4836
+ @error_config = args[:error_config] if args.key?(:error_config)
4837
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
4838
+ end
4839
+ end
4840
+
4525
4841
  # Metadata related to the progress of the ImportSuggestionDenyListEntries
4526
4842
  # operation. This is returned by the google.longrunning.Operation.metadata field.
4527
4843
  class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata
@@ -4659,27 +4975,64 @@ module Google
4659
4975
  end
4660
4976
  end
4661
4977
 
4662
- # Language info for DataStore.
4663
- class GoogleCloudDiscoveryengineV1alphaLanguageInfo
4978
+ # A floating point interval.
4979
+ class GoogleCloudDiscoveryengineV1alphaInterval
4664
4980
  include Google::Apis::Core::Hashable
4665
4981
 
4666
- # Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`,
4667
- # `zh-Hans-HK` -> `zh`, `en` -> `en`.
4668
- # Corresponds to the JSON property `language`
4669
- # @return [String]
4670
- attr_accessor :language
4982
+ # Exclusive upper bound.
4983
+ # Corresponds to the JSON property `exclusiveMaximum`
4984
+ # @return [Float]
4985
+ attr_accessor :exclusive_maximum
4671
4986
 
4672
- # The language code for the DataStore.
4673
- # Corresponds to the JSON property `languageCode`
4674
- # @return [String]
4675
- attr_accessor :language_code
4987
+ # Exclusive lower bound.
4988
+ # Corresponds to the JSON property `exclusiveMinimum`
4989
+ # @return [Float]
4990
+ attr_accessor :exclusive_minimum
4676
4991
 
4677
- # Output only. This is the normalized form of language_code. E.g.: language_code
4678
- # of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `
4679
- # en-GB`.
4680
- # Corresponds to the JSON property `normalizedLanguageCode`
4681
- # @return [String]
4682
- attr_accessor :normalized_language_code
4992
+ # Inclusive upper bound.
4993
+ # Corresponds to the JSON property `maximum`
4994
+ # @return [Float]
4995
+ attr_accessor :maximum
4996
+
4997
+ # Inclusive lower bound.
4998
+ # Corresponds to the JSON property `minimum`
4999
+ # @return [Float]
5000
+ attr_accessor :minimum
5001
+
5002
+ def initialize(**args)
5003
+ update!(**args)
5004
+ end
5005
+
5006
+ # Update properties of this object
5007
+ def update!(**args)
5008
+ @exclusive_maximum = args[:exclusive_maximum] if args.key?(:exclusive_maximum)
5009
+ @exclusive_minimum = args[:exclusive_minimum] if args.key?(:exclusive_minimum)
5010
+ @maximum = args[:maximum] if args.key?(:maximum)
5011
+ @minimum = args[:minimum] if args.key?(:minimum)
5012
+ end
5013
+ end
5014
+
5015
+ # Language info for DataStore.
5016
+ class GoogleCloudDiscoveryengineV1alphaLanguageInfo
5017
+ include Google::Apis::Core::Hashable
5018
+
5019
+ # Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`,
5020
+ # `zh-Hans-HK` -> `zh`, `en` -> `en`.
5021
+ # Corresponds to the JSON property `language`
5022
+ # @return [String]
5023
+ attr_accessor :language
5024
+
5025
+ # The language code for the DataStore.
5026
+ # Corresponds to the JSON property `languageCode`
5027
+ # @return [String]
5028
+ attr_accessor :language_code
5029
+
5030
+ # Output only. This is the normalized form of language_code. E.g.: language_code
5031
+ # of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `
5032
+ # en-GB`.
5033
+ # Corresponds to the JSON property `normalizedLanguageCode`
5034
+ # @return [String]
5035
+ attr_accessor :normalized_language_code
4683
5036
 
4684
5037
  # Output only. Region part of normalized_language_code, if present. E.g.: `en-US`
4685
5038
  # -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.
@@ -4719,6 +5072,51 @@ module Google
4719
5072
  end
4720
5073
  end
4721
5074
 
5075
+ # Output result that stores the information about where the exported data is
5076
+ # stored.
5077
+ class GoogleCloudDiscoveryengineV1alphaOutputResult
5078
+ include Google::Apis::Core::Hashable
5079
+
5080
+ # A BigQuery output result.
5081
+ # Corresponds to the JSON property `bigqueryResult`
5082
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaOutputResultBigQueryOutputResult]
5083
+ attr_accessor :bigquery_result
5084
+
5085
+ def initialize(**args)
5086
+ update!(**args)
5087
+ end
5088
+
5089
+ # Update properties of this object
5090
+ def update!(**args)
5091
+ @bigquery_result = args[:bigquery_result] if args.key?(:bigquery_result)
5092
+ end
5093
+ end
5094
+
5095
+ # A BigQuery output result.
5096
+ class GoogleCloudDiscoveryengineV1alphaOutputResultBigQueryOutputResult
5097
+ include Google::Apis::Core::Hashable
5098
+
5099
+ # The ID of a BigQuery Dataset.
5100
+ # Corresponds to the JSON property `datasetId`
5101
+ # @return [String]
5102
+ attr_accessor :dataset_id
5103
+
5104
+ # The ID of a BigQuery Table.
5105
+ # Corresponds to the JSON property `tableId`
5106
+ # @return [String]
5107
+ attr_accessor :table_id
5108
+
5109
+ def initialize(**args)
5110
+ update!(**args)
5111
+ end
5112
+
5113
+ # Update properties of this object
5114
+ def update!(**args)
5115
+ @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
5116
+ @table_id = args[:table_id] if args.key?(:table_id)
5117
+ end
5118
+ end
5119
+
4722
5120
  # Metadata and configurations for a Google Cloud project in the service.
4723
5121
  class GoogleCloudDiscoveryengineV1alphaProject
4724
5122
  include Google::Apis::Core::Hashable
@@ -5056,23 +5454,1288 @@ module Google
5056
5454
 
5057
5455
  # Update properties of this object
5058
5456
  def update!(**args)
5059
- @purge_count = args[:purge_count] if args.key?(:purge_count)
5457
+ @purge_count = args[:purge_count] if args.key?(:purge_count)
5458
+ end
5459
+ end
5460
+
5461
+ # Describes the metrics produced by the evaluation.
5462
+ class GoogleCloudDiscoveryengineV1alphaQualityMetrics
5463
+ include Google::Apis::Core::Hashable
5464
+
5465
+ # Stores the metric values at specific top-k levels.
5466
+ # Corresponds to the JSON property `docNdcg`
5467
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
5468
+ attr_accessor :doc_ndcg
5469
+
5470
+ # Stores the metric values at specific top-k levels.
5471
+ # Corresponds to the JSON property `docPrecision`
5472
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
5473
+ attr_accessor :doc_precision
5474
+
5475
+ # Stores the metric values at specific top-k levels.
5476
+ # Corresponds to the JSON property `docRecall`
5477
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
5478
+ attr_accessor :doc_recall
5479
+
5480
+ # Stores the metric values at specific top-k levels.
5481
+ # Corresponds to the JSON property `pageNdcg`
5482
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
5483
+ attr_accessor :page_ndcg
5484
+
5485
+ # Stores the metric values at specific top-k levels.
5486
+ # Corresponds to the JSON property `pageRecall`
5487
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
5488
+ attr_accessor :page_recall
5489
+
5490
+ def initialize(**args)
5491
+ update!(**args)
5492
+ end
5493
+
5494
+ # Update properties of this object
5495
+ def update!(**args)
5496
+ @doc_ndcg = args[:doc_ndcg] if args.key?(:doc_ndcg)
5497
+ @doc_precision = args[:doc_precision] if args.key?(:doc_precision)
5498
+ @doc_recall = args[:doc_recall] if args.key?(:doc_recall)
5499
+ @page_ndcg = args[:page_ndcg] if args.key?(:page_ndcg)
5500
+ @page_recall = args[:page_recall] if args.key?(:page_recall)
5501
+ end
5502
+ end
5503
+
5504
+ # Stores the metric values at specific top-k levels.
5505
+ class GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics
5506
+ include Google::Apis::Core::Hashable
5507
+
5508
+ # The top-1 value.
5509
+ # Corresponds to the JSON property `top1`
5510
+ # @return [Float]
5511
+ attr_accessor :top1
5512
+
5513
+ # The top-10 value.
5514
+ # Corresponds to the JSON property `top10`
5515
+ # @return [Float]
5516
+ attr_accessor :top10
5517
+
5518
+ # The top-3 value.
5519
+ # Corresponds to the JSON property `top3`
5520
+ # @return [Float]
5521
+ attr_accessor :top3
5522
+
5523
+ # The top-5 value.
5524
+ # Corresponds to the JSON property `top5`
5525
+ # @return [Float]
5526
+ attr_accessor :top5
5527
+
5528
+ def initialize(**args)
5529
+ update!(**args)
5530
+ end
5531
+
5532
+ # Update properties of this object
5533
+ def update!(**args)
5534
+ @top1 = args[:top1] if args.key?(:top1)
5535
+ @top10 = args[:top10] if args.key?(:top10)
5536
+ @top3 = args[:top3] if args.key?(:top3)
5537
+ @top5 = args[:top5] if args.key?(:top5)
5538
+ end
5539
+ end
5540
+
5541
+ # Defines a user inputed query.
5542
+ class GoogleCloudDiscoveryengineV1alphaQuery
5543
+ include Google::Apis::Core::Hashable
5544
+
5545
+ # Unique Id for the query.
5546
+ # Corresponds to the JSON property `queryId`
5547
+ # @return [String]
5548
+ attr_accessor :query_id
5549
+
5550
+ # Plain text.
5551
+ # Corresponds to the JSON property `text`
5552
+ # @return [String]
5553
+ attr_accessor :text
5554
+
5555
+ def initialize(**args)
5556
+ update!(**args)
5557
+ end
5558
+
5559
+ # Update properties of this object
5560
+ def update!(**args)
5561
+ @query_id = args[:query_id] if args.key?(:query_id)
5562
+ @text = args[:text] if args.key?(:text)
5563
+ end
5564
+ end
5565
+
5566
+ # Metadata related to the progress of the SiteSearchEngineService.RecrawlUris
5567
+ # operation. This will be returned by the google.longrunning.Operation.metadata
5568
+ # field.
5569
+ class GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata
5570
+ include Google::Apis::Core::Hashable
5571
+
5572
+ # Operation create time.
5573
+ # Corresponds to the JSON property `createTime`
5574
+ # @return [String]
5575
+ attr_accessor :create_time
5576
+
5577
+ # Unique URIs in the request that don't match any TargetSite in the DataStore,
5578
+ # only match TargetSites that haven't been fully indexed, or match a TargetSite
5579
+ # with type EXCLUDE.
5580
+ # Corresponds to the JSON property `invalidUris`
5581
+ # @return [Array<String>]
5582
+ attr_accessor :invalid_uris
5583
+
5584
+ # Total number of URIs that have yet to be crawled.
5585
+ # Corresponds to the JSON property `pendingCount`
5586
+ # @return [Fixnum]
5587
+ attr_accessor :pending_count
5588
+
5589
+ # Total number of URIs that were rejected due to insufficient indexing resources.
5590
+ # Corresponds to the JSON property `quotaExceededCount`
5591
+ # @return [Fixnum]
5592
+ attr_accessor :quota_exceeded_count
5593
+
5594
+ # Total number of URIs that have been crawled so far.
5595
+ # Corresponds to the JSON property `successCount`
5596
+ # @return [Fixnum]
5597
+ attr_accessor :success_count
5598
+
5599
+ # Operation last update time. If the operation is done, this is also the finish
5600
+ # time.
5601
+ # Corresponds to the JSON property `updateTime`
5602
+ # @return [String]
5603
+ attr_accessor :update_time
5604
+
5605
+ # Total number of unique URIs in the request that are not in invalid_uris.
5606
+ # Corresponds to the JSON property `validUrisCount`
5607
+ # @return [Fixnum]
5608
+ attr_accessor :valid_uris_count
5609
+
5610
+ def initialize(**args)
5611
+ update!(**args)
5612
+ end
5613
+
5614
+ # Update properties of this object
5615
+ def update!(**args)
5616
+ @create_time = args[:create_time] if args.key?(:create_time)
5617
+ @invalid_uris = args[:invalid_uris] if args.key?(:invalid_uris)
5618
+ @pending_count = args[:pending_count] if args.key?(:pending_count)
5619
+ @quota_exceeded_count = args[:quota_exceeded_count] if args.key?(:quota_exceeded_count)
5620
+ @success_count = args[:success_count] if args.key?(:success_count)
5621
+ @update_time = args[:update_time] if args.key?(:update_time)
5622
+ @valid_uris_count = args[:valid_uris_count] if args.key?(:valid_uris_count)
5623
+ end
5624
+ end
5625
+
5626
+ # Response message for SiteSearchEngineService.RecrawlUris method.
5627
+ class GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponse
5628
+ include Google::Apis::Core::Hashable
5629
+
5630
+ # URIs that were not crawled before the LRO terminated.
5631
+ # Corresponds to the JSON property `failedUris`
5632
+ # @return [Array<String>]
5633
+ attr_accessor :failed_uris
5634
+
5635
+ # Details for a sample of up to 10 `failed_uris`.
5636
+ # Corresponds to the JSON property `failureSamples`
5637
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo>]
5638
+ attr_accessor :failure_samples
5639
+
5640
+ def initialize(**args)
5641
+ update!(**args)
5642
+ end
5643
+
5644
+ # Update properties of this object
5645
+ def update!(**args)
5646
+ @failed_uris = args[:failed_uris] if args.key?(:failed_uris)
5647
+ @failure_samples = args[:failure_samples] if args.key?(:failure_samples)
5648
+ end
5649
+ end
5650
+
5651
+ # Details about why a particular URI failed to be crawled. Each FailureInfo
5652
+ # contains one FailureReason per CorpusType.
5653
+ class GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo
5654
+ include Google::Apis::Core::Hashable
5655
+
5656
+ # List of failure reasons by corpus type (e.g. desktop, mobile).
5657
+ # Corresponds to the JSON property `failureReasons`
5658
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason>]
5659
+ attr_accessor :failure_reasons
5660
+
5661
+ # URI that failed to be crawled.
5662
+ # Corresponds to the JSON property `uri`
5663
+ # @return [String]
5664
+ attr_accessor :uri
5665
+
5666
+ def initialize(**args)
5667
+ update!(**args)
5668
+ end
5669
+
5670
+ # Update properties of this object
5671
+ def update!(**args)
5672
+ @failure_reasons = args[:failure_reasons] if args.key?(:failure_reasons)
5673
+ @uri = args[:uri] if args.key?(:uri)
5674
+ end
5675
+ end
5676
+
5677
+ # Details about why crawling failed for a particular CorpusType, e.g., DESKTOP
5678
+ # and MOBILE crawling may fail for different reasons.
5679
+ class GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason
5680
+ include Google::Apis::Core::Hashable
5681
+
5682
+ # DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED.
5683
+ # Corresponds to the JSON property `corpusType`
5684
+ # @return [String]
5685
+ attr_accessor :corpus_type
5686
+
5687
+ # Reason why the URI was not crawled.
5688
+ # Corresponds to the JSON property `errorMessage`
5689
+ # @return [String]
5690
+ attr_accessor :error_message
5691
+
5692
+ def initialize(**args)
5693
+ update!(**args)
5694
+ end
5695
+
5696
+ # Update properties of this object
5697
+ def update!(**args)
5698
+ @corpus_type = args[:corpus_type] if args.key?(:corpus_type)
5699
+ @error_message = args[:error_message] if args.key?(:error_message)
5700
+ end
5701
+ end
5702
+
5703
+ # Defines the structure and layout of a type of document data.
5704
+ class GoogleCloudDiscoveryengineV1alphaSchema
5705
+ include Google::Apis::Core::Hashable
5706
+
5707
+ # Output only. Configurations for fields of the schema.
5708
+ # Corresponds to the JSON property `fieldConfigs`
5709
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaFieldConfig>]
5710
+ attr_accessor :field_configs
5711
+
5712
+ # The JSON representation of the schema.
5713
+ # Corresponds to the JSON property `jsonSchema`
5714
+ # @return [String]
5715
+ attr_accessor :json_schema
5716
+
5717
+ # Immutable. The full resource name of the schema, in the format of `projects/`
5718
+ # project`/locations/`location`/collections/`collection`/dataStores/`data_store`/
5719
+ # schemas/`schema``. This field must be a UTF-8 encoded string with a length
5720
+ # limit of 1024 characters.
5721
+ # Corresponds to the JSON property `name`
5722
+ # @return [String]
5723
+ attr_accessor :name
5724
+
5725
+ # The structured representation of the schema.
5726
+ # Corresponds to the JSON property `structSchema`
5727
+ # @return [Hash<String,Object>]
5728
+ attr_accessor :struct_schema
5729
+
5730
+ def initialize(**args)
5731
+ update!(**args)
5732
+ end
5733
+
5734
+ # Update properties of this object
5735
+ def update!(**args)
5736
+ @field_configs = args[:field_configs] if args.key?(:field_configs)
5737
+ @json_schema = args[:json_schema] if args.key?(:json_schema)
5738
+ @name = args[:name] if args.key?(:name)
5739
+ @struct_schema = args[:struct_schema] if args.key?(:struct_schema)
5740
+ end
5741
+ end
5742
+
5743
+ # Request message for SearchService.Search method.
5744
+ class GoogleCloudDiscoveryengineV1alphaSearchRequest
5745
+ include Google::Apis::Core::Hashable
5746
+
5747
+ # Boost specification to boost certain documents.
5748
+ # Corresponds to the JSON property `boostSpec`
5749
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec]
5750
+ attr_accessor :boost_spec
5751
+
5752
+ # The branch resource name, such as `projects/*/locations/global/collections/
5753
+ # default_collection/dataStores/default_data_store/branches/0`. Use `
5754
+ # default_branch` as the branch ID or leave this field empty, to search
5755
+ # documents under the default branch.
5756
+ # Corresponds to the JSON property `branch`
5757
+ # @return [String]
5758
+ attr_accessor :branch
5759
+
5760
+ # The default filter that is applied when a user performs a search without
5761
+ # checking any filters on the search page. The filter applied to every search
5762
+ # request when quality improvement such as query expansion is needed. In the
5763
+ # case a query does not have a sufficient amount of results this filter will be
5764
+ # used to determine whether or not to enable the query expansion flow. The
5765
+ # original filter will still be used for the query expanded search. This field
5766
+ # is strongly recommended to achieve high search quality. For more information
5767
+ # about filter syntax, see SearchRequest.filter.
5768
+ # Corresponds to the JSON property `canonicalFilter`
5769
+ # @return [String]
5770
+ attr_accessor :canonical_filter
5771
+
5772
+ # A specification for configuring the behavior of content search.
5773
+ # Corresponds to the JSON property `contentSearchSpec`
5774
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec]
5775
+ attr_accessor :content_search_spec
5776
+
5777
+ # Defines custom fine tuning spec.
5778
+ # Corresponds to the JSON property `customFineTuningSpec`
5779
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec]
5780
+ attr_accessor :custom_fine_tuning_spec
5781
+
5782
+ # Specs defining dataStores to filter on in a search call and configurations for
5783
+ # those dataStores. This is only considered for engines with multiple dataStores
5784
+ # use case. For single dataStore within an engine, they should use the specs at
5785
+ # the top level.
5786
+ # Corresponds to the JSON property `dataStoreSpecs`
5787
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec>]
5788
+ attr_accessor :data_store_specs
5789
+
5790
+ # The specification that uses customized query embedding vector to do semantic
5791
+ # document retrieval.
5792
+ # Corresponds to the JSON property `embeddingSpec`
5793
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec]
5794
+ attr_accessor :embedding_spec
5795
+
5796
+ # Facet specifications for faceted search. If empty, no facets are returned. A
5797
+ # maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is
5798
+ # returned.
5799
+ # Corresponds to the JSON property `facetSpecs`
5800
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec>]
5801
+ attr_accessor :facet_specs
5802
+
5803
+ # The filter syntax consists of an expression language for constructing a
5804
+ # predicate from one or more fields of the documents being filtered. Filter
5805
+ # expression is case-sensitive. If this field is unrecognizable, an `
5806
+ # INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by
5807
+ # mapping the LHS filter key to a key property defined in the Vertex AI Search
5808
+ # backend -- this mapping is defined by the customer in their schema. For
5809
+ # example a media customer might have a field 'name' in their schema. In this
5810
+ # case the filter would look like this: filter --> name:'ANY("king kong")' For
5811
+ # more information about filtering including syntax and filter operators, see [
5812
+ # Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-
5813
+ # metadata)
5814
+ # Corresponds to the JSON property `filter`
5815
+ # @return [String]
5816
+ attr_accessor :filter
5817
+
5818
+ # Specifies the image query input.
5819
+ # Corresponds to the JSON property `imageQuery`
5820
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery]
5821
+ attr_accessor :image_query
5822
+
5823
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information,
5824
+ # see [Standard fields](https://cloud.google.com/apis/design/standard_fields).
5825
+ # This field helps to better interpret the query. If a value isn't specified,
5826
+ # the query language code is automatically detected, which may not be accurate.
5827
+ # Corresponds to the JSON property `languageCode`
5828
+ # @return [String]
5829
+ attr_accessor :language_code
5830
+
5831
+ # Specification to enable natural language understanding capabilities for search
5832
+ # requests.
5833
+ # Corresponds to the JSON property `naturalLanguageQueryUnderstandingSpec`
5834
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec]
5835
+ attr_accessor :natural_language_query_understanding_spec
5836
+
5837
+ # A 0-indexed integer that specifies the current offset (that is, starting
5838
+ # result location, amongst the Documents deemed by the API as relevant) in
5839
+ # search results. This field is only considered if page_token is unset. If this
5840
+ # field is negative, an `INVALID_ARGUMENT` is returned.
5841
+ # Corresponds to the JSON property `offset`
5842
+ # @return [Fixnum]
5843
+ attr_accessor :offset
5844
+
5845
+ # The order in which documents are returned. Documents can be ordered by a field
5846
+ # in an Document object. Leave it unset if ordered by relevance. `order_by`
5847
+ # expression is case-sensitive. For more information on ordering for retail
5848
+ # search, see [Ordering](https://cloud.google.com/retail/docs/filter-and-order#
5849
+ # order) If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
5850
+ # Corresponds to the JSON property `orderBy`
5851
+ # @return [String]
5852
+ attr_accessor :order_by
5853
+
5854
+ # Maximum number of Documents to return. The maximum allowed value depends on
5855
+ # the data type. Values above the maximum value are coerced to the maximum value.
5856
+ # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
5857
+ # advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `
5858
+ # 100`. If this field is negative, an `INVALID_ARGUMENT` is returned.
5859
+ # Corresponds to the JSON property `pageSize`
5860
+ # @return [Fixnum]
5861
+ attr_accessor :page_size
5862
+
5863
+ # A page token received from a previous SearchService.Search call. Provide this
5864
+ # to retrieve the subsequent page. When paginating, all other parameters
5865
+ # provided to SearchService.Search must match the call that provided the page
5866
+ # token. Otherwise, an `INVALID_ARGUMENT` error is returned.
5867
+ # Corresponds to the JSON property `pageToken`
5868
+ # @return [String]
5869
+ attr_accessor :page_token
5870
+
5871
+ # Additional search parameters. For public website search only, supported values
5872
+ # are: * `user_country_code`: string. Default empty. If set to non-empty,
5873
+ # results are restricted or boosted based on the location provided. For example,
5874
+ # `user_country_code: "au"` For available codes see [Country Codes](https://
5875
+ # developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `
5876
+ # search_type`: double. Default empty. Enables non-webpage searching depending
5877
+ # on the value. The only valid non-default value is 1, which enables image
5878
+ # searching. For example, `search_type: 1`
5879
+ # Corresponds to the JSON property `params`
5880
+ # @return [Hash<String,Object>]
5881
+ attr_accessor :params
5882
+
5883
+ # Raw search query.
5884
+ # Corresponds to the JSON property `query`
5885
+ # @return [String]
5886
+ attr_accessor :query
5887
+
5888
+ # Specification to determine under which conditions query expansion should occur.
5889
+ # Corresponds to the JSON property `queryExpansionSpec`
5890
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec]
5891
+ attr_accessor :query_expansion_spec
5892
+
5893
+ # The ranking expression controls the customized ranking on retrieval documents.
5894
+ # This overrides ServingConfig.ranking_expression. The ranking expression is a
5895
+ # single function or multiple functions that are joined by "+". *
5896
+ # ranking_expression = function, ` " + ", function `; Supported functions: *
5897
+ # double * relevance_score * double * dotProduct(embedding_field_path) Function
5898
+ # variables: * `relevance_score`: pre-defined keywords, used for measure
5899
+ # relevance between query and document. * `embedding_field_path`: the document
5900
+ # embedding field used with query embedding vector. * `dotProduct`: embedding
5901
+ # function between embedding_field_path and query embedding vector. Example
5902
+ # ranking expression: If document has an embedding field doc_embedding, the
5903
+ # ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(
5904
+ # doc_embedding)`.
5905
+ # Corresponds to the JSON property `rankingExpression`
5906
+ # @return [String]
5907
+ attr_accessor :ranking_expression
5908
+
5909
+ # The Unicode country/region code (CLDR) of a location, such as "US" and "419".
5910
+ # For more information, see [Standard fields](https://cloud.google.com/apis/
5911
+ # design/standard_fields). If set, then results will be boosted based on the
5912
+ # region_code provided.
5913
+ # Corresponds to the JSON property `regionCode`
5914
+ # @return [String]
5915
+ attr_accessor :region_code
5916
+
5917
+ # The relevance threshold of the search results. Default to Google defined
5918
+ # threshold, leveraging a balance of precision and recall to deliver both highly
5919
+ # accurate results and comprehensive coverage of relevant information.
5920
+ # Corresponds to the JSON property `relevanceThreshold`
5921
+ # @return [String]
5922
+ attr_accessor :relevance_threshold
5923
+
5924
+ # Whether to turn on safe search. This is only supported for website search.
5925
+ # Corresponds to the JSON property `safeSearch`
5926
+ # @return [Boolean]
5927
+ attr_accessor :safe_search
5928
+ alias_method :safe_search?, :safe_search
5929
+
5930
+ # Specification for search as you type in search requests.
5931
+ # Corresponds to the JSON property `searchAsYouTypeSpec`
5932
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec]
5933
+ attr_accessor :search_as_you_type_spec
5934
+
5935
+ # Required. The resource name of the Search serving config, such as `projects/*/
5936
+ # locations/global/collections/default_collection/engines/*/servingConfigs/
5937
+ # default_serving_config`, or `projects/*/locations/global/collections/
5938
+ # default_collection/dataStores/default_data_store/servingConfigs/
5939
+ # default_serving_config`. This field is used to identify the serving
5940
+ # configuration name, set of models used to make the search.
5941
+ # Corresponds to the JSON property `servingConfig`
5942
+ # @return [String]
5943
+ attr_accessor :serving_config
5944
+
5945
+ # The session resource name. Optional. Session allows users to do multi-turn /
5946
+ # search API calls or coordination between /search API calls and /answer API
5947
+ # calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the
5948
+ # auto-session mode (see below). 2. Call /search API with the session ID
5949
+ # generated in the first call. Here, the previous search query gets considered
5950
+ # in query standing. I.e., if the first query is "How did Alphabet do in 2022?"
5951
+ # and the current query is "How about 2023?", the current query will be
5952
+ # interpreted as "How did Alphabet do in 2023?". Example #2 (coordination
5953
+ # between /search API calls and /answer API calls): 1. Call /search API with the
5954
+ # auto-session mode (see below). 2. Call /answer API with the session ID
5955
+ # generated in the first call. Here, the answer generation happens in the
5956
+ # context of the search results from the first search call. Auto-session mode:
5957
+ # when `projects/.../sessions/-` is used, a new session gets automatically
5958
+ # created. Otherwise, users can use the create-session API to create a session
5959
+ # manually. Multi-turn Search feature is currently at private GA stage. Please
5960
+ # use v1alpha or v1beta version instead before we launch this feature to public
5961
+ # GA. Or ask for allowlisting through Google Support team.
5962
+ # Corresponds to the JSON property `session`
5963
+ # @return [String]
5964
+ attr_accessor :session
5965
+
5966
+ # Session specification. Multi-turn Search feature is currently at private GA
5967
+ # stage. Please use v1alpha or v1beta version instead before we launch this
5968
+ # feature to public GA. Or ask for allowlisting through Google Support team.
5969
+ # Corresponds to the JSON property `sessionSpec`
5970
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec]
5971
+ attr_accessor :session_spec
5972
+
5973
+ # The specification for query spell correction.
5974
+ # Corresponds to the JSON property `spellCorrectionSpec`
5975
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec]
5976
+ attr_accessor :spell_correction_spec
5977
+
5978
+ # Information of an end user.
5979
+ # Corresponds to the JSON property `userInfo`
5980
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaUserInfo]
5981
+ attr_accessor :user_info
5982
+
5983
+ # The user labels applied to a resource must meet the following requirements: *
5984
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
5985
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
5986
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
5987
+ # have a maximum length of 63 characters. * Keys and values can contain only
5988
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
5989
+ # must use UTF-8 encoding, and international characters are allowed. * The key
5990
+ # portion of a label must be unique. However, you can use the same key with
5991
+ # multiple resources. * Keys must start with a lowercase letter or international
5992
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
5993
+ # manager/docs/creating-managing-labels#requirements) for more details.
5994
+ # Corresponds to the JSON property `userLabels`
5995
+ # @return [Hash<String,String>]
5996
+ attr_accessor :user_labels
5997
+
5998
+ # A unique identifier for tracking visitors. For example, this could be
5999
+ # implemented with an HTTP cookie, which should be able to uniquely identify a
6000
+ # visitor on a single device. This unique identifier should not change if the
6001
+ # visitor logs in or out of the website. This field should NOT have a fixed
6002
+ # value such as `unknown_visitor`. This should be the same identifier as
6003
+ # UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field
6004
+ # must be a UTF-8 encoded string with a length limit of 128 characters.
6005
+ # Otherwise, an `INVALID_ARGUMENT` error is returned.
6006
+ # Corresponds to the JSON property `userPseudoId`
6007
+ # @return [String]
6008
+ attr_accessor :user_pseudo_id
6009
+
6010
+ def initialize(**args)
6011
+ update!(**args)
6012
+ end
6013
+
6014
+ # Update properties of this object
6015
+ def update!(**args)
6016
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
6017
+ @branch = args[:branch] if args.key?(:branch)
6018
+ @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
6019
+ @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
6020
+ @custom_fine_tuning_spec = args[:custom_fine_tuning_spec] if args.key?(:custom_fine_tuning_spec)
6021
+ @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
6022
+ @embedding_spec = args[:embedding_spec] if args.key?(:embedding_spec)
6023
+ @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
6024
+ @filter = args[:filter] if args.key?(:filter)
6025
+ @image_query = args[:image_query] if args.key?(:image_query)
6026
+ @language_code = args[:language_code] if args.key?(:language_code)
6027
+ @natural_language_query_understanding_spec = args[:natural_language_query_understanding_spec] if args.key?(:natural_language_query_understanding_spec)
6028
+ @offset = args[:offset] if args.key?(:offset)
6029
+ @order_by = args[:order_by] if args.key?(:order_by)
6030
+ @page_size = args[:page_size] if args.key?(:page_size)
6031
+ @page_token = args[:page_token] if args.key?(:page_token)
6032
+ @params = args[:params] if args.key?(:params)
6033
+ @query = args[:query] if args.key?(:query)
6034
+ @query_expansion_spec = args[:query_expansion_spec] if args.key?(:query_expansion_spec)
6035
+ @ranking_expression = args[:ranking_expression] if args.key?(:ranking_expression)
6036
+ @region_code = args[:region_code] if args.key?(:region_code)
6037
+ @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
6038
+ @safe_search = args[:safe_search] if args.key?(:safe_search)
6039
+ @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
6040
+ @serving_config = args[:serving_config] if args.key?(:serving_config)
6041
+ @session = args[:session] if args.key?(:session)
6042
+ @session_spec = args[:session_spec] if args.key?(:session_spec)
6043
+ @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
6044
+ @user_info = args[:user_info] if args.key?(:user_info)
6045
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
6046
+ @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
6047
+ end
6048
+ end
6049
+
6050
+ # Boost specification to boost certain documents.
6051
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec
6052
+ include Google::Apis::Core::Hashable
6053
+
6054
+ # Condition boost specifications. If a document matches multiple conditions in
6055
+ # the specifictions, boost scores from these specifications are all applied and
6056
+ # combined in a non-linear way. Maximum number of specifications is 20.
6057
+ # Corresponds to the JSON property `conditionBoostSpecs`
6058
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec>]
6059
+ attr_accessor :condition_boost_specs
6060
+
6061
+ def initialize(**args)
6062
+ update!(**args)
6063
+ end
6064
+
6065
+ # Update properties of this object
6066
+ def update!(**args)
6067
+ @condition_boost_specs = args[:condition_boost_specs] if args.key?(:condition_boost_specs)
6068
+ end
6069
+ end
6070
+
6071
+ # Boost applies to documents which match a condition.
6072
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec
6073
+ include Google::Apis::Core::Hashable
6074
+
6075
+ # Strength of the condition boost, which should be in [-1, 1]. Negative boost
6076
+ # means demotion. Default is 0.0. Setting to 1.0 gives the document a big
6077
+ # promotion. However, it does not necessarily mean that the boosted document
6078
+ # will be the top result at all times, nor that other documents will be excluded.
6079
+ # Results could still be shown even when none of them matches the condition.
6080
+ # And results that are significantly more relevant to the search query can still
6081
+ # trump your heavily favored but irrelevant documents. Setting to -1.0 gives the
6082
+ # document a big demotion. However, results that are deeply relevant might still
6083
+ # be shown. The document will have an upstream battle to get a fairly high
6084
+ # ranking, but it is not blocked out completely. Setting to 0.0 means no boost
6085
+ # applied. The boosting condition is ignored. Only one of the (condition, boost)
6086
+ # combination or the boost_control_spec below are set. If both are set then the
6087
+ # global boost is ignored and the more fine-grained boost_control_spec is
6088
+ # applied.
6089
+ # Corresponds to the JSON property `boost`
6090
+ # @return [Float]
6091
+ attr_accessor :boost
6092
+
6093
+ # Specification for custom ranking based on customer specified attribute value.
6094
+ # It provides more controls for customized ranking than the simple (condition,
6095
+ # boost) combination above.
6096
+ # Corresponds to the JSON property `boostControlSpec`
6097
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec]
6098
+ attr_accessor :boost_control_spec
6099
+
6100
+ # An expression which specifies a boost condition. The syntax and supported
6101
+ # fields are the same as a filter expression. See SearchRequest.filter for
6102
+ # detail syntax and limitations. Examples: * To boost documents with document ID
6103
+ # "doc_1" or "doc_2", and color "Red" or "Blue": `(document_id: ANY("doc_1", "
6104
+ # doc_2")) AND (color: ANY("Red", "Blue"))`
6105
+ # Corresponds to the JSON property `condition`
6106
+ # @return [String]
6107
+ attr_accessor :condition
6108
+
6109
+ def initialize(**args)
6110
+ update!(**args)
6111
+ end
6112
+
6113
+ # Update properties of this object
6114
+ def update!(**args)
6115
+ @boost = args[:boost] if args.key?(:boost)
6116
+ @boost_control_spec = args[:boost_control_spec] if args.key?(:boost_control_spec)
6117
+ @condition = args[:condition] if args.key?(:condition)
6118
+ end
6119
+ end
6120
+
6121
+ # Specification for custom ranking based on customer specified attribute value.
6122
+ # It provides more controls for customized ranking than the simple (condition,
6123
+ # boost) combination above.
6124
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec
6125
+ include Google::Apis::Core::Hashable
6126
+
6127
+ # The attribute type to be used to determine the boost amount. The attribute
6128
+ # value can be derived from the field value of the specified field_name. In the
6129
+ # case of numerical it is straightforward i.e. attribute_value =
6130
+ # numerical_field_value. In the case of freshness however, attribute_value = (
6131
+ # time.now() - datetime_field_value).
6132
+ # Corresponds to the JSON property `attributeType`
6133
+ # @return [String]
6134
+ attr_accessor :attribute_type
6135
+
6136
+ # The control points used to define the curve. The monotonic function (defined
6137
+ # through the interpolation_type above) passes through the control points listed
6138
+ # here.
6139
+ # Corresponds to the JSON property `controlPoints`
6140
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint>]
6141
+ attr_accessor :control_points
6142
+
6143
+ # The name of the field whose value will be used to determine the boost amount.
6144
+ # Corresponds to the JSON property `fieldName`
6145
+ # @return [String]
6146
+ attr_accessor :field_name
6147
+
6148
+ # The interpolation type to be applied to connect the control points listed
6149
+ # below.
6150
+ # Corresponds to the JSON property `interpolationType`
6151
+ # @return [String]
6152
+ attr_accessor :interpolation_type
6153
+
6154
+ def initialize(**args)
6155
+ update!(**args)
6156
+ end
6157
+
6158
+ # Update properties of this object
6159
+ def update!(**args)
6160
+ @attribute_type = args[:attribute_type] if args.key?(:attribute_type)
6161
+ @control_points = args[:control_points] if args.key?(:control_points)
6162
+ @field_name = args[:field_name] if args.key?(:field_name)
6163
+ @interpolation_type = args[:interpolation_type] if args.key?(:interpolation_type)
6164
+ end
6165
+ end
6166
+
6167
+ # The control points used to define the curve. The curve defined through these
6168
+ # control points can only be monotonically increasing or decreasing(constant
6169
+ # values are acceptable).
6170
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint
6171
+ include Google::Apis::Core::Hashable
6172
+
6173
+ # Can be one of: 1. The numerical field value. 2. The duration spec for
6174
+ # freshness: The value must be formatted as an XSD `dayTimeDuration` value (a
6175
+ # restricted subset of an ISO 8601 duration value). The pattern for this is: `
6176
+ # nDnM]`.
6177
+ # Corresponds to the JSON property `attributeValue`
6178
+ # @return [String]
6179
+ attr_accessor :attribute_value
6180
+
6181
+ # The value between -1 to 1 by which to boost the score if the attribute_value
6182
+ # evaluates to the value specified above.
6183
+ # Corresponds to the JSON property `boostAmount`
6184
+ # @return [Float]
6185
+ attr_accessor :boost_amount
6186
+
6187
+ def initialize(**args)
6188
+ update!(**args)
6189
+ end
6190
+
6191
+ # Update properties of this object
6192
+ def update!(**args)
6193
+ @attribute_value = args[:attribute_value] if args.key?(:attribute_value)
6194
+ @boost_amount = args[:boost_amount] if args.key?(:boost_amount)
6195
+ end
6196
+ end
6197
+
6198
+ # A specification for configuring the behavior of content search.
6199
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec
6200
+ include Google::Apis::Core::Hashable
6201
+
6202
+ # Specifies the chunk spec to be returned from the search response. Only
6203
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
6204
+ # CHUNKS
6205
+ # Corresponds to the JSON property `chunkSpec`
6206
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec]
6207
+ attr_accessor :chunk_spec
6208
+
6209
+ # A specification for configuring the extractive content in a search response.
6210
+ # Corresponds to the JSON property `extractiveContentSpec`
6211
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec]
6212
+ attr_accessor :extractive_content_spec
6213
+
6214
+ # Specifies the search result mode. If unspecified, the search result mode
6215
+ # defaults to `DOCUMENTS`.
6216
+ # Corresponds to the JSON property `searchResultMode`
6217
+ # @return [String]
6218
+ attr_accessor :search_result_mode
6219
+
6220
+ # A specification for configuring snippets in a search response.
6221
+ # Corresponds to the JSON property `snippetSpec`
6222
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec]
6223
+ attr_accessor :snippet_spec
6224
+
6225
+ # A specification for configuring a summary returned in a search response.
6226
+ # Corresponds to the JSON property `summarySpec`
6227
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec]
6228
+ attr_accessor :summary_spec
6229
+
6230
+ def initialize(**args)
6231
+ update!(**args)
6232
+ end
6233
+
6234
+ # Update properties of this object
6235
+ def update!(**args)
6236
+ @chunk_spec = args[:chunk_spec] if args.key?(:chunk_spec)
6237
+ @extractive_content_spec = args[:extractive_content_spec] if args.key?(:extractive_content_spec)
6238
+ @search_result_mode = args[:search_result_mode] if args.key?(:search_result_mode)
6239
+ @snippet_spec = args[:snippet_spec] if args.key?(:snippet_spec)
6240
+ @summary_spec = args[:summary_spec] if args.key?(:summary_spec)
6241
+ end
6242
+ end
6243
+
6244
+ # Specifies the chunk spec to be returned from the search response. Only
6245
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
6246
+ # CHUNKS
6247
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec
6248
+ include Google::Apis::Core::Hashable
6249
+
6250
+ # The number of next chunks to be returned of the current chunk. The maximum
6251
+ # allowed value is 3. If not specified, no next chunks will be returned.
6252
+ # Corresponds to the JSON property `numNextChunks`
6253
+ # @return [Fixnum]
6254
+ attr_accessor :num_next_chunks
6255
+
6256
+ # The number of previous chunks to be returned of the current chunk. The maximum
6257
+ # allowed value is 3. If not specified, no previous chunks will be returned.
6258
+ # Corresponds to the JSON property `numPreviousChunks`
6259
+ # @return [Fixnum]
6260
+ attr_accessor :num_previous_chunks
6261
+
6262
+ def initialize(**args)
6263
+ update!(**args)
6264
+ end
6265
+
6266
+ # Update properties of this object
6267
+ def update!(**args)
6268
+ @num_next_chunks = args[:num_next_chunks] if args.key?(:num_next_chunks)
6269
+ @num_previous_chunks = args[:num_previous_chunks] if args.key?(:num_previous_chunks)
6270
+ end
6271
+ end
6272
+
6273
+ # A specification for configuring the extractive content in a search response.
6274
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec
6275
+ include Google::Apis::Core::Hashable
6276
+
6277
+ # The maximum number of extractive answers returned in each search result. An
6278
+ # extractive answer is a verbatim answer extracted from the original document,
6279
+ # which provides a precise and contextually relevant answer to the search query.
6280
+ # If the number of matching answers is less than the `
6281
+ # max_extractive_answer_count`, return all of the answers. Otherwise, return the
6282
+ # `max_extractive_answer_count`. At most five answers are returned for each
6283
+ # SearchResult.
6284
+ # Corresponds to the JSON property `maxExtractiveAnswerCount`
6285
+ # @return [Fixnum]
6286
+ attr_accessor :max_extractive_answer_count
6287
+
6288
+ # The max number of extractive segments returned in each search result. Only
6289
+ # applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or
6290
+ # DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a
6291
+ # text segment extracted from the original document that is relevant to the
6292
+ # search query, and, in general, more verbose than an extractive answer. The
6293
+ # segment could then be used as input for LLMs to generate summaries and answers.
6294
+ # If the number of matching segments is less than `max_extractive_segment_count`
6295
+ # , return all of the segments. Otherwise, return the `
6296
+ # max_extractive_segment_count`.
6297
+ # Corresponds to the JSON property `maxExtractiveSegmentCount`
6298
+ # @return [Fixnum]
6299
+ attr_accessor :max_extractive_segment_count
6300
+
6301
+ # Return at most `num_next_segments` segments after each selected segments.
6302
+ # Corresponds to the JSON property `numNextSegments`
6303
+ # @return [Fixnum]
6304
+ attr_accessor :num_next_segments
6305
+
6306
+ # Specifies whether to also include the adjacent from each selected segments.
6307
+ # Return at most `num_previous_segments` segments before each selected segments.
6308
+ # Corresponds to the JSON property `numPreviousSegments`
6309
+ # @return [Fixnum]
6310
+ attr_accessor :num_previous_segments
6311
+
6312
+ # Specifies whether to return the confidence score from the extractive segments
6313
+ # in each search result. This feature is available only for new or allowlisted
6314
+ # data stores. To allowlist your data store, contact your Customer Engineer. The
6315
+ # default value is `false`.
6316
+ # Corresponds to the JSON property `returnExtractiveSegmentScore`
6317
+ # @return [Boolean]
6318
+ attr_accessor :return_extractive_segment_score
6319
+ alias_method :return_extractive_segment_score?, :return_extractive_segment_score
6320
+
6321
+ def initialize(**args)
6322
+ update!(**args)
6323
+ end
6324
+
6325
+ # Update properties of this object
6326
+ def update!(**args)
6327
+ @max_extractive_answer_count = args[:max_extractive_answer_count] if args.key?(:max_extractive_answer_count)
6328
+ @max_extractive_segment_count = args[:max_extractive_segment_count] if args.key?(:max_extractive_segment_count)
6329
+ @num_next_segments = args[:num_next_segments] if args.key?(:num_next_segments)
6330
+ @num_previous_segments = args[:num_previous_segments] if args.key?(:num_previous_segments)
6331
+ @return_extractive_segment_score = args[:return_extractive_segment_score] if args.key?(:return_extractive_segment_score)
6332
+ end
6333
+ end
6334
+
6335
+ # A specification for configuring snippets in a search response.
6336
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec
6337
+ include Google::Apis::Core::Hashable
6338
+
6339
+ # [DEPRECATED] This field is deprecated. To control snippet return, use `
6340
+ # return_snippet` field. For backwards compatibility, we will return snippet if
6341
+ # max_snippet_count > 0.
6342
+ # Corresponds to the JSON property `maxSnippetCount`
6343
+ # @return [Fixnum]
6344
+ attr_accessor :max_snippet_count
6345
+
6346
+ # [DEPRECATED] This field is deprecated and will have no affect on the snippet.
6347
+ # Corresponds to the JSON property `referenceOnly`
6348
+ # @return [Boolean]
6349
+ attr_accessor :reference_only
6350
+ alias_method :reference_only?, :reference_only
6351
+
6352
+ # If `true`, then return snippet. If no snippet can be generated, we return "No
6353
+ # snippet is available for this page." A `snippet_status` with `SUCCESS` or `
6354
+ # NO_SNIPPET_AVAILABLE` will also be returned.
6355
+ # Corresponds to the JSON property `returnSnippet`
6356
+ # @return [Boolean]
6357
+ attr_accessor :return_snippet
6358
+ alias_method :return_snippet?, :return_snippet
6359
+
6360
+ def initialize(**args)
6361
+ update!(**args)
6362
+ end
6363
+
6364
+ # Update properties of this object
6365
+ def update!(**args)
6366
+ @max_snippet_count = args[:max_snippet_count] if args.key?(:max_snippet_count)
6367
+ @reference_only = args[:reference_only] if args.key?(:reference_only)
6368
+ @return_snippet = args[:return_snippet] if args.key?(:return_snippet)
6369
+ end
6370
+ end
6371
+
6372
+ # A specification for configuring a summary returned in a search response.
6373
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec
6374
+ include Google::Apis::Core::Hashable
6375
+
6376
+ # Specifies whether to filter out adversarial queries. The default value is `
6377
+ # false`. Google employs search-query classification to detect adversarial
6378
+ # queries. No summary is returned if the search query is classified as an
6379
+ # adversarial query. For example, a user might ask a question regarding negative
6380
+ # comments about the company or submit a query designed to generate unsafe,
6381
+ # policy-violating output. If this field is set to `true`, we skip generating
6382
+ # summaries for adversarial queries and return fallback messages instead.
6383
+ # Corresponds to the JSON property `ignoreAdversarialQuery`
6384
+ # @return [Boolean]
6385
+ attr_accessor :ignore_adversarial_query
6386
+ alias_method :ignore_adversarial_query?, :ignore_adversarial_query
6387
+
6388
+ # Specifies whether to filter out queries that are not summary-seeking. The
6389
+ # default value is `false`. Google employs search-query classification to detect
6390
+ # summary-seeking queries. No summary is returned if the search query is
6391
+ # classified as a non-summary seeking query. For example, `why is the sky blue`
6392
+ # and `Who is the best soccer player in the world?` are summary-seeking queries,
6393
+ # but `SFO airport` and `world cup 2026` are not. They are most likely
6394
+ # navigational queries. If this field is set to `true`, we skip generating
6395
+ # summaries for non-summary seeking queries and return fallback messages instead.
6396
+ # Corresponds to the JSON property `ignoreNonSummarySeekingQuery`
6397
+ # @return [Boolean]
6398
+ attr_accessor :ignore_non_summary_seeking_query
6399
+ alias_method :ignore_non_summary_seeking_query?, :ignore_non_summary_seeking_query
6400
+
6401
+ # Specifies whether to include citations in the summary. The default value is `
6402
+ # false`. When this field is set to `true`, summaries include in-line citation
6403
+ # numbers. Example summary including citations: BigQuery is Google Cloud's fully
6404
+ # managed and completely serverless enterprise data warehouse [1]. BigQuery
6405
+ # supports all data types, works across clouds, and has built-in machine
6406
+ # learning and business intelligence, all within a unified platform [2, 3]. The
6407
+ # citation numbers refer to the returned search results and are 1-indexed. For
6408
+ # example, [1] means that the sentence is attributed to the first search result.
6409
+ # [2, 3] means that the sentence is attributed to both the second and third
6410
+ # search results.
6411
+ # Corresponds to the JSON property `includeCitations`
6412
+ # @return [Boolean]
6413
+ attr_accessor :include_citations
6414
+ alias_method :include_citations?, :include_citations
6415
+
6416
+ # Language code for Summary. Use language tags defined by [BCP47](https://www.
6417
+ # rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
6418
+ # Corresponds to the JSON property `languageCode`
6419
+ # @return [String]
6420
+ attr_accessor :language_code
6421
+
6422
+ # Specification of the prompt to use with the model.
6423
+ # Corresponds to the JSON property `modelPromptSpec`
6424
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec]
6425
+ attr_accessor :model_prompt_spec
6426
+
6427
+ # Specification of the model.
6428
+ # Corresponds to the JSON property `modelSpec`
6429
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec]
6430
+ attr_accessor :model_spec
6431
+
6432
+ # The number of top results to generate the summary from. If the number of
6433
+ # results returned is less than `summaryResultCount`, the summary is generated
6434
+ # from all of the results. At most 10 results for documents mode, or 50 for
6435
+ # chunks mode, can be used to generate a summary. The chunks mode is used when
6436
+ # SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.
6437
+ # Corresponds to the JSON property `summaryResultCount`
6438
+ # @return [Fixnum]
6439
+ attr_accessor :summary_result_count
6440
+
6441
+ # If true, answer will be generated from most relevant chunks from top search
6442
+ # results. This feature will improve summary quality. Note that with this
6443
+ # feature enabled, not all top search results will be referenced and included in
6444
+ # the reference list, so the citation source index only points to the search
6445
+ # results listed in the reference list.
6446
+ # Corresponds to the JSON property `useSemanticChunks`
6447
+ # @return [Boolean]
6448
+ attr_accessor :use_semantic_chunks
6449
+ alias_method :use_semantic_chunks?, :use_semantic_chunks
6450
+
6451
+ def initialize(**args)
6452
+ update!(**args)
6453
+ end
6454
+
6455
+ # Update properties of this object
6456
+ def update!(**args)
6457
+ @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
6458
+ @ignore_non_summary_seeking_query = args[:ignore_non_summary_seeking_query] if args.key?(:ignore_non_summary_seeking_query)
6459
+ @include_citations = args[:include_citations] if args.key?(:include_citations)
6460
+ @language_code = args[:language_code] if args.key?(:language_code)
6461
+ @model_prompt_spec = args[:model_prompt_spec] if args.key?(:model_prompt_spec)
6462
+ @model_spec = args[:model_spec] if args.key?(:model_spec)
6463
+ @summary_result_count = args[:summary_result_count] if args.key?(:summary_result_count)
6464
+ @use_semantic_chunks = args[:use_semantic_chunks] if args.key?(:use_semantic_chunks)
6465
+ end
6466
+ end
6467
+
6468
+ # Specification of the prompt to use with the model.
6469
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec
6470
+ include Google::Apis::Core::Hashable
6471
+
6472
+ # Text at the beginning of the prompt that instructs the assistant. Examples are
6473
+ # available in the user guide.
6474
+ # Corresponds to the JSON property `preamble`
6475
+ # @return [String]
6476
+ attr_accessor :preamble
6477
+
6478
+ def initialize(**args)
6479
+ update!(**args)
6480
+ end
6481
+
6482
+ # Update properties of this object
6483
+ def update!(**args)
6484
+ @preamble = args[:preamble] if args.key?(:preamble)
6485
+ end
6486
+ end
6487
+
6488
+ # Specification of the model.
6489
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec
6490
+ include Google::Apis::Core::Hashable
6491
+
6492
+ # The model version used to generate the summary. Supported values are: * `
6493
+ # stable`: string. Default value when no value is specified. Uses a generally
6494
+ # available, fine-tuned model. For more information, see [Answer generation
6495
+ # model versions and lifecycle](https://cloud.google.com/generative-ai-app-
6496
+ # builder/docs/answer-generation-models). * `preview`: string. (Public preview)
6497
+ # Uses a preview model. For more information, see [Answer generation model
6498
+ # versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/
6499
+ # docs/answer-generation-models).
6500
+ # Corresponds to the JSON property `version`
6501
+ # @return [String]
6502
+ attr_accessor :version
6503
+
6504
+ def initialize(**args)
6505
+ update!(**args)
6506
+ end
6507
+
6508
+ # Update properties of this object
6509
+ def update!(**args)
6510
+ @version = args[:version] if args.key?(:version)
6511
+ end
6512
+ end
6513
+
6514
+ # A struct to define data stores to filter on in a search call and
6515
+ # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
6516
+ # is returned.
6517
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec
6518
+ include Google::Apis::Core::Hashable
6519
+
6520
+ # Required. Full resource name of DataStore, such as `projects/`project`/
6521
+ # locations/`location`/collections/`collection_id`/dataStores/`data_store_id``.
6522
+ # Corresponds to the JSON property `dataStore`
6523
+ # @return [String]
6524
+ attr_accessor :data_store
6525
+
6526
+ def initialize(**args)
6527
+ update!(**args)
6528
+ end
6529
+
6530
+ # Update properties of this object
6531
+ def update!(**args)
6532
+ @data_store = args[:data_store] if args.key?(:data_store)
6533
+ end
6534
+ end
6535
+
6536
+ # The specification that uses customized query embedding vector to do semantic
6537
+ # document retrieval.
6538
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec
6539
+ include Google::Apis::Core::Hashable
6540
+
6541
+ # The embedding vector used for retrieval. Limit to 1.
6542
+ # Corresponds to the JSON property `embeddingVectors`
6543
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector>]
6544
+ attr_accessor :embedding_vectors
6545
+
6546
+ def initialize(**args)
6547
+ update!(**args)
6548
+ end
6549
+
6550
+ # Update properties of this object
6551
+ def update!(**args)
6552
+ @embedding_vectors = args[:embedding_vectors] if args.key?(:embedding_vectors)
6553
+ end
6554
+ end
6555
+
6556
+ # Embedding vector.
6557
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector
6558
+ include Google::Apis::Core::Hashable
6559
+
6560
+ # Embedding field path in schema.
6561
+ # Corresponds to the JSON property `fieldPath`
6562
+ # @return [String]
6563
+ attr_accessor :field_path
6564
+
6565
+ # Query embedding vector.
6566
+ # Corresponds to the JSON property `vector`
6567
+ # @return [Array<Float>]
6568
+ attr_accessor :vector
6569
+
6570
+ def initialize(**args)
6571
+ update!(**args)
6572
+ end
6573
+
6574
+ # Update properties of this object
6575
+ def update!(**args)
6576
+ @field_path = args[:field_path] if args.key?(:field_path)
6577
+ @vector = args[:vector] if args.key?(:vector)
6578
+ end
6579
+ end
6580
+
6581
+ # A facet specification to perform faceted search.
6582
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec
6583
+ include Google::Apis::Core::Hashable
6584
+
6585
+ # Enables dynamic position for this facet. If set to true, the position of this
6586
+ # facet among all facets in the response is determined automatically. If dynamic
6587
+ # facets are enabled, it is ordered together. If set to false, the position of
6588
+ # this facet in the response is the same as in the request, and it is ranked
6589
+ # before the facets with dynamic position enable and all dynamic facets. For
6590
+ # example, you may always want to have rating facet returned in the response,
6591
+ # but it's not necessarily to always display the rating facet at the top. In
6592
+ # that case, you can set enable_dynamic_position to true so that the position of
6593
+ # rating facet in response is determined automatically. Another example,
6594
+ # assuming you have the following facets in the request: * "rating",
6595
+ # enable_dynamic_position = true * "price", enable_dynamic_position = false * "
6596
+ # brands", enable_dynamic_position = false And also you have a dynamic facets
6597
+ # enabled, which generates a facet `gender`. Then the final order of the facets
6598
+ # in the response can be ("price", "brands", "rating", "gender") or ("price", "
6599
+ # brands", "gender", "rating") depends on how API orders "gender" and "rating"
6600
+ # facets. However, notice that "price" and "brands" are always ranked at first
6601
+ # and second position because their enable_dynamic_position is false.
6602
+ # Corresponds to the JSON property `enableDynamicPosition`
6603
+ # @return [Boolean]
6604
+ attr_accessor :enable_dynamic_position
6605
+ alias_method :enable_dynamic_position?, :enable_dynamic_position
6606
+
6607
+ # List of keys to exclude when faceting. By default, FacetKey.key is not
6608
+ # excluded from the filter unless it is listed in this field. Listing a facet
6609
+ # key in this field allows its values to appear as facet results, even when they
6610
+ # are filtered out of search results. Using this field does not affect what
6611
+ # search results are returned. For example, suppose there are 100 documents with
6612
+ # the color facet "Red" and 200 documents with the color facet "Blue". A query
6613
+ # containing the filter "color:ANY("Red")" and having "color" as FacetKey.key
6614
+ # would by default return only "Red" documents in the search results, and also
6615
+ # return "Red" with count 100 as the only color facet. Although there are also
6616
+ # blue documents available, "Blue" would not be shown as an available facet
6617
+ # value. If "color" is listed in "excludedFilterKeys", then the query returns
6618
+ # the facet values "Red" with count 100 and "Blue" with count 200, because the "
6619
+ # color" key is now excluded from the filter. Because this field doesn't affect
6620
+ # search results, the search results are still correctly filtered to return only
6621
+ # "Red" documents. A maximum of 100 values are allowed. Otherwise, an `
6622
+ # INVALID_ARGUMENT` error is returned.
6623
+ # Corresponds to the JSON property `excludedFilterKeys`
6624
+ # @return [Array<String>]
6625
+ attr_accessor :excluded_filter_keys
6626
+
6627
+ # Specifies how a facet is computed.
6628
+ # Corresponds to the JSON property `facetKey`
6629
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey]
6630
+ attr_accessor :facet_key
6631
+
6632
+ # Maximum facet values that are returned for this facet. If unspecified,
6633
+ # defaults to 20. The maximum allowed value is 300. Values above 300 are coerced
6634
+ # to 300. For aggregation in healthcare search, when the [FacetKey.key] is "
6635
+ # healthcare_aggregation_key", the limit will be overridden to 10,000 internally,
6636
+ # regardless of the value set here. If this field is negative, an `
6637
+ # INVALID_ARGUMENT` is returned.
6638
+ # Corresponds to the JSON property `limit`
6639
+ # @return [Fixnum]
6640
+ attr_accessor :limit
6641
+
6642
+ def initialize(**args)
6643
+ update!(**args)
6644
+ end
6645
+
6646
+ # Update properties of this object
6647
+ def update!(**args)
6648
+ @enable_dynamic_position = args[:enable_dynamic_position] if args.key?(:enable_dynamic_position)
6649
+ @excluded_filter_keys = args[:excluded_filter_keys] if args.key?(:excluded_filter_keys)
6650
+ @facet_key = args[:facet_key] if args.key?(:facet_key)
6651
+ @limit = args[:limit] if args.key?(:limit)
6652
+ end
6653
+ end
6654
+
6655
+ # Specifies how a facet is computed.
6656
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey
6657
+ include Google::Apis::Core::Hashable
6658
+
6659
+ # True to make facet keys case insensitive when getting faceting values with
6660
+ # prefixes or contains; false otherwise.
6661
+ # Corresponds to the JSON property `caseInsensitive`
6662
+ # @return [Boolean]
6663
+ attr_accessor :case_insensitive
6664
+ alias_method :case_insensitive?, :case_insensitive
6665
+
6666
+ # Only get facet values that contain the given strings. For example, suppose "
6667
+ # category" has three values "Action > 2022", "Action > 2021" and "Sci-Fi > 2022"
6668
+ # . If set "contains" to "2022", the "category" facet only contains "Action >
6669
+ # 2022" and "Sci-Fi > 2022". Only supported on textual fields. Maximum is 10.
6670
+ # Corresponds to the JSON property `contains`
6671
+ # @return [Array<String>]
6672
+ attr_accessor :contains
6673
+
6674
+ # Set only if values should be bucketed into intervals. Must be set for facets
6675
+ # with numerical values. Must not be set for facet with text values. Maximum
6676
+ # number of intervals is 30.
6677
+ # Corresponds to the JSON property `intervals`
6678
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaInterval>]
6679
+ attr_accessor :intervals
6680
+
6681
+ # Required. Supported textual and numerical facet keys in Document object, over
6682
+ # which the facet values are computed. Facet key is case-sensitive.
6683
+ # Corresponds to the JSON property `key`
6684
+ # @return [String]
6685
+ attr_accessor :key
6686
+
6687
+ # The order in which documents are returned. Allowed values are: * "count desc",
6688
+ # which means order by SearchResponse.Facet.values.count descending. * "value
6689
+ # desc", which means order by SearchResponse.Facet.values.value descending. Only
6690
+ # applies to textual facets. If not set, textual values are sorted in [natural
6691
+ # order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals
6692
+ # are sorted in the order given by FacetSpec.FacetKey.intervals.
6693
+ # Corresponds to the JSON property `orderBy`
6694
+ # @return [String]
6695
+ attr_accessor :order_by
6696
+
6697
+ # Only get facet values that start with the given string prefix. For example,
6698
+ # suppose "category" has three values "Action > 2022", "Action > 2021" and "Sci-
6699
+ # Fi > 2022". If set "prefixes" to "Action", the "category" facet only contains "
6700
+ # Action > 2022" and "Action > 2021". Only supported on textual fields. Maximum
6701
+ # is 10.
6702
+ # Corresponds to the JSON property `prefixes`
6703
+ # @return [Array<String>]
6704
+ attr_accessor :prefixes
6705
+
6706
+ # Only get facet for the given restricted values. Only supported on textual
6707
+ # fields. For example, suppose "category" has three values "Action > 2022", "
6708
+ # Action > 2021" and "Sci-Fi > 2022". If set "restricted_values" to "Action >
6709
+ # 2022", the "category" facet only contains "Action > 2022". Only supported on
6710
+ # textual fields. Maximum is 10.
6711
+ # Corresponds to the JSON property `restrictedValues`
6712
+ # @return [Array<String>]
6713
+ attr_accessor :restricted_values
6714
+
6715
+ def initialize(**args)
6716
+ update!(**args)
6717
+ end
6718
+
6719
+ # Update properties of this object
6720
+ def update!(**args)
6721
+ @case_insensitive = args[:case_insensitive] if args.key?(:case_insensitive)
6722
+ @contains = args[:contains] if args.key?(:contains)
6723
+ @intervals = args[:intervals] if args.key?(:intervals)
6724
+ @key = args[:key] if args.key?(:key)
6725
+ @order_by = args[:order_by] if args.key?(:order_by)
6726
+ @prefixes = args[:prefixes] if args.key?(:prefixes)
6727
+ @restricted_values = args[:restricted_values] if args.key?(:restricted_values)
5060
6728
  end
5061
6729
  end
5062
6730
 
5063
- # Defines a user inputed query.
5064
- class GoogleCloudDiscoveryengineV1alphaQuery
6731
+ # Specifies the image query input.
6732
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery
5065
6733
  include Google::Apis::Core::Hashable
5066
6734
 
5067
- # Unique Id for the query.
5068
- # Corresponds to the JSON property `queryId`
5069
- # @return [String]
5070
- attr_accessor :query_id
5071
-
5072
- # Plain text.
5073
- # Corresponds to the JSON property `text`
6735
+ # Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.
6736
+ # Corresponds to the JSON property `imageBytes`
5074
6737
  # @return [String]
5075
- attr_accessor :text
6738
+ attr_accessor :image_bytes
5076
6739
 
5077
6740
  def initialize(**args)
5078
6741
  update!(**args)
@@ -5080,54 +6743,29 @@ module Google
5080
6743
 
5081
6744
  # Update properties of this object
5082
6745
  def update!(**args)
5083
- @query_id = args[:query_id] if args.key?(:query_id)
5084
- @text = args[:text] if args.key?(:text)
6746
+ @image_bytes = args[:image_bytes] if args.key?(:image_bytes)
5085
6747
  end
5086
6748
  end
5087
6749
 
5088
- # Metadata related to the progress of the SiteSearchEngineService.RecrawlUris
5089
- # operation. This will be returned by the google.longrunning.Operation.metadata
5090
- # field.
5091
- class GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata
6750
+ # Specification to enable natural language understanding capabilities for search
6751
+ # requests.
6752
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec
5092
6753
  include Google::Apis::Core::Hashable
5093
6754
 
5094
- # Operation create time.
5095
- # Corresponds to the JSON property `createTime`
6755
+ # The condition under which filter extraction should occur. Default to Condition.
6756
+ # DISABLED.
6757
+ # Corresponds to the JSON property `filterExtractionCondition`
5096
6758
  # @return [String]
5097
- attr_accessor :create_time
6759
+ attr_accessor :filter_extraction_condition
5098
6760
 
5099
- # Unique URIs in the request that don't match any TargetSite in the DataStore,
5100
- # only match TargetSites that haven't been fully indexed, or match a TargetSite
5101
- # with type EXCLUDE.
5102
- # Corresponds to the JSON property `invalidUris`
6761
+ # Field names used for location-based filtering, where geolocation filters are
6762
+ # detected in natural language search queries. Only valid when the
6763
+ # FilterExtractionCondition is set to `ENABLED`. If this field is set, it
6764
+ # overrides the field names set in ServingConfig.
6765
+ # geo_search_query_detection_field_names.
6766
+ # Corresponds to the JSON property `geoSearchQueryDetectionFieldNames`
5103
6767
  # @return [Array<String>]
5104
- attr_accessor :invalid_uris
5105
-
5106
- # Total number of URIs that have yet to be crawled.
5107
- # Corresponds to the JSON property `pendingCount`
5108
- # @return [Fixnum]
5109
- attr_accessor :pending_count
5110
-
5111
- # Total number of URIs that were rejected due to insufficient indexing resources.
5112
- # Corresponds to the JSON property `quotaExceededCount`
5113
- # @return [Fixnum]
5114
- attr_accessor :quota_exceeded_count
5115
-
5116
- # Total number of URIs that have been crawled so far.
5117
- # Corresponds to the JSON property `successCount`
5118
- # @return [Fixnum]
5119
- attr_accessor :success_count
5120
-
5121
- # Operation last update time. If the operation is done, this is also the finish
5122
- # time.
5123
- # Corresponds to the JSON property `updateTime`
5124
- # @return [String]
5125
- attr_accessor :update_time
5126
-
5127
- # Total number of unique URIs in the request that are not in invalid_uris.
5128
- # Corresponds to the JSON property `validUrisCount`
5129
- # @return [Fixnum]
5130
- attr_accessor :valid_uris_count
6768
+ attr_accessor :geo_search_query_detection_field_names
5131
6769
 
5132
6770
  def initialize(**args)
5133
6771
  update!(**args)
@@ -5135,29 +6773,28 @@ module Google
5135
6773
 
5136
6774
  # Update properties of this object
5137
6775
  def update!(**args)
5138
- @create_time = args[:create_time] if args.key?(:create_time)
5139
- @invalid_uris = args[:invalid_uris] if args.key?(:invalid_uris)
5140
- @pending_count = args[:pending_count] if args.key?(:pending_count)
5141
- @quota_exceeded_count = args[:quota_exceeded_count] if args.key?(:quota_exceeded_count)
5142
- @success_count = args[:success_count] if args.key?(:success_count)
5143
- @update_time = args[:update_time] if args.key?(:update_time)
5144
- @valid_uris_count = args[:valid_uris_count] if args.key?(:valid_uris_count)
6776
+ @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
6777
+ @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
5145
6778
  end
5146
6779
  end
5147
6780
 
5148
- # Response message for SiteSearchEngineService.RecrawlUris method.
5149
- class GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponse
6781
+ # Specification to determine under which conditions query expansion should occur.
6782
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec
5150
6783
  include Google::Apis::Core::Hashable
5151
6784
 
5152
- # URIs that were not crawled before the LRO terminated.
5153
- # Corresponds to the JSON property `failedUris`
5154
- # @return [Array<String>]
5155
- attr_accessor :failed_uris
6785
+ # The condition under which query expansion should occur. Default to Condition.
6786
+ # DISABLED.
6787
+ # Corresponds to the JSON property `condition`
6788
+ # @return [String]
6789
+ attr_accessor :condition
5156
6790
 
5157
- # Details for a sample of up to 10 `failed_uris`.
5158
- # Corresponds to the JSON property `failureSamples`
5159
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo>]
5160
- attr_accessor :failure_samples
6791
+ # Whether to pin unexpanded results. If this field is set to true, unexpanded
6792
+ # products are always at the top of the search results, followed by the expanded
6793
+ # results.
6794
+ # Corresponds to the JSON property `pinUnexpandedResults`
6795
+ # @return [Boolean]
6796
+ attr_accessor :pin_unexpanded_results
6797
+ alias_method :pin_unexpanded_results?, :pin_unexpanded_results
5161
6798
 
5162
6799
  def initialize(**args)
5163
6800
  update!(**args)
@@ -5165,25 +6802,20 @@ module Google
5165
6802
 
5166
6803
  # Update properties of this object
5167
6804
  def update!(**args)
5168
- @failed_uris = args[:failed_uris] if args.key?(:failed_uris)
5169
- @failure_samples = args[:failure_samples] if args.key?(:failure_samples)
6805
+ @condition = args[:condition] if args.key?(:condition)
6806
+ @pin_unexpanded_results = args[:pin_unexpanded_results] if args.key?(:pin_unexpanded_results)
5170
6807
  end
5171
6808
  end
5172
6809
 
5173
- # Details about why a particular URI failed to be crawled. Each FailureInfo
5174
- # contains one FailureReason per CorpusType.
5175
- class GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo
6810
+ # Specification for search as you type in search requests.
6811
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec
5176
6812
  include Google::Apis::Core::Hashable
5177
6813
 
5178
- # List of failure reasons by corpus type (e.g. desktop, mobile).
5179
- # Corresponds to the JSON property `failureReasons`
5180
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason>]
5181
- attr_accessor :failure_reasons
5182
-
5183
- # URI that failed to be crawled.
5184
- # Corresponds to the JSON property `uri`
6814
+ # The condition under which search as you type should occur. Default to
6815
+ # Condition.DISABLED.
6816
+ # Corresponds to the JSON property `condition`
5185
6817
  # @return [String]
5186
- attr_accessor :uri
6818
+ attr_accessor :condition
5187
6819
 
5188
6820
  def initialize(**args)
5189
6821
  update!(**args)
@@ -5191,25 +6823,38 @@ module Google
5191
6823
 
5192
6824
  # Update properties of this object
5193
6825
  def update!(**args)
5194
- @failure_reasons = args[:failure_reasons] if args.key?(:failure_reasons)
5195
- @uri = args[:uri] if args.key?(:uri)
6826
+ @condition = args[:condition] if args.key?(:condition)
5196
6827
  end
5197
6828
  end
5198
6829
 
5199
- # Details about why crawling failed for a particular CorpusType, e.g., DESKTOP
5200
- # and MOBILE crawling may fail for different reasons.
5201
- class GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason
6830
+ # Session specification. Multi-turn Search feature is currently at private GA
6831
+ # stage. Please use v1alpha or v1beta version instead before we launch this
6832
+ # feature to public GA. Or ask for allowlisting through Google Support team.
6833
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec
5202
6834
  include Google::Apis::Core::Hashable
5203
6835
 
5204
- # DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED.
5205
- # Corresponds to the JSON property `corpusType`
6836
+ # If set, the search result gets stored to the "turn" specified by this query ID.
6837
+ # Example: Let's say the session looks like this: session ` name: ".../sessions/
6838
+ # xxx" turns ` query ` text: "What is foo?" query_id: ".../questions/yyy" `
6839
+ # answer: "Foo is ..." ` turns ` query ` text: "How about bar then?" query_id: ".
6840
+ # ../questions/zzz" ` ` ` The user can call /search API with a request like this:
6841
+ # session: ".../sessions/xxx" session_spec ` query_id: ".../questions/zzz" `
6842
+ # Then, the API stores the search result, associated with the last turn. The
6843
+ # stored search result can be used by a subsequent /answer API call (with the
6844
+ # session ID and the query ID specified). Also, it is possible to call /search
6845
+ # and /answer in parallel with the same session ID & query ID.
6846
+ # Corresponds to the JSON property `queryId`
5206
6847
  # @return [String]
5207
- attr_accessor :corpus_type
6848
+ attr_accessor :query_id
5208
6849
 
5209
- # Reason why the URI was not crawled.
5210
- # Corresponds to the JSON property `errorMessage`
5211
- # @return [String]
5212
- attr_accessor :error_message
6850
+ # The number of top search results to persist. The persisted search results can
6851
+ # be used for the subsequent /answer api call. This field is simliar to the `
6852
+ # summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.
6853
+ # summary_result_count. At most 10 results for documents mode, or 50 for chunks
6854
+ # mode.
6855
+ # Corresponds to the JSON property `searchResultPersistenceCount`
6856
+ # @return [Fixnum]
6857
+ attr_accessor :search_result_persistence_count
5213
6858
 
5214
6859
  def initialize(**args)
5215
6860
  update!(**args)
@@ -5217,37 +6862,20 @@ module Google
5217
6862
 
5218
6863
  # Update properties of this object
5219
6864
  def update!(**args)
5220
- @corpus_type = args[:corpus_type] if args.key?(:corpus_type)
5221
- @error_message = args[:error_message] if args.key?(:error_message)
6865
+ @query_id = args[:query_id] if args.key?(:query_id)
6866
+ @search_result_persistence_count = args[:search_result_persistence_count] if args.key?(:search_result_persistence_count)
5222
6867
  end
5223
6868
  end
5224
6869
 
5225
- # Defines the structure and layout of a type of document data.
5226
- class GoogleCloudDiscoveryengineV1alphaSchema
6870
+ # The specification for query spell correction.
6871
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec
5227
6872
  include Google::Apis::Core::Hashable
5228
6873
 
5229
- # Output only. Configurations for fields of the schema.
5230
- # Corresponds to the JSON property `fieldConfigs`
5231
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaFieldConfig>]
5232
- attr_accessor :field_configs
5233
-
5234
- # The JSON representation of the schema.
5235
- # Corresponds to the JSON property `jsonSchema`
5236
- # @return [String]
5237
- attr_accessor :json_schema
5238
-
5239
- # Immutable. The full resource name of the schema, in the format of `projects/`
5240
- # project`/locations/`location`/collections/`collection`/dataStores/`data_store`/
5241
- # schemas/`schema``. This field must be a UTF-8 encoded string with a length
5242
- # limit of 1024 characters.
5243
- # Corresponds to the JSON property `name`
6874
+ # The mode under which spell correction replaces the original search query.
6875
+ # Defaults to Mode.AUTO.
6876
+ # Corresponds to the JSON property `mode`
5244
6877
  # @return [String]
5245
- attr_accessor :name
5246
-
5247
- # The structured representation of the schema.
5248
- # Corresponds to the JSON property `structSchema`
5249
- # @return [Hash<String,Object>]
5250
- attr_accessor :struct_schema
6878
+ attr_accessor :mode
5251
6879
 
5252
6880
  def initialize(**args)
5253
6881
  update!(**args)
@@ -5255,10 +6883,7 @@ module Google
5255
6883
 
5256
6884
  # Update properties of this object
5257
6885
  def update!(**args)
5258
- @field_configs = args[:field_configs] if args.key?(:field_configs)
5259
- @json_schema = args[:json_schema] if args.key?(:json_schema)
5260
- @name = args[:name] if args.key?(:name)
5261
- @struct_schema = args[:struct_schema] if args.key?(:struct_schema)
6886
+ @mode = args[:mode] if args.key?(:mode)
5262
6887
  end
5263
6888
  end
5264
6889
 
@@ -5338,6 +6963,47 @@ module Google
5338
6963
  end
5339
6964
  end
5340
6965
 
6966
+ # Metadata related to the progress of the SiteSearchEngineService.
6967
+ # SetUriPatternDocumentData operation. This will be returned by the google.
6968
+ # longrunning.Operation.metadata field.
6969
+ class GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata
6970
+ include Google::Apis::Core::Hashable
6971
+
6972
+ # Operation create time.
6973
+ # Corresponds to the JSON property `createTime`
6974
+ # @return [String]
6975
+ attr_accessor :create_time
6976
+
6977
+ # Operation last update time. If the operation is done, this is also the finish
6978
+ # time.
6979
+ # Corresponds to the JSON property `updateTime`
6980
+ # @return [String]
6981
+ attr_accessor :update_time
6982
+
6983
+ def initialize(**args)
6984
+ update!(**args)
6985
+ end
6986
+
6987
+ # Update properties of this object
6988
+ def update!(**args)
6989
+ @create_time = args[:create_time] if args.key?(:create_time)
6990
+ @update_time = args[:update_time] if args.key?(:update_time)
6991
+ end
6992
+ end
6993
+
6994
+ # Response message for SiteSearchEngineService.SetUriPatternDocumentData method.
6995
+ class GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse
6996
+ include Google::Apis::Core::Hashable
6997
+
6998
+ def initialize(**args)
6999
+ update!(**args)
7000
+ end
7001
+
7002
+ # Update properties of this object
7003
+ def update!(**args)
7004
+ end
7005
+ end
7006
+
5341
7007
  # Verification information for target sites in advanced site search.
5342
7008
  class GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo
5343
7009
  include Google::Apis::Core::Hashable
@@ -5650,6 +7316,40 @@ module Google
5650
7316
  end
5651
7317
  end
5652
7318
 
7319
+ # Information of an end user.
7320
+ class GoogleCloudDiscoveryengineV1alphaUserInfo
7321
+ include Google::Apis::Core::Hashable
7322
+
7323
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
7324
+ # string with a length limit of 1,000 characters. Otherwise, an `
7325
+ # INVALID_ARGUMENT` error is returned. This should not be set when using the
7326
+ # client side event reporting with GTM or JavaScript tag in UserEventService.
7327
+ # CollectUserEvent or if UserEvent.direct_user_request is set.
7328
+ # Corresponds to the JSON property `userAgent`
7329
+ # @return [String]
7330
+ attr_accessor :user_agent
7331
+
7332
+ # Highly recommended for logged-in users. Unique identifier for logged-in user,
7333
+ # such as a user name. Don't set for anonymous users. Always use a hashed value
7334
+ # for this ID. Don't set the field to the same fixed ID for different users.
7335
+ # This mixes the event history of those users together, which results in
7336
+ # degraded model quality. The field must be a UTF-8 encoded string with a length
7337
+ # limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
7338
+ # Corresponds to the JSON property `userId`
7339
+ # @return [String]
7340
+ attr_accessor :user_id
7341
+
7342
+ def initialize(**args)
7343
+ update!(**args)
7344
+ end
7345
+
7346
+ # Update properties of this object
7347
+ def update!(**args)
7348
+ @user_agent = args[:user_agent] if args.key?(:user_agent)
7349
+ @user_id = args[:user_id] if args.key?(:user_id)
7350
+ end
7351
+ end
7352
+
5653
7353
  # AlloyDB source import data from.
5654
7354
  class GoogleCloudDiscoveryengineV1betaAlloyDbSource
5655
7355
  include Google::Apis::Core::Hashable
@@ -6233,11 +7933,9 @@ module Google
6233
7933
  # @return [String]
6234
7934
  attr_accessor :order_by
6235
7935
 
6236
- # Specifies the search result mode. If unspecified, the search result mode is
6237
- # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
6238
- # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
6239
- # * Otherwise, it defaults to `DOCUMENTS`. See [parse and chunk documents](
6240
- # https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)
7936
+ # Specifies the search result mode. If unspecified, the search result mode
7937
+ # defaults to `DOCUMENTS`. See [parse and chunk documents](https://cloud.google.
7938
+ # com/generative-ai-app-builder/docs/parse-chunk-documents)
6241
7939
  # Corresponds to the JSON property `searchResultMode`
6242
7940
  # @return [String]
6243
7941
  attr_accessor :search_result_mode
@@ -6805,6 +8503,12 @@ module Google
6805
8503
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResultSnippetInfo>]
6806
8504
  attr_accessor :snippet_info
6807
8505
 
8506
+ # Data representation. The structured JSON data for the document. It's populated
8507
+ # from the struct data from the Document , or the Chunk in search result .
8508
+ # Corresponds to the JSON property `structData`
8509
+ # @return [Hash<String,Object>]
8510
+ attr_accessor :struct_data
8511
+
6808
8512
  # Title.
6809
8513
  # Corresponds to the JSON property `title`
6810
8514
  # @return [String]
@@ -6824,6 +8528,7 @@ module Google
6824
8528
  @chunk_info = args[:chunk_info] if args.key?(:chunk_info)
6825
8529
  @document = args[:document] if args.key?(:document)
6826
8530
  @snippet_info = args[:snippet_info] if args.key?(:snippet_info)
8531
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
6827
8532
  @title = args[:title] if args.key?(:title)
6828
8533
  @uri = args[:uri] if args.key?(:uri)
6829
8534
  end
@@ -8273,11 +9978,26 @@ module Google
8273
9978
  # @return [String]
8274
9979
  attr_accessor :create_time
8275
9980
 
8276
- # Operation last update time. If the operation is done, this is also the finish
8277
- # time.
8278
- # Corresponds to the JSON property `updateTime`
8279
- # @return [String]
8280
- attr_accessor :update_time
9981
+ # Operation last update time. If the operation is done, this is also the finish
9982
+ # time.
9983
+ # Corresponds to the JSON property `updateTime`
9984
+ # @return [String]
9985
+ attr_accessor :update_time
9986
+
9987
+ def initialize(**args)
9988
+ update!(**args)
9989
+ end
9990
+
9991
+ # Update properties of this object
9992
+ def update!(**args)
9993
+ @create_time = args[:create_time] if args.key?(:create_time)
9994
+ @update_time = args[:update_time] if args.key?(:update_time)
9995
+ end
9996
+ end
9997
+
9998
+ # Metadata for EvaluationService.CreateEvaluation method.
9999
+ class GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata
10000
+ include Google::Apis::Core::Hashable
8281
10001
 
8282
10002
  def initialize(**args)
8283
10003
  update!(**args)
@@ -8285,8 +10005,6 @@ module Google
8285
10005
 
8286
10006
  # Update properties of this object
8287
10007
  def update!(**args)
8288
- @create_time = args[:create_time] if args.key?(:create_time)
8289
- @update_time = args[:update_time] if args.key?(:update_time)
8290
10008
  end
8291
10009
  end
8292
10010
 
@@ -8418,6 +10136,11 @@ module Google
8418
10136
  # @return [String]
8419
10137
  attr_accessor :display_name
8420
10138
 
10139
+ # The metrics of the trained model.
10140
+ # Corresponds to the JSON property `metrics`
10141
+ # @return [Hash<String,Float>]
10142
+ attr_accessor :metrics
10143
+
8421
10144
  # The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).
8422
10145
  # Corresponds to the JSON property `modelState`
8423
10146
  # @return [String]
@@ -8449,6 +10172,7 @@ module Google
8449
10172
  def update!(**args)
8450
10173
  @create_time = args[:create_time] if args.key?(:create_time)
8451
10174
  @display_name = args[:display_name] if args.key?(:display_name)
10175
+ @metrics = args[:metrics] if args.key?(:metrics)
8452
10176
  @model_state = args[:model_state] if args.key?(:model_state)
8453
10177
  @model_version = args[:model_version] if args.key?(:model_version)
8454
10178
  @name = args[:name] if args.key?(:name)
@@ -8901,9 +10625,10 @@ module Google
8901
10625
  # Map from file type to override the default parsing configuration based on the
8902
10626
  # file type. Supported keys: * `pdf`: Override parsing config for PDF files,
8903
10627
  # either digital parsing, ocr parsing or layout parsing is supported. * `html`:
8904
- # Override parsing config for HTML files, only digital parsing and or layout
10628
+ # Override parsing config for HTML files, only digital parsing and layout
8905
10629
  # parsing are supported. * `docx`: Override parsing config for DOCX files, only
8906
- # digital parsing and or layout parsing are supported.
10630
+ # digital parsing and layout parsing are supported. * `pptx`: Override parsing
10631
+ # config for PPTX files, only digital parsing and layout parsing are supported.
8907
10632
  # Corresponds to the JSON property `parsingConfigOverrides`
8908
10633
  # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig>]
8909
10634
  attr_accessor :parsing_config_overrides
@@ -9386,6 +11111,121 @@ module Google
9386
11111
  end
9387
11112
  end
9388
11113
 
11114
+ # An evaluation is a single execution (or run) of an evaluation process. It
11115
+ # encapsulates the state of the evaluation and the resulting data.
11116
+ class GoogleCloudDiscoveryengineV1betaEvaluation
11117
+ include Google::Apis::Core::Hashable
11118
+
11119
+ # Output only. Timestamp the Evaluation was created at.
11120
+ # Corresponds to the JSON property `createTime`
11121
+ # @return [String]
11122
+ attr_accessor :create_time
11123
+
11124
+ # Output only. Timestamp the Evaluation was completed at.
11125
+ # Corresponds to the JSON property `endTime`
11126
+ # @return [String]
11127
+ attr_accessor :end_time
11128
+
11129
+ # The `Status` type defines a logical error model that is suitable for different
11130
+ # programming environments, including REST APIs and RPC APIs. It is used by [
11131
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
11132
+ # data: error code, error message, and error details. You can find out more
11133
+ # about this error model and how to work with it in the [API Design Guide](https:
11134
+ # //cloud.google.com/apis/design/errors).
11135
+ # Corresponds to the JSON property `error`
11136
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus]
11137
+ attr_accessor :error
11138
+
11139
+ # Output only. A sample of errors encountered while processing the request.
11140
+ # Corresponds to the JSON property `errorSamples`
11141
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus>]
11142
+ attr_accessor :error_samples
11143
+
11144
+ # Describes the specification of the evaluation.
11145
+ # Corresponds to the JSON property `evaluationSpec`
11146
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec]
11147
+ attr_accessor :evaluation_spec
11148
+
11149
+ # Immutable. The full resource name of the Evaluation, in the format of `
11150
+ # projects/`project`/locations/`location`/evaluations/`evaluation``. This field
11151
+ # must be a UTF-8 encoded string with a length limit of 1024 characters.
11152
+ # Corresponds to the JSON property `name`
11153
+ # @return [String]
11154
+ attr_accessor :name
11155
+
11156
+ # Describes the metrics produced by the evaluation.
11157
+ # Corresponds to the JSON property `qualityMetrics`
11158
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaQualityMetrics]
11159
+ attr_accessor :quality_metrics
11160
+
11161
+ # Output only. The state of the evaluation.
11162
+ # Corresponds to the JSON property `state`
11163
+ # @return [String]
11164
+ attr_accessor :state
11165
+
11166
+ def initialize(**args)
11167
+ update!(**args)
11168
+ end
11169
+
11170
+ # Update properties of this object
11171
+ def update!(**args)
11172
+ @create_time = args[:create_time] if args.key?(:create_time)
11173
+ @end_time = args[:end_time] if args.key?(:end_time)
11174
+ @error = args[:error] if args.key?(:error)
11175
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
11176
+ @evaluation_spec = args[:evaluation_spec] if args.key?(:evaluation_spec)
11177
+ @name = args[:name] if args.key?(:name)
11178
+ @quality_metrics = args[:quality_metrics] if args.key?(:quality_metrics)
11179
+ @state = args[:state] if args.key?(:state)
11180
+ end
11181
+ end
11182
+
11183
+ # Describes the specification of the evaluation.
11184
+ class GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec
11185
+ include Google::Apis::Core::Hashable
11186
+
11187
+ # Describes the specification of the query set.
11188
+ # Corresponds to the JSON property `querySetSpec`
11189
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec]
11190
+ attr_accessor :query_set_spec
11191
+
11192
+ # Request message for SearchService.Search method.
11193
+ # Corresponds to the JSON property `searchRequest`
11194
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequest]
11195
+ attr_accessor :search_request
11196
+
11197
+ def initialize(**args)
11198
+ update!(**args)
11199
+ end
11200
+
11201
+ # Update properties of this object
11202
+ def update!(**args)
11203
+ @query_set_spec = args[:query_set_spec] if args.key?(:query_set_spec)
11204
+ @search_request = args[:search_request] if args.key?(:search_request)
11205
+ end
11206
+ end
11207
+
11208
+ # Describes the specification of the query set.
11209
+ class GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec
11210
+ include Google::Apis::Core::Hashable
11211
+
11212
+ # Required. The full resource name of the SampleQuerySet used for the evaluation,
11213
+ # in the format of `projects/`project`/locations/`location`/sampleQuerySets/`
11214
+ # sampleQuerySet``.
11215
+ # Corresponds to the JSON property `sampleQuerySet`
11216
+ # @return [String]
11217
+ attr_accessor :sample_query_set
11218
+
11219
+ def initialize(**args)
11220
+ update!(**args)
11221
+ end
11222
+
11223
+ # Update properties of this object
11224
+ def update!(**args)
11225
+ @sample_query_set = args[:sample_query_set] if args.key?(:sample_query_set)
11226
+ end
11227
+ end
11228
+
9389
11229
  # Fact Chunk.
9390
11230
  class GoogleCloudDiscoveryengineV1betaFactChunk
9391
11231
  include Google::Apis::Core::Hashable
@@ -9844,60 +11684,209 @@ module Google
9844
11684
  # @return [String]
9845
11685
  attr_accessor :id_field
9846
11686
 
9847
- # The inline source for the input config for ImportDocuments method.
11687
+ # The inline source for the input config for ImportDocuments method.
11688
+ # Corresponds to the JSON property `inlineSource`
11689
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaImportDocumentsRequestInlineSource]
11690
+ attr_accessor :inline_source
11691
+
11692
+ # The mode of reconciliation between existing documents and the documents to be
11693
+ # imported. Defaults to ReconciliationMode.INCREMENTAL.
11694
+ # Corresponds to the JSON property `reconciliationMode`
11695
+ # @return [String]
11696
+ attr_accessor :reconciliation_mode
11697
+
11698
+ # The Spanner source for importing data
11699
+ # Corresponds to the JSON property `spannerSource`
11700
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSpannerSource]
11701
+ attr_accessor :spanner_source
11702
+
11703
+ # Indicates which fields in the provided imported documents to update. If not
11704
+ # set, the default is to update all fields.
11705
+ # Corresponds to the JSON property `updateMask`
11706
+ # @return [String]
11707
+ attr_accessor :update_mask
11708
+
11709
+ def initialize(**args)
11710
+ update!(**args)
11711
+ end
11712
+
11713
+ # Update properties of this object
11714
+ def update!(**args)
11715
+ @alloy_db_source = args[:alloy_db_source] if args.key?(:alloy_db_source)
11716
+ @auto_generate_ids = args[:auto_generate_ids] if args.key?(:auto_generate_ids)
11717
+ @bigquery_source = args[:bigquery_source] if args.key?(:bigquery_source)
11718
+ @bigtable_source = args[:bigtable_source] if args.key?(:bigtable_source)
11719
+ @cloud_sql_source = args[:cloud_sql_source] if args.key?(:cloud_sql_source)
11720
+ @error_config = args[:error_config] if args.key?(:error_config)
11721
+ @fhir_store_source = args[:fhir_store_source] if args.key?(:fhir_store_source)
11722
+ @firestore_source = args[:firestore_source] if args.key?(:firestore_source)
11723
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
11724
+ @id_field = args[:id_field] if args.key?(:id_field)
11725
+ @inline_source = args[:inline_source] if args.key?(:inline_source)
11726
+ @reconciliation_mode = args[:reconciliation_mode] if args.key?(:reconciliation_mode)
11727
+ @spanner_source = args[:spanner_source] if args.key?(:spanner_source)
11728
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
11729
+ end
11730
+ end
11731
+
11732
+ # The inline source for the input config for ImportDocuments method.
11733
+ class GoogleCloudDiscoveryengineV1betaImportDocumentsRequestInlineSource
11734
+ include Google::Apis::Core::Hashable
11735
+
11736
+ # Required. A list of documents to update/create. Each document must have a
11737
+ # valid Document.id. Recommended max of 100 items.
11738
+ # Corresponds to the JSON property `documents`
11739
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocument>]
11740
+ attr_accessor :documents
11741
+
11742
+ def initialize(**args)
11743
+ update!(**args)
11744
+ end
11745
+
11746
+ # Update properties of this object
11747
+ def update!(**args)
11748
+ @documents = args[:documents] if args.key?(:documents)
11749
+ end
11750
+ end
11751
+
11752
+ # Response of the ImportDocumentsRequest. If the long running operation is done,
11753
+ # then this message is returned by the google.longrunning.Operations.response
11754
+ # field if the operation was successful.
11755
+ class GoogleCloudDiscoveryengineV1betaImportDocumentsResponse
11756
+ include Google::Apis::Core::Hashable
11757
+
11758
+ # Configuration of destination for Import related errors.
11759
+ # Corresponds to the JSON property `errorConfig`
11760
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaImportErrorConfig]
11761
+ attr_accessor :error_config
11762
+
11763
+ # A sample of errors encountered while processing the request.
11764
+ # Corresponds to the JSON property `errorSamples`
11765
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus>]
11766
+ attr_accessor :error_samples
11767
+
11768
+ def initialize(**args)
11769
+ update!(**args)
11770
+ end
11771
+
11772
+ # Update properties of this object
11773
+ def update!(**args)
11774
+ @error_config = args[:error_config] if args.key?(:error_config)
11775
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
11776
+ end
11777
+ end
11778
+
11779
+ # Configuration of destination for Import related errors.
11780
+ class GoogleCloudDiscoveryengineV1betaImportErrorConfig
11781
+ include Google::Apis::Core::Hashable
11782
+
11783
+ # Cloud Storage prefix for import errors. This must be an empty, existing Cloud
11784
+ # Storage directory. Import errors are written to sharded files in this
11785
+ # directory, one per line, as a JSON-encoded `google.rpc.Status` message.
11786
+ # Corresponds to the JSON property `gcsPrefix`
11787
+ # @return [String]
11788
+ attr_accessor :gcs_prefix
11789
+
11790
+ def initialize(**args)
11791
+ update!(**args)
11792
+ end
11793
+
11794
+ # Update properties of this object
11795
+ def update!(**args)
11796
+ @gcs_prefix = args[:gcs_prefix] if args.key?(:gcs_prefix)
11797
+ end
11798
+ end
11799
+
11800
+ # Metadata related to the progress of the ImportSampleQueries operation. This
11801
+ # will be returned by the google.longrunning.Operation.metadata field.
11802
+ class GoogleCloudDiscoveryengineV1betaImportSampleQueriesMetadata
11803
+ include Google::Apis::Core::Hashable
11804
+
11805
+ # ImportSampleQueries operation create time.
11806
+ # Corresponds to the JSON property `createTime`
11807
+ # @return [String]
11808
+ attr_accessor :create_time
11809
+
11810
+ # Count of SampleQuerys that failed to be imported.
11811
+ # Corresponds to the JSON property `failureCount`
11812
+ # @return [Fixnum]
11813
+ attr_accessor :failure_count
11814
+
11815
+ # Count of SampleQuerys successfully imported.
11816
+ # Corresponds to the JSON property `successCount`
11817
+ # @return [Fixnum]
11818
+ attr_accessor :success_count
11819
+
11820
+ # Total count of SampleQuerys that were processed.
11821
+ # Corresponds to the JSON property `totalCount`
11822
+ # @return [Fixnum]
11823
+ attr_accessor :total_count
11824
+
11825
+ # ImportSampleQueries operation last update time. If the operation is done, this
11826
+ # is also the finish time.
11827
+ # Corresponds to the JSON property `updateTime`
11828
+ # @return [String]
11829
+ attr_accessor :update_time
11830
+
11831
+ def initialize(**args)
11832
+ update!(**args)
11833
+ end
11834
+
11835
+ # Update properties of this object
11836
+ def update!(**args)
11837
+ @create_time = args[:create_time] if args.key?(:create_time)
11838
+ @failure_count = args[:failure_count] if args.key?(:failure_count)
11839
+ @success_count = args[:success_count] if args.key?(:success_count)
11840
+ @total_count = args[:total_count] if args.key?(:total_count)
11841
+ @update_time = args[:update_time] if args.key?(:update_time)
11842
+ end
11843
+ end
11844
+
11845
+ # Request message for SampleQueryService.ImportSampleQueries method.
11846
+ class GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequest
11847
+ include Google::Apis::Core::Hashable
11848
+
11849
+ # BigQuery source import data from.
11850
+ # Corresponds to the JSON property `bigquerySource`
11851
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaBigQuerySource]
11852
+ attr_accessor :bigquery_source
11853
+
11854
+ # Configuration of destination for Import related errors.
11855
+ # Corresponds to the JSON property `errorConfig`
11856
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaImportErrorConfig]
11857
+ attr_accessor :error_config
11858
+
11859
+ # Cloud Storage location for input content.
11860
+ # Corresponds to the JSON property `gcsSource`
11861
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGcsSource]
11862
+ attr_accessor :gcs_source
11863
+
11864
+ # The inline source for SampleQuerys.
9848
11865
  # Corresponds to the JSON property `inlineSource`
9849
- # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaImportDocumentsRequestInlineSource]
11866
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequestInlineSource]
9850
11867
  attr_accessor :inline_source
9851
11868
 
9852
- # The mode of reconciliation between existing documents and the documents to be
9853
- # imported. Defaults to ReconciliationMode.INCREMENTAL.
9854
- # Corresponds to the JSON property `reconciliationMode`
9855
- # @return [String]
9856
- attr_accessor :reconciliation_mode
9857
-
9858
- # The Spanner source for importing data
9859
- # Corresponds to the JSON property `spannerSource`
9860
- # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSpannerSource]
9861
- attr_accessor :spanner_source
9862
-
9863
- # Indicates which fields in the provided imported documents to update. If not
9864
- # set, the default is to update all fields.
9865
- # Corresponds to the JSON property `updateMask`
9866
- # @return [String]
9867
- attr_accessor :update_mask
9868
-
9869
11869
  def initialize(**args)
9870
11870
  update!(**args)
9871
11871
  end
9872
11872
 
9873
11873
  # Update properties of this object
9874
11874
  def update!(**args)
9875
- @alloy_db_source = args[:alloy_db_source] if args.key?(:alloy_db_source)
9876
- @auto_generate_ids = args[:auto_generate_ids] if args.key?(:auto_generate_ids)
9877
11875
  @bigquery_source = args[:bigquery_source] if args.key?(:bigquery_source)
9878
- @bigtable_source = args[:bigtable_source] if args.key?(:bigtable_source)
9879
- @cloud_sql_source = args[:cloud_sql_source] if args.key?(:cloud_sql_source)
9880
11876
  @error_config = args[:error_config] if args.key?(:error_config)
9881
- @fhir_store_source = args[:fhir_store_source] if args.key?(:fhir_store_source)
9882
- @firestore_source = args[:firestore_source] if args.key?(:firestore_source)
9883
11877
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
9884
- @id_field = args[:id_field] if args.key?(:id_field)
9885
11878
  @inline_source = args[:inline_source] if args.key?(:inline_source)
9886
- @reconciliation_mode = args[:reconciliation_mode] if args.key?(:reconciliation_mode)
9887
- @spanner_source = args[:spanner_source] if args.key?(:spanner_source)
9888
- @update_mask = args[:update_mask] if args.key?(:update_mask)
9889
11879
  end
9890
11880
  end
9891
11881
 
9892
- # The inline source for the input config for ImportDocuments method.
9893
- class GoogleCloudDiscoveryengineV1betaImportDocumentsRequestInlineSource
11882
+ # The inline source for SampleQuerys.
11883
+ class GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequestInlineSource
9894
11884
  include Google::Apis::Core::Hashable
9895
11885
 
9896
- # Required. A list of documents to update/create. Each document must have a
9897
- # valid Document.id. Recommended max of 100 items.
9898
- # Corresponds to the JSON property `documents`
9899
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocument>]
9900
- attr_accessor :documents
11886
+ # Required. A list of SampleQuerys to import. Max of 1000 items.
11887
+ # Corresponds to the JSON property `sampleQueries`
11888
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSampleQuery>]
11889
+ attr_accessor :sample_queries
9901
11890
 
9902
11891
  def initialize(**args)
9903
11892
  update!(**args)
@@ -9905,14 +11894,14 @@ module Google
9905
11894
 
9906
11895
  # Update properties of this object
9907
11896
  def update!(**args)
9908
- @documents = args[:documents] if args.key?(:documents)
11897
+ @sample_queries = args[:sample_queries] if args.key?(:sample_queries)
9909
11898
  end
9910
11899
  end
9911
11900
 
9912
- # Response of the ImportDocumentsRequest. If the long running operation is done,
9913
- # then this message is returned by the google.longrunning.Operations.response
9914
- # field if the operation was successful.
9915
- class GoogleCloudDiscoveryengineV1betaImportDocumentsResponse
11901
+ # Response of the SampleQueryService.ImportSampleQueries method. If the long
11902
+ # running operation is done, this message is returned by the google.longrunning.
11903
+ # Operations.response field if the operation is successful.
11904
+ class GoogleCloudDiscoveryengineV1betaImportSampleQueriesResponse
9916
11905
  include Google::Apis::Core::Hashable
9917
11906
 
9918
11907
  # Configuration of destination for Import related errors.
@@ -9936,27 +11925,6 @@ module Google
9936
11925
  end
9937
11926
  end
9938
11927
 
9939
- # Configuration of destination for Import related errors.
9940
- class GoogleCloudDiscoveryengineV1betaImportErrorConfig
9941
- include Google::Apis::Core::Hashable
9942
-
9943
- # Cloud Storage prefix for import errors. This must be an empty, existing Cloud
9944
- # Storage directory. Import errors are written to sharded files in this
9945
- # directory, one per line, as a JSON-encoded `google.rpc.Status` message.
9946
- # Corresponds to the JSON property `gcsPrefix`
9947
- # @return [String]
9948
- attr_accessor :gcs_prefix
9949
-
9950
- def initialize(**args)
9951
- update!(**args)
9952
- end
9953
-
9954
- # Update properties of this object
9955
- def update!(**args)
9956
- @gcs_prefix = args[:gcs_prefix] if args.key?(:gcs_prefix)
9957
- end
9958
- end
9959
-
9960
11928
  # Metadata related to the progress of the ImportSuggestionDenyListEntries
9961
11929
  # operation. This is returned by the google.longrunning.Operation.metadata field.
9962
11930
  class GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesMetadata
@@ -10418,6 +12386,136 @@ module Google
10418
12386
  end
10419
12387
  end
10420
12388
 
12389
+ # Response message for EvaluationService.ListEvaluationResults method.
12390
+ class GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponse
12391
+ include Google::Apis::Core::Hashable
12392
+
12393
+ # The EvaluationResults.
12394
+ # Corresponds to the JSON property `evaluationResults`
12395
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponseEvaluationResult>]
12396
+ attr_accessor :evaluation_results
12397
+
12398
+ # A token that can be sent as ListEvaluationResultsRequest.page_token to
12399
+ # retrieve the next page. If this field is omitted, there are no subsequent
12400
+ # pages.
12401
+ # Corresponds to the JSON property `nextPageToken`
12402
+ # @return [String]
12403
+ attr_accessor :next_page_token
12404
+
12405
+ def initialize(**args)
12406
+ update!(**args)
12407
+ end
12408
+
12409
+ # Update properties of this object
12410
+ def update!(**args)
12411
+ @evaluation_results = args[:evaluation_results] if args.key?(:evaluation_results)
12412
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
12413
+ end
12414
+ end
12415
+
12416
+ # Represents the results of an evaluation for a single SampleQuery.
12417
+ class GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponseEvaluationResult
12418
+ include Google::Apis::Core::Hashable
12419
+
12420
+ # Describes the metrics produced by the evaluation.
12421
+ # Corresponds to the JSON property `qualityMetrics`
12422
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaQualityMetrics]
12423
+ attr_accessor :quality_metrics
12424
+
12425
+ # Sample Query captures metadata to be used for evaluation.
12426
+ # Corresponds to the JSON property `sampleQuery`
12427
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSampleQuery]
12428
+ attr_accessor :sample_query
12429
+
12430
+ def initialize(**args)
12431
+ update!(**args)
12432
+ end
12433
+
12434
+ # Update properties of this object
12435
+ def update!(**args)
12436
+ @quality_metrics = args[:quality_metrics] if args.key?(:quality_metrics)
12437
+ @sample_query = args[:sample_query] if args.key?(:sample_query)
12438
+ end
12439
+ end
12440
+
12441
+ # Response message for EvaluationService.ListEvaluations method.
12442
+ class GoogleCloudDiscoveryengineV1betaListEvaluationsResponse
12443
+ include Google::Apis::Core::Hashable
12444
+
12445
+ # The Evaluations.
12446
+ # Corresponds to the JSON property `evaluations`
12447
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEvaluation>]
12448
+ attr_accessor :evaluations
12449
+
12450
+ # A token that can be sent as ListEvaluationsRequest.page_token to retrieve the
12451
+ # next page. If this field is omitted, there are no subsequent pages.
12452
+ # Corresponds to the JSON property `nextPageToken`
12453
+ # @return [String]
12454
+ attr_accessor :next_page_token
12455
+
12456
+ def initialize(**args)
12457
+ update!(**args)
12458
+ end
12459
+
12460
+ # Update properties of this object
12461
+ def update!(**args)
12462
+ @evaluations = args[:evaluations] if args.key?(:evaluations)
12463
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
12464
+ end
12465
+ end
12466
+
12467
+ # Response message for SampleQueryService.ListSampleQueries method.
12468
+ class GoogleCloudDiscoveryengineV1betaListSampleQueriesResponse
12469
+ include Google::Apis::Core::Hashable
12470
+
12471
+ # A token that can be sent as ListSampleQueriesRequest.page_token to retrieve
12472
+ # the next page. If this field is omitted, there are no subsequent pages.
12473
+ # Corresponds to the JSON property `nextPageToken`
12474
+ # @return [String]
12475
+ attr_accessor :next_page_token
12476
+
12477
+ # The SampleQuerys.
12478
+ # Corresponds to the JSON property `sampleQueries`
12479
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSampleQuery>]
12480
+ attr_accessor :sample_queries
12481
+
12482
+ def initialize(**args)
12483
+ update!(**args)
12484
+ end
12485
+
12486
+ # Update properties of this object
12487
+ def update!(**args)
12488
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
12489
+ @sample_queries = args[:sample_queries] if args.key?(:sample_queries)
12490
+ end
12491
+ end
12492
+
12493
+ # Response message for SampleQuerySetService.ListSampleQuerySets method.
12494
+ class GoogleCloudDiscoveryengineV1betaListSampleQuerySetsResponse
12495
+ include Google::Apis::Core::Hashable
12496
+
12497
+ # A token that can be sent as ListSampleQuerySetsRequest.page_token to retrieve
12498
+ # the next page. If this field is omitted, there are no subsequent pages.
12499
+ # Corresponds to the JSON property `nextPageToken`
12500
+ # @return [String]
12501
+ attr_accessor :next_page_token
12502
+
12503
+ # The SampleQuerySets.
12504
+ # Corresponds to the JSON property `sampleQuerySets`
12505
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSampleQuerySet>]
12506
+ attr_accessor :sample_query_sets
12507
+
12508
+ def initialize(**args)
12509
+ update!(**args)
12510
+ end
12511
+
12512
+ # Update properties of this object
12513
+ def update!(**args)
12514
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
12515
+ @sample_query_sets = args[:sample_query_sets] if args.key?(:sample_query_sets)
12516
+ end
12517
+ end
12518
+
10421
12519
  # Response message for SchemaService.ListSchemas method.
10422
12520
  class GoogleCloudDiscoveryengineV1betaListSchemasResponse
10423
12521
  include Google::Apis::Core::Hashable
@@ -10976,6 +13074,86 @@ module Google
10976
13074
  end
10977
13075
  end
10978
13076
 
13077
+ # Describes the metrics produced by the evaluation.
13078
+ class GoogleCloudDiscoveryengineV1betaQualityMetrics
13079
+ include Google::Apis::Core::Hashable
13080
+
13081
+ # Stores the metric values at specific top-k levels.
13082
+ # Corresponds to the JSON property `docNdcg`
13083
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
13084
+ attr_accessor :doc_ndcg
13085
+
13086
+ # Stores the metric values at specific top-k levels.
13087
+ # Corresponds to the JSON property `docPrecision`
13088
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
13089
+ attr_accessor :doc_precision
13090
+
13091
+ # Stores the metric values at specific top-k levels.
13092
+ # Corresponds to the JSON property `docRecall`
13093
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
13094
+ attr_accessor :doc_recall
13095
+
13096
+ # Stores the metric values at specific top-k levels.
13097
+ # Corresponds to the JSON property `pageNdcg`
13098
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
13099
+ attr_accessor :page_ndcg
13100
+
13101
+ # Stores the metric values at specific top-k levels.
13102
+ # Corresponds to the JSON property `pageRecall`
13103
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
13104
+ attr_accessor :page_recall
13105
+
13106
+ def initialize(**args)
13107
+ update!(**args)
13108
+ end
13109
+
13110
+ # Update properties of this object
13111
+ def update!(**args)
13112
+ @doc_ndcg = args[:doc_ndcg] if args.key?(:doc_ndcg)
13113
+ @doc_precision = args[:doc_precision] if args.key?(:doc_precision)
13114
+ @doc_recall = args[:doc_recall] if args.key?(:doc_recall)
13115
+ @page_ndcg = args[:page_ndcg] if args.key?(:page_ndcg)
13116
+ @page_recall = args[:page_recall] if args.key?(:page_recall)
13117
+ end
13118
+ end
13119
+
13120
+ # Stores the metric values at specific top-k levels.
13121
+ class GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics
13122
+ include Google::Apis::Core::Hashable
13123
+
13124
+ # The top-1 value.
13125
+ # Corresponds to the JSON property `top1`
13126
+ # @return [Float]
13127
+ attr_accessor :top1
13128
+
13129
+ # The top-10 value.
13130
+ # Corresponds to the JSON property `top10`
13131
+ # @return [Float]
13132
+ attr_accessor :top10
13133
+
13134
+ # The top-3 value.
13135
+ # Corresponds to the JSON property `top3`
13136
+ # @return [Float]
13137
+ attr_accessor :top3
13138
+
13139
+ # The top-5 value.
13140
+ # Corresponds to the JSON property `top5`
13141
+ # @return [Float]
13142
+ attr_accessor :top5
13143
+
13144
+ def initialize(**args)
13145
+ update!(**args)
13146
+ end
13147
+
13148
+ # Update properties of this object
13149
+ def update!(**args)
13150
+ @top1 = args[:top1] if args.key?(:top1)
13151
+ @top10 = args[:top10] if args.key?(:top10)
13152
+ @top3 = args[:top3] if args.key?(:top3)
13153
+ @top5 = args[:top5] if args.key?(:top5)
13154
+ end
13155
+ end
13156
+
10979
13157
  # Defines a user inputed query.
10980
13158
  class GoogleCloudDiscoveryengineV1betaQuery
10981
13159
  include Google::Apis::Core::Hashable
@@ -11358,12 +13536,118 @@ module Google
11358
13536
  # @return [Fixnum]
11359
13537
  attr_accessor :end
11360
13538
 
11361
- # Anchor text start index.
11362
- # Corresponds to the JSON property `start`
11363
- # @return [Fixnum]
11364
- attr_accessor :start
13539
+ # Anchor text start index.
13540
+ # Corresponds to the JSON property `start`
13541
+ # @return [Fixnum]
13542
+ attr_accessor :start
13543
+
13544
+ # URI link reference.
13545
+ # Corresponds to the JSON property `uri`
13546
+ # @return [String]
13547
+ attr_accessor :uri
13548
+
13549
+ def initialize(**args)
13550
+ update!(**args)
13551
+ end
13552
+
13553
+ # Update properties of this object
13554
+ def update!(**args)
13555
+ @anchor_text = args[:anchor_text] if args.key?(:anchor_text)
13556
+ @end = args[:end] if args.key?(:end)
13557
+ @start = args[:start] if args.key?(:start)
13558
+ @uri = args[:uri] if args.key?(:uri)
13559
+ end
13560
+ end
13561
+
13562
+ # Request for resuming training of an engine.
13563
+ class GoogleCloudDiscoveryengineV1betaResumeEngineRequest
13564
+ include Google::Apis::Core::Hashable
13565
+
13566
+ def initialize(**args)
13567
+ update!(**args)
13568
+ end
13569
+
13570
+ # Update properties of this object
13571
+ def update!(**args)
13572
+ end
13573
+ end
13574
+
13575
+ # Sample Query captures metadata to be used for evaluation.
13576
+ class GoogleCloudDiscoveryengineV1betaSampleQuery
13577
+ include Google::Apis::Core::Hashable
13578
+
13579
+ # Output only. Timestamp the SampleQuery was created at.
13580
+ # Corresponds to the JSON property `createTime`
13581
+ # @return [String]
13582
+ attr_accessor :create_time
13583
+
13584
+ # Immutable. The full resource name of the sample query, in the format of `
13585
+ # projects/`project`/locations/`location`/sampleQuerySets/`sampleQuerySet`/
13586
+ # sampleQueries/`sampleQuery``. This field must be a UTF-8 encoded string with a
13587
+ # length limit of 1024 characters.
13588
+ # Corresponds to the JSON property `name`
13589
+ # @return [String]
13590
+ attr_accessor :name
13591
+
13592
+ # Query Entry captures metadata to be used for search evaluation.
13593
+ # Corresponds to the JSON property `queryEntry`
13594
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntry]
13595
+ attr_accessor :query_entry
13596
+
13597
+ def initialize(**args)
13598
+ update!(**args)
13599
+ end
13600
+
13601
+ # Update properties of this object
13602
+ def update!(**args)
13603
+ @create_time = args[:create_time] if args.key?(:create_time)
13604
+ @name = args[:name] if args.key?(:name)
13605
+ @query_entry = args[:query_entry] if args.key?(:query_entry)
13606
+ end
13607
+ end
13608
+
13609
+ # Query Entry captures metadata to be used for search evaluation.
13610
+ class GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntry
13611
+ include Google::Apis::Core::Hashable
13612
+
13613
+ # Required. The query.
13614
+ # Corresponds to the JSON property `query`
13615
+ # @return [String]
13616
+ attr_accessor :query
13617
+
13618
+ # List of targets for the query.
13619
+ # Corresponds to the JSON property `targets`
13620
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntryTarget>]
13621
+ attr_accessor :targets
13622
+
13623
+ def initialize(**args)
13624
+ update!(**args)
13625
+ end
13626
+
13627
+ # Update properties of this object
13628
+ def update!(**args)
13629
+ @query = args[:query] if args.key?(:query)
13630
+ @targets = args[:targets] if args.key?(:targets)
13631
+ end
13632
+ end
13633
+
13634
+ # Defines the parameters of the query's expected outcome.
13635
+ class GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntryTarget
13636
+ include Google::Apis::Core::Hashable
13637
+
13638
+ # Expected page numbers of the target. Each page number must be non negative.
13639
+ # Corresponds to the JSON property `pageNumbers`
13640
+ # @return [Array<Fixnum>]
13641
+ attr_accessor :page_numbers
11365
13642
 
11366
- # URI link reference.
13643
+ # Relevance score of the target.
13644
+ # Corresponds to the JSON property `score`
13645
+ # @return [Float]
13646
+ attr_accessor :score
13647
+
13648
+ # Expected uri of the target. This field must be a UTF-8 encoded string with a
13649
+ # length limit of 2048 characters. Example of valid uris: `https://example.com/
13650
+ # abc`, `gcs://example/example.pdf`.
11367
13651
  # Corresponds to the JSON property `uri`
11368
13652
  # @return [String]
11369
13653
  attr_accessor :uri
@@ -11374,23 +13658,51 @@ module Google
11374
13658
 
11375
13659
  # Update properties of this object
11376
13660
  def update!(**args)
11377
- @anchor_text = args[:anchor_text] if args.key?(:anchor_text)
11378
- @end = args[:end] if args.key?(:end)
11379
- @start = args[:start] if args.key?(:start)
13661
+ @page_numbers = args[:page_numbers] if args.key?(:page_numbers)
13662
+ @score = args[:score] if args.key?(:score)
11380
13663
  @uri = args[:uri] if args.key?(:uri)
11381
13664
  end
11382
13665
  end
11383
13666
 
11384
- # Request for resuming training of an engine.
11385
- class GoogleCloudDiscoveryengineV1betaResumeEngineRequest
13667
+ # A SampleQuerySet is the parent resource of SampleQuery, and contains the
13668
+ # configurations shared by all SampleQuery under it.
13669
+ class GoogleCloudDiscoveryengineV1betaSampleQuerySet
11386
13670
  include Google::Apis::Core::Hashable
11387
13671
 
13672
+ # Output only. Timestamp the SampleQuerySet was created at.
13673
+ # Corresponds to the JSON property `createTime`
13674
+ # @return [String]
13675
+ attr_accessor :create_time
13676
+
13677
+ # The description of the SampleQuerySet.
13678
+ # Corresponds to the JSON property `description`
13679
+ # @return [String]
13680
+ attr_accessor :description
13681
+
13682
+ # Required. The sample query set display name. This field must be a UTF-8
13683
+ # encoded string with a length limit of 128 characters.
13684
+ # Corresponds to the JSON property `displayName`
13685
+ # @return [String]
13686
+ attr_accessor :display_name
13687
+
13688
+ # Immutable. The full resource name of the SampleQuerySet, in the format of `
13689
+ # projects/`project`/locations/`location`/sampleQuerySets/`sampleQuerySet``.
13690
+ # This field must be a UTF-8 encoded string with a length limit of 1024
13691
+ # characters.
13692
+ # Corresponds to the JSON property `name`
13693
+ # @return [String]
13694
+ attr_accessor :name
13695
+
11388
13696
  def initialize(**args)
11389
13697
  update!(**args)
11390
13698
  end
11391
13699
 
11392
13700
  # Update properties of this object
11393
13701
  def update!(**args)
13702
+ @create_time = args[:create_time] if args.key?(:create_time)
13703
+ @description = args[:description] if args.key?(:description)
13704
+ @display_name = args[:display_name] if args.key?(:display_name)
13705
+ @name = args[:name] if args.key?(:name)
11394
13706
  end
11395
13707
  end
11396
13708
 
@@ -11556,6 +13868,12 @@ module Google
11556
13868
  # @return [String]
11557
13869
  attr_accessor :language_code
11558
13870
 
13871
+ # Specification to enable natural language understanding capabilities for search
13872
+ # requests.
13873
+ # Corresponds to the JSON property `naturalLanguageQueryUnderstandingSpec`
13874
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec]
13875
+ attr_accessor :natural_language_query_understanding_spec
13876
+
11559
13877
  # A 0-indexed integer that specifies the current offset (that is, starting
11560
13878
  # result location, amongst the Documents deemed by the API as relevant) in
11561
13879
  # search results. This field is only considered if page_token is unset. If this
@@ -11614,15 +13932,16 @@ module Google
11614
13932
 
11615
13933
  # The ranking expression controls the customized ranking on retrieval documents.
11616
13934
  # This overrides ServingConfig.ranking_expression. The ranking expression is a
11617
- # single function or multiple functions that are joint by "+". *
13935
+ # single function or multiple functions that are joined by "+". *
11618
13936
  # ranking_expression = function, ` " + ", function `; Supported functions: *
11619
13937
  # double * relevance_score * double * dotProduct(embedding_field_path) Function
11620
- # variables: `relevance_score`: pre-defined keywords, used for measure relevance
11621
- # between query and document. `embedding_field_path`: the document embedding
11622
- # field used with query embedding vector. `dotProduct`: embedding function
11623
- # between embedding_field_path and query embedding vector. Example ranking
11624
- # expression: If document has an embedding field doc_embedding, the ranking
11625
- # expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.
13938
+ # variables: * `relevance_score`: pre-defined keywords, used for measure
13939
+ # relevance between query and document. * `embedding_field_path`: the document
13940
+ # embedding field used with query embedding vector. * `dotProduct`: embedding
13941
+ # function between embedding_field_path and query embedding vector. Example
13942
+ # ranking expression: If document has an embedding field doc_embedding, the
13943
+ # ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(
13944
+ # doc_embedding)`.
11626
13945
  # Corresponds to the JSON property `rankingExpression`
11627
13946
  # @return [String]
11628
13947
  attr_accessor :ranking_expression
@@ -11641,6 +13960,49 @@ module Google
11641
13960
  attr_accessor :safe_search
11642
13961
  alias_method :safe_search?, :safe_search
11643
13962
 
13963
+ # Specification for search as you type in search requests.
13964
+ # Corresponds to the JSON property `searchAsYouTypeSpec`
13965
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec]
13966
+ attr_accessor :search_as_you_type_spec
13967
+
13968
+ # Required. The resource name of the Search serving config, such as `projects/*/
13969
+ # locations/global/collections/default_collection/engines/*/servingConfigs/
13970
+ # default_serving_config`, or `projects/*/locations/global/collections/
13971
+ # default_collection/dataStores/default_data_store/servingConfigs/
13972
+ # default_serving_config`. This field is used to identify the serving
13973
+ # configuration name, set of models used to make the search.
13974
+ # Corresponds to the JSON property `servingConfig`
13975
+ # @return [String]
13976
+ attr_accessor :serving_config
13977
+
13978
+ # The session resource name. Optional. Session allows users to do multi-turn /
13979
+ # search API calls or coordination between /search API calls and /answer API
13980
+ # calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the
13981
+ # auto-session mode (see below). 2. Call /search API with the session ID
13982
+ # generated in the first call. Here, the previous search query gets considered
13983
+ # in query standing. I.e., if the first query is "How did Alphabet do in 2022?"
13984
+ # and the current query is "How about 2023?", the current query will be
13985
+ # interpreted as "How did Alphabet do in 2023?". Example #2 (coordination
13986
+ # between /search API calls and /answer API calls): 1. Call /search API with the
13987
+ # auto-session mode (see below). 2. Call /answer API with the session ID
13988
+ # generated in the first call. Here, the answer generation happens in the
13989
+ # context of the search results from the first search call. Auto-session mode:
13990
+ # when `projects/.../sessions/-` is used, a new session gets automatically
13991
+ # created. Otherwise, users can use the create-session API to create a session
13992
+ # manually. Multi-turn Search feature is currently at private GA stage. Please
13993
+ # use v1alpha or v1beta version instead before we launch this feature to public
13994
+ # GA. Or ask for allowlisting through Google Support team.
13995
+ # Corresponds to the JSON property `session`
13996
+ # @return [String]
13997
+ attr_accessor :session
13998
+
13999
+ # Session specification. Multi-turn Search feature is currently at private GA
14000
+ # stage. Please use v1alpha or v1beta version instead before we launch this
14001
+ # feature to public GA. Or ask for allowlisting through Google Support team.
14002
+ # Corresponds to the JSON property `sessionSpec`
14003
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec]
14004
+ attr_accessor :session_spec
14005
+
11644
14006
  # The specification for query spell correction.
11645
14007
  # Corresponds to the JSON property `spellCorrectionSpec`
11646
14008
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec]
@@ -11694,6 +14056,7 @@ module Google
11694
14056
  @filter = args[:filter] if args.key?(:filter)
11695
14057
  @image_query = args[:image_query] if args.key?(:image_query)
11696
14058
  @language_code = args[:language_code] if args.key?(:language_code)
14059
+ @natural_language_query_understanding_spec = args[:natural_language_query_understanding_spec] if args.key?(:natural_language_query_understanding_spec)
11697
14060
  @offset = args[:offset] if args.key?(:offset)
11698
14061
  @order_by = args[:order_by] if args.key?(:order_by)
11699
14062
  @page_size = args[:page_size] if args.key?(:page_size)
@@ -11704,6 +14067,10 @@ module Google
11704
14067
  @ranking_expression = args[:ranking_expression] if args.key?(:ranking_expression)
11705
14068
  @region_code = args[:region_code] if args.key?(:region_code)
11706
14069
  @safe_search = args[:safe_search] if args.key?(:safe_search)
14070
+ @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
14071
+ @serving_config = args[:serving_config] if args.key?(:serving_config)
14072
+ @session = args[:session] if args.key?(:session)
14073
+ @session_spec = args[:session_spec] if args.key?(:session_spec)
11707
14074
  @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
11708
14075
  @user_info = args[:user_info] if args.key?(:user_info)
11709
14076
  @user_labels = args[:user_labels] if args.key?(:user_labels)
@@ -11875,10 +14242,8 @@ module Google
11875
14242
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec]
11876
14243
  attr_accessor :extractive_content_spec
11877
14244
 
11878
- # Specifies the search result mode. If unspecified, the search result mode is
11879
- # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
11880
- # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
11881
- # * Otherwise, it defaults to `DOCUMENTS`.
14245
+ # Specifies the search result mode. If unspecified, the search result mode
14246
+ # defaults to `DOCUMENTS`.
11882
14247
  # Corresponds to the JSON property `searchResultMode`
11883
14248
  # @return [String]
11884
14249
  attr_accessor :search_result_mode
@@ -12178,8 +14543,8 @@ module Google
12178
14543
  end
12179
14544
 
12180
14545
  # A struct to define data stores to filter on in a search call and
12181
- # configurations for those data stores. A maximum of 1 DataStoreSpec per
12182
- # data_store is allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.
14546
+ # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
14547
+ # is returned.
12183
14548
  class GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec
12184
14549
  include Google::Apis::Core::Hashable
12185
14550
 
@@ -12413,6 +14778,37 @@ module Google
12413
14778
  end
12414
14779
  end
12415
14780
 
14781
+ # Specification to enable natural language understanding capabilities for search
14782
+ # requests.
14783
+ class GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec
14784
+ include Google::Apis::Core::Hashable
14785
+
14786
+ # The condition under which filter extraction should occur. Default to Condition.
14787
+ # DISABLED.
14788
+ # Corresponds to the JSON property `filterExtractionCondition`
14789
+ # @return [String]
14790
+ attr_accessor :filter_extraction_condition
14791
+
14792
+ # Field names used for location-based filtering, where geolocation filters are
14793
+ # detected in natural language search queries. Only valid when the
14794
+ # FilterExtractionCondition is set to `ENABLED`. If this field is set, it
14795
+ # overrides the field names set in ServingConfig.
14796
+ # geo_search_query_detection_field_names.
14797
+ # Corresponds to the JSON property `geoSearchQueryDetectionFieldNames`
14798
+ # @return [Array<String>]
14799
+ attr_accessor :geo_search_query_detection_field_names
14800
+
14801
+ def initialize(**args)
14802
+ update!(**args)
14803
+ end
14804
+
14805
+ # Update properties of this object
14806
+ def update!(**args)
14807
+ @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
14808
+ @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
14809
+ end
14810
+ end
14811
+
12416
14812
  # Specification to determine under which conditions query expansion should occur.
12417
14813
  class GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec
12418
14814
  include Google::Apis::Core::Hashable
@@ -12442,6 +14838,66 @@ module Google
12442
14838
  end
12443
14839
  end
12444
14840
 
14841
+ # Specification for search as you type in search requests.
14842
+ class GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec
14843
+ include Google::Apis::Core::Hashable
14844
+
14845
+ # The condition under which search as you type should occur. Default to
14846
+ # Condition.DISABLED.
14847
+ # Corresponds to the JSON property `condition`
14848
+ # @return [String]
14849
+ attr_accessor :condition
14850
+
14851
+ def initialize(**args)
14852
+ update!(**args)
14853
+ end
14854
+
14855
+ # Update properties of this object
14856
+ def update!(**args)
14857
+ @condition = args[:condition] if args.key?(:condition)
14858
+ end
14859
+ end
14860
+
14861
+ # Session specification. Multi-turn Search feature is currently at private GA
14862
+ # stage. Please use v1alpha or v1beta version instead before we launch this
14863
+ # feature to public GA. Or ask for allowlisting through Google Support team.
14864
+ class GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec
14865
+ include Google::Apis::Core::Hashable
14866
+
14867
+ # If set, the search result gets stored to the "turn" specified by this query ID.
14868
+ # Example: Let's say the session looks like this: session ` name: ".../sessions/
14869
+ # xxx" turns ` query ` text: "What is foo?" query_id: ".../questions/yyy" `
14870
+ # answer: "Foo is ..." ` turns ` query ` text: "How about bar then?" query_id: ".
14871
+ # ../questions/zzz" ` ` ` The user can call /search API with a request like this:
14872
+ # session: ".../sessions/xxx" session_spec ` query_id: ".../questions/zzz" `
14873
+ # Then, the API stores the search result, associated with the last turn. The
14874
+ # stored search result can be used by a subsequent /answer API call (with the
14875
+ # session ID and the query ID specified). Also, it is possible to call /search
14876
+ # and /answer in parallel with the same session ID & query ID.
14877
+ # Corresponds to the JSON property `queryId`
14878
+ # @return [String]
14879
+ attr_accessor :query_id
14880
+
14881
+ # The number of top search results to persist. The persisted search results can
14882
+ # be used for the subsequent /answer api call. This field is simliar to the `
14883
+ # summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.
14884
+ # summary_result_count. At most 10 results for documents mode, or 50 for chunks
14885
+ # mode.
14886
+ # Corresponds to the JSON property `searchResultPersistenceCount`
14887
+ # @return [Fixnum]
14888
+ attr_accessor :search_result_persistence_count
14889
+
14890
+ def initialize(**args)
14891
+ update!(**args)
14892
+ end
14893
+
14894
+ # Update properties of this object
14895
+ def update!(**args)
14896
+ @query_id = args[:query_id] if args.key?(:query_id)
14897
+ @search_result_persistence_count = args[:search_result_persistence_count] if args.key?(:search_result_persistence_count)
14898
+ end
14899
+ end
14900
+
12445
14901
  # The specification for query spell correction.
12446
14902
  class GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec
12447
14903
  include Google::Apis::Core::Hashable
@@ -12501,6 +14957,12 @@ module Google
12501
14957
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResult]
12502
14958
  attr_accessor :guided_search_result
12503
14959
 
14960
+ # Information describing what natural language understanding was done on the
14961
+ # input query.
14962
+ # Corresponds to the JSON property `naturalLanguageQueryUnderstandingInfo`
14963
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfo]
14964
+ attr_accessor :natural_language_query_understanding_info
14965
+
12504
14966
  # A token that can be sent as SearchRequest.page_token to retrieve the next page.
12505
14967
  # If this field is omitted, there are no subsequent pages.
12506
14968
  # Corresponds to the JSON property `nextPageToken`
@@ -12525,6 +14987,11 @@ module Google
12525
14987
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult>]
12526
14988
  attr_accessor :results
12527
14989
 
14990
+ # Information about the session.
14991
+ # Corresponds to the JSON property `sessionInfo`
14992
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseSessionInfo]
14993
+ attr_accessor :session_info
14994
+
12528
14995
  # Summary of the top N search results specified by the summary spec.
12529
14996
  # Corresponds to the JSON property `summary`
12530
14997
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseSummary]
@@ -12549,10 +15016,12 @@ module Google
12549
15016
  @facets = args[:facets] if args.key?(:facets)
12550
15017
  @geo_search_debug_info = args[:geo_search_debug_info] if args.key?(:geo_search_debug_info)
12551
15018
  @guided_search_result = args[:guided_search_result] if args.key?(:guided_search_result)
15019
+ @natural_language_query_understanding_info = args[:natural_language_query_understanding_info] if args.key?(:natural_language_query_understanding_info)
12552
15020
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
12553
15021
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
12554
15022
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
12555
15023
  @results = args[:results] if args.key?(:results)
15024
+ @session_info = args[:session_info] if args.key?(:session_info)
12556
15025
  @summary = args[:summary] if args.key?(:summary)
12557
15026
  @total_size = args[:total_size] if args.key?(:total_size)
12558
15027
  end
@@ -12699,6 +15168,234 @@ module Google
12699
15168
  end
12700
15169
  end
12701
15170
 
15171
+ # Information describing what natural language understanding was done on the
15172
+ # input query.
15173
+ class GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfo
15174
+ include Google::Apis::Core::Hashable
15175
+
15176
+ # The filters that were extracted from the input query.
15177
+ # Corresponds to the JSON property `extractedFilters`
15178
+ # @return [String]
15179
+ attr_accessor :extracted_filters
15180
+
15181
+ # Rewritten input query minus the extracted filters.
15182
+ # Corresponds to the JSON property `rewrittenQuery`
15183
+ # @return [String]
15184
+ attr_accessor :rewritten_query
15185
+
15186
+ # The filters that were extracted from the input query represented in a
15187
+ # structured form.
15188
+ # Corresponds to the JSON property `structuredExtractedFilter`
15189
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter]
15190
+ attr_accessor :structured_extracted_filter
15191
+
15192
+ def initialize(**args)
15193
+ update!(**args)
15194
+ end
15195
+
15196
+ # Update properties of this object
15197
+ def update!(**args)
15198
+ @extracted_filters = args[:extracted_filters] if args.key?(:extracted_filters)
15199
+ @rewritten_query = args[:rewritten_query] if args.key?(:rewritten_query)
15200
+ @structured_extracted_filter = args[:structured_extracted_filter] if args.key?(:structured_extracted_filter)
15201
+ end
15202
+ end
15203
+
15204
+ # The filters that were extracted from the input query represented in a
15205
+ # structured form.
15206
+ class GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter
15207
+ include Google::Apis::Core::Hashable
15208
+
15209
+ # The expression denoting the filter that was extracted from the input query.
15210
+ # Corresponds to the JSON property `expression`
15211
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression]
15212
+ attr_accessor :expression
15213
+
15214
+ def initialize(**args)
15215
+ update!(**args)
15216
+ end
15217
+
15218
+ # Update properties of this object
15219
+ def update!(**args)
15220
+ @expression = args[:expression] if args.key?(:expression)
15221
+ end
15222
+ end
15223
+
15224
+ # Logical `And` operator.
15225
+ class GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression
15226
+ include Google::Apis::Core::Hashable
15227
+
15228
+ # The expressions that were ANDed together.
15229
+ # Corresponds to the JSON property `expressions`
15230
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression>]
15231
+ attr_accessor :expressions
15232
+
15233
+ def initialize(**args)
15234
+ update!(**args)
15235
+ end
15236
+
15237
+ # Update properties of this object
15238
+ def update!(**args)
15239
+ @expressions = args[:expressions] if args.key?(:expressions)
15240
+ end
15241
+ end
15242
+
15243
+ # The expression denoting the filter that was extracted from the input query.
15244
+ class GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression
15245
+ include Google::Apis::Core::Hashable
15246
+
15247
+ # Logical `And` operator.
15248
+ # Corresponds to the JSON property `andExpr`
15249
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression]
15250
+ attr_accessor :and_expr
15251
+
15252
+ # Constraint of a geolocation field. Name of the geolocation field as defined in
15253
+ # the schema.
15254
+ # Corresponds to the JSON property `geolocationConstraint`
15255
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint]
15256
+ attr_accessor :geolocation_constraint
15257
+
15258
+ # Constraint expression of a number field. Example: price < 100.
15259
+ # Corresponds to the JSON property `numberConstraint`
15260
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint]
15261
+ attr_accessor :number_constraint
15262
+
15263
+ # Logical `Or` operator.
15264
+ # Corresponds to the JSON property `orExpr`
15265
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression]
15266
+ attr_accessor :or_expr
15267
+
15268
+ # Constraint expression of a string field.
15269
+ # Corresponds to the JSON property `stringConstraint`
15270
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint]
15271
+ attr_accessor :string_constraint
15272
+
15273
+ def initialize(**args)
15274
+ update!(**args)
15275
+ end
15276
+
15277
+ # Update properties of this object
15278
+ def update!(**args)
15279
+ @and_expr = args[:and_expr] if args.key?(:and_expr)
15280
+ @geolocation_constraint = args[:geolocation_constraint] if args.key?(:geolocation_constraint)
15281
+ @number_constraint = args[:number_constraint] if args.key?(:number_constraint)
15282
+ @or_expr = args[:or_expr] if args.key?(:or_expr)
15283
+ @string_constraint = args[:string_constraint] if args.key?(:string_constraint)
15284
+ end
15285
+ end
15286
+
15287
+ # Constraint of a geolocation field. Name of the geolocation field as defined in
15288
+ # the schema.
15289
+ class GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint
15290
+ include Google::Apis::Core::Hashable
15291
+
15292
+ # The reference address that was inferred from the input query. The proximity of
15293
+ # the reference address to the geolocation field will be used to filter the
15294
+ # results.
15295
+ # Corresponds to the JSON property `address`
15296
+ # @return [String]
15297
+ attr_accessor :address
15298
+
15299
+ # The name of the geolocation field as defined in the schema.
15300
+ # Corresponds to the JSON property `fieldName`
15301
+ # @return [String]
15302
+ attr_accessor :field_name
15303
+
15304
+ # The radius in meters around the address. The record is returned if the
15305
+ # location of the geolocation field is within the radius.
15306
+ # Corresponds to the JSON property `radiusInMeters`
15307
+ # @return [Float]
15308
+ attr_accessor :radius_in_meters
15309
+
15310
+ def initialize(**args)
15311
+ update!(**args)
15312
+ end
15313
+
15314
+ # Update properties of this object
15315
+ def update!(**args)
15316
+ @address = args[:address] if args.key?(:address)
15317
+ @field_name = args[:field_name] if args.key?(:field_name)
15318
+ @radius_in_meters = args[:radius_in_meters] if args.key?(:radius_in_meters)
15319
+ end
15320
+ end
15321
+
15322
+ # Constraint expression of a number field. Example: price < 100.
15323
+ class GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint
15324
+ include Google::Apis::Core::Hashable
15325
+
15326
+ # The comparison operation performed between the field value and the value
15327
+ # specified in the constraint.
15328
+ # Corresponds to the JSON property `comparison`
15329
+ # @return [String]
15330
+ attr_accessor :comparison
15331
+
15332
+ # Name of the numerical field as defined in the schema.
15333
+ # Corresponds to the JSON property `fieldName`
15334
+ # @return [String]
15335
+ attr_accessor :field_name
15336
+
15337
+ # The value specified in the numerical constraint.
15338
+ # Corresponds to the JSON property `value`
15339
+ # @return [Float]
15340
+ attr_accessor :value
15341
+
15342
+ def initialize(**args)
15343
+ update!(**args)
15344
+ end
15345
+
15346
+ # Update properties of this object
15347
+ def update!(**args)
15348
+ @comparison = args[:comparison] if args.key?(:comparison)
15349
+ @field_name = args[:field_name] if args.key?(:field_name)
15350
+ @value = args[:value] if args.key?(:value)
15351
+ end
15352
+ end
15353
+
15354
+ # Logical `Or` operator.
15355
+ class GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression
15356
+ include Google::Apis::Core::Hashable
15357
+
15358
+ # The expressions that were ORed together.
15359
+ # Corresponds to the JSON property `expressions`
15360
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression>]
15361
+ attr_accessor :expressions
15362
+
15363
+ def initialize(**args)
15364
+ update!(**args)
15365
+ end
15366
+
15367
+ # Update properties of this object
15368
+ def update!(**args)
15369
+ @expressions = args[:expressions] if args.key?(:expressions)
15370
+ end
15371
+ end
15372
+
15373
+ # Constraint expression of a string field.
15374
+ class GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint
15375
+ include Google::Apis::Core::Hashable
15376
+
15377
+ # Name of the string field as defined in the schema.
15378
+ # Corresponds to the JSON property `fieldName`
15379
+ # @return [String]
15380
+ attr_accessor :field_name
15381
+
15382
+ # Values of the string field. The record will only be returned if the field
15383
+ # value matches one of the values specified here.
15384
+ # Corresponds to the JSON property `values`
15385
+ # @return [Array<String>]
15386
+ attr_accessor :values
15387
+
15388
+ def initialize(**args)
15389
+ update!(**args)
15390
+ end
15391
+
15392
+ # Update properties of this object
15393
+ def update!(**args)
15394
+ @field_name = args[:field_name] if args.key?(:field_name)
15395
+ @values = args[:values] if args.key?(:values)
15396
+ end
15397
+ end
15398
+
12702
15399
  # Information describing query expansion including whether expansion has
12703
15400
  # occurred.
12704
15401
  class GoogleCloudDiscoveryengineV1betaSearchResponseQueryExpansionInfo
@@ -12766,6 +15463,35 @@ module Google
12766
15463
  end
12767
15464
  end
12768
15465
 
15466
+ # Information about the session.
15467
+ class GoogleCloudDiscoveryengineV1betaSearchResponseSessionInfo
15468
+ include Google::Apis::Core::Hashable
15469
+
15470
+ # Name of the session. If the auto-session mode is used (when SearchRequest.
15471
+ # session ends with "-"), this field holds the newly generated session name.
15472
+ # Corresponds to the JSON property `name`
15473
+ # @return [String]
15474
+ attr_accessor :name
15475
+
15476
+ # Query ID that corresponds to this search API call. One session can have
15477
+ # multiple turns, each with a unique query ID. By specifying the session name
15478
+ # and this query ID in the Answer API call, the answer generation happens in the
15479
+ # context of the search results from this search call.
15480
+ # Corresponds to the JSON property `queryId`
15481
+ # @return [String]
15482
+ attr_accessor :query_id
15483
+
15484
+ def initialize(**args)
15485
+ update!(**args)
15486
+ end
15487
+
15488
+ # Update properties of this object
15489
+ def update!(**args)
15490
+ @name = args[:name] if args.key?(:name)
15491
+ @query_id = args[:query_id] if args.key?(:query_id)
15492
+ end
15493
+ end
15494
+
12769
15495
  # Summary of the top N search results specified by the summary spec.
12770
15496
  class GoogleCloudDiscoveryengineV1betaSearchResponseSummary
12771
15497
  include Google::Apis::Core::Hashable
@@ -13109,12 +15835,13 @@ module Google
13109
15835
  # single function or multiple functions that are joined by "+". *
13110
15836
  # ranking_expression = function, ` " + ", function `; Supported functions: *
13111
15837
  # double * relevance_score * double * dotProduct(embedding_field_path) Function
13112
- # variables: relevance_score: pre-defined keywords, used for measure relevance
13113
- # between query and document. embedding_field_path: the document embedding field
13114
- # used with query embedding vector. dotProduct: embedding function between
13115
- # embedding_field_path and query embedding vector. Example ranking expression:
13116
- # If document has an embedding field doc_embedding, the ranking expression could
13117
- # be 0.5 * relevance_score + 0.3 * dotProduct(doc_embedding).
15838
+ # variables: * `relevance_score`: pre-defined keywords, used for measure
15839
+ # relevance between query and document. * `embedding_field_path`: the document
15840
+ # embedding field used with query embedding vector. * `dotProduct`: embedding
15841
+ # function between embedding_field_path and query embedding vector. Example
15842
+ # ranking expression: If document has an embedding field doc_embedding, the
15843
+ # ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(
15844
+ # doc_embedding)`.
13118
15845
  # Corresponds to the JSON property `rankingExpression`
13119
15846
  # @return [String]
13120
15847
  attr_accessor :ranking_expression