google-apis-discoveryengine_v1beta 0.49.0 → 0.50.0

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