google-apis-discoveryengine_v1alpha 0.51.0 → 0.52.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.
@@ -1314,9 +1314,10 @@ module Google
1314
1314
  # Map from file type to override the default parsing configuration based on the
1315
1315
  # file type. Supported keys: * `pdf`: Override parsing config for PDF files,
1316
1316
  # either digital parsing, ocr parsing or layout parsing is supported. * `html`:
1317
- # Override parsing config for HTML files, only digital parsing and or layout
1317
+ # Override parsing config for HTML files, only digital parsing and layout
1318
1318
  # parsing are supported. * `docx`: Override parsing config for DOCX files, only
1319
- # digital parsing and or layout parsing are supported.
1319
+ # digital parsing and layout parsing are supported. * `pptx`: Override parsing
1320
+ # config for PPTX files, only digital parsing and layout parsing are supported.
1320
1321
  # Corresponds to the JSON property `parsingConfigOverrides`
1321
1322
  # @return [Hash<String,Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig>]
1322
1323
  attr_accessor :parsing_config_overrides
@@ -3176,11 +3177,9 @@ module Google
3176
3177
  # @return [String]
3177
3178
  attr_accessor :order_by
3178
3179
 
3179
- # Specifies the search result mode. If unspecified, the search result mode is
3180
- # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
3181
- # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
3182
- # * Otherwise, it defaults to `DOCUMENTS`. See [parse and chunk documents](
3183
- # https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)
3180
+ # Specifies the search result mode. If unspecified, the search result mode
3181
+ # defaults to `DOCUMENTS`. See [parse and chunk documents](https://cloud.google.
3182
+ # com/generative-ai-app-builder/docs/parse-chunk-documents)
3184
3183
  # Corresponds to the JSON property `searchResultMode`
3185
3184
  # @return [String]
3186
3185
  attr_accessor :search_result_mode
@@ -3749,6 +3748,12 @@ module Google
3749
3748
  # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo>]
3750
3749
  attr_accessor :snippet_info
3751
3750
 
3751
+ # Data representation. The structured JSON data for the document. It's populated
3752
+ # from the struct data from the Document , or the Chunk in search result .
3753
+ # Corresponds to the JSON property `structData`
3754
+ # @return [Hash<String,Object>]
3755
+ attr_accessor :struct_data
3756
+
3752
3757
  # Title.
3753
3758
  # Corresponds to the JSON property `title`
3754
3759
  # @return [String]
@@ -3768,6 +3773,7 @@ module Google
3768
3773
  @chunk_info = args[:chunk_info] if args.key?(:chunk_info)
3769
3774
  @document = args[:document] if args.key?(:document)
3770
3775
  @snippet_info = args[:snippet_info] if args.key?(:snippet_info)
3776
+ @struct_data = args[:struct_data] if args.key?(:struct_data)
3771
3777
  @title = args[:title] if args.key?(:title)
3772
3778
  @uri = args[:uri] if args.key?(:uri)
3773
3779
  end
@@ -4330,10 +4336,11 @@ module Google
4330
4336
  attr_accessor :requirement_type
4331
4337
 
4332
4338
  # The type needed for the monitored resources: * `discoveryengine.googleapis.com/
4333
- # Branch`. * The labels needed for this resource: * `project_number` * `
4334
- # location_id` * `collection_id` * `datastore_id` * `branch_id` * `
4339
+ # Branch`. * The labels needed for this resource: * `project`_`number` * `
4340
+ # location`_`id` * `collection`_`id` * `datastore`_`id` * `branch`_`id` * `
4335
4341
  # discoveryengine.googleapis.com/DataStore` * The labels needed for this
4336
- # resource: * `project_number` * `location_id` * `collection_id` * `datastore_id`
4342
+ # resource: * `project`_`number` * `location`_`id` * `collection`_`id` * `
4343
+ # datastore`_`id`
4337
4344
  # Corresponds to the JSON property `resources`
4338
4345
  # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleApiMonitoredResource>]
4339
4346
  attr_accessor :resources
@@ -5373,6 +5380,19 @@ module Google
5373
5380
  end
5374
5381
  end
5375
5382
 
5383
+ # Metadata for EvaluationService.CreateEvaluation method.
5384
+ class GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata
5385
+ include Google::Apis::Core::Hashable
5386
+
5387
+ def initialize(**args)
5388
+ update!(**args)
5389
+ end
5390
+
5391
+ # Update properties of this object
5392
+ def update!(**args)
5393
+ end
5394
+ end
5395
+
5376
5396
  # Metadata for Create Schema LRO.
5377
5397
  class GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata
5378
5398
  include Google::Apis::Core::Hashable
@@ -5521,6 +5541,11 @@ module Google
5521
5541
  # @return [String]
5522
5542
  attr_accessor :display_name
5523
5543
 
5544
+ # The metrics of the trained model.
5545
+ # Corresponds to the JSON property `metrics`
5546
+ # @return [Hash<String,Float>]
5547
+ attr_accessor :metrics
5548
+
5524
5549
  # The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).
5525
5550
  # Corresponds to the JSON property `modelState`
5526
5551
  # @return [String]
@@ -5552,6 +5577,7 @@ module Google
5552
5577
  def update!(**args)
5553
5578
  @create_time = args[:create_time] if args.key?(:create_time)
5554
5579
  @display_name = args[:display_name] if args.key?(:display_name)
5580
+ @metrics = args[:metrics] if args.key?(:metrics)
5555
5581
  @model_state = args[:model_state] if args.key?(:model_state)
5556
5582
  @model_version = args[:model_version] if args.key?(:model_version)
5557
5583
  @name = args[:name] if args.key?(:name)
@@ -6074,9 +6100,10 @@ module Google
6074
6100
  # Map from file type to override the default parsing configuration based on the
6075
6101
  # file type. Supported keys: * `pdf`: Override parsing config for PDF files,
6076
6102
  # either digital parsing, ocr parsing or layout parsing is supported. * `html`:
6077
- # Override parsing config for HTML files, only digital parsing and or layout
6103
+ # Override parsing config for HTML files, only digital parsing and layout
6078
6104
  # parsing are supported. * `docx`: Override parsing config for DOCX files, only
6079
- # digital parsing and or layout parsing are supported.
6105
+ # digital parsing and layout parsing are supported. * `pptx`: Override parsing
6106
+ # config for PPTX files, only digital parsing and layout parsing are supported.
6080
6107
  # Corresponds to the JSON property `parsingConfigOverrides`
6081
6108
  # @return [Hash<String,Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig>]
6082
6109
  attr_accessor :parsing_config_overrides
@@ -6866,6 +6893,181 @@ module Google
6866
6893
  end
6867
6894
  end
6868
6895
 
6896
+ # An evaluation is a single execution (or run) of an evaluation process. It
6897
+ # encapsulates the state of the evaluation and the resulting data.
6898
+ class GoogleCloudDiscoveryengineV1alphaEvaluation
6899
+ include Google::Apis::Core::Hashable
6900
+
6901
+ # Output only. Timestamp the Evaluation was created at.
6902
+ # Corresponds to the JSON property `createTime`
6903
+ # @return [String]
6904
+ attr_accessor :create_time
6905
+
6906
+ # Output only. Timestamp the Evaluation was completed at.
6907
+ # Corresponds to the JSON property `endTime`
6908
+ # @return [String]
6909
+ attr_accessor :end_time
6910
+
6911
+ # The `Status` type defines a logical error model that is suitable for different
6912
+ # programming environments, including REST APIs and RPC APIs. It is used by [
6913
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
6914
+ # data: error code, error message, and error details. You can find out more
6915
+ # about this error model and how to work with it in the [API Design Guide](https:
6916
+ # //cloud.google.com/apis/design/errors).
6917
+ # Corresponds to the JSON property `error`
6918
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleRpcStatus]
6919
+ attr_accessor :error
6920
+
6921
+ # Output only. A sample of errors encountered while processing the request.
6922
+ # Corresponds to the JSON property `errorSamples`
6923
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleRpcStatus>]
6924
+ attr_accessor :error_samples
6925
+
6926
+ # Describes the specification of the evaluation.
6927
+ # Corresponds to the JSON property `evaluationSpec`
6928
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec]
6929
+ attr_accessor :evaluation_spec
6930
+
6931
+ # Immutable. The full resource name of the Evaluation, in the format of `
6932
+ # projects/`project`/locations/`location`/evaluations/`evaluation``. This field
6933
+ # must be a UTF-8 encoded string with a length limit of 1024 characters.
6934
+ # Corresponds to the JSON property `name`
6935
+ # @return [String]
6936
+ attr_accessor :name
6937
+
6938
+ # Describes the metrics produced by the evaluation.
6939
+ # Corresponds to the JSON property `qualityMetrics`
6940
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQualityMetrics]
6941
+ attr_accessor :quality_metrics
6942
+
6943
+ # Output only. The state of the evaluation.
6944
+ # Corresponds to the JSON property `state`
6945
+ # @return [String]
6946
+ attr_accessor :state
6947
+
6948
+ def initialize(**args)
6949
+ update!(**args)
6950
+ end
6951
+
6952
+ # Update properties of this object
6953
+ def update!(**args)
6954
+ @create_time = args[:create_time] if args.key?(:create_time)
6955
+ @end_time = args[:end_time] if args.key?(:end_time)
6956
+ @error = args[:error] if args.key?(:error)
6957
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
6958
+ @evaluation_spec = args[:evaluation_spec] if args.key?(:evaluation_spec)
6959
+ @name = args[:name] if args.key?(:name)
6960
+ @quality_metrics = args[:quality_metrics] if args.key?(:quality_metrics)
6961
+ @state = args[:state] if args.key?(:state)
6962
+ end
6963
+ end
6964
+
6965
+ # Describes the specification of the evaluation.
6966
+ class GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec
6967
+ include Google::Apis::Core::Hashable
6968
+
6969
+ # Describes the specification of the query set.
6970
+ # Corresponds to the JSON property `querySetSpec`
6971
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec]
6972
+ attr_accessor :query_set_spec
6973
+
6974
+ # Request message for SearchService.Search method.
6975
+ # Corresponds to the JSON property `searchRequest`
6976
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequest]
6977
+ attr_accessor :search_request
6978
+
6979
+ def initialize(**args)
6980
+ update!(**args)
6981
+ end
6982
+
6983
+ # Update properties of this object
6984
+ def update!(**args)
6985
+ @query_set_spec = args[:query_set_spec] if args.key?(:query_set_spec)
6986
+ @search_request = args[:search_request] if args.key?(:search_request)
6987
+ end
6988
+ end
6989
+
6990
+ # Describes the specification of the query set.
6991
+ class GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec
6992
+ include Google::Apis::Core::Hashable
6993
+
6994
+ # Required. The full resource name of the SampleQuerySet used for the evaluation,
6995
+ # in the format of `projects/`project`/locations/`location`/sampleQuerySets/`
6996
+ # sampleQuerySet``.
6997
+ # Corresponds to the JSON property `sampleQuerySet`
6998
+ # @return [String]
6999
+ attr_accessor :sample_query_set
7000
+
7001
+ def initialize(**args)
7002
+ update!(**args)
7003
+ end
7004
+
7005
+ # Update properties of this object
7006
+ def update!(**args)
7007
+ @sample_query_set = args[:sample_query_set] if args.key?(:sample_query_set)
7008
+ end
7009
+ end
7010
+
7011
+ # Metadata related to the progress of the Export operation. This is returned by
7012
+ # the google.longrunning.Operation.metadata field.
7013
+ class GoogleCloudDiscoveryengineV1alphaExportUserEventsMetadata
7014
+ include Google::Apis::Core::Hashable
7015
+
7016
+ # Operation create time.
7017
+ # Corresponds to the JSON property `createTime`
7018
+ # @return [String]
7019
+ attr_accessor :create_time
7020
+
7021
+ # Operation last update time. If the operation is done, this is also the finish
7022
+ # time.
7023
+ # Corresponds to the JSON property `updateTime`
7024
+ # @return [String]
7025
+ attr_accessor :update_time
7026
+
7027
+ def initialize(**args)
7028
+ update!(**args)
7029
+ end
7030
+
7031
+ # Update properties of this object
7032
+ def update!(**args)
7033
+ @create_time = args[:create_time] if args.key?(:create_time)
7034
+ @update_time = args[:update_time] if args.key?(:update_time)
7035
+ end
7036
+ end
7037
+
7038
+ # Response of the ExportUserEventsRequest. If the long running operation was
7039
+ # successful, then this message is returned by the google.longrunning.Operations.
7040
+ # response field.
7041
+ class GoogleCloudDiscoveryengineV1alphaExportUserEventsResponse
7042
+ include Google::Apis::Core::Hashable
7043
+
7044
+ # Output result that stores the information about where the exported data is
7045
+ # stored.
7046
+ # Corresponds to the JSON property `outputResult`
7047
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaOutputResult]
7048
+ attr_accessor :output_result
7049
+
7050
+ # The `Status` type defines a logical error model that is suitable for different
7051
+ # programming environments, including REST APIs and RPC APIs. It is used by [
7052
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
7053
+ # data: error code, error message, and error details. You can find out more
7054
+ # about this error model and how to work with it in the [API Design Guide](https:
7055
+ # //cloud.google.com/apis/design/errors).
7056
+ # Corresponds to the JSON property `status`
7057
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleRpcStatus]
7058
+ attr_accessor :status
7059
+
7060
+ def initialize(**args)
7061
+ update!(**args)
7062
+ end
7063
+
7064
+ # Update properties of this object
7065
+ def update!(**args)
7066
+ @output_result = args[:output_result] if args.key?(:output_result)
7067
+ @status = args[:status] if args.key?(:status)
7068
+ end
7069
+ end
7070
+
6869
7071
  # Fact Chunk.
6870
7072
  class GoogleCloudDiscoveryengineV1alphaFactChunk
6871
7073
  include Google::Apis::Core::Hashable
@@ -7191,6 +7393,27 @@ module Google
7191
7393
  end
7192
7394
  end
7193
7395
 
7396
+ # Response message for SiteSearchEngineService.GetUriPatternDocumentData method.
7397
+ class GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse
7398
+ include Google::Apis::Core::Hashable
7399
+
7400
+ # Document data keyed by URI pattern. For example: document_data_map = ` "www.
7401
+ # url1.com/*": ` "Categories": ["category1", "category2"] `, "www.url2.com/*": `
7402
+ # "Categories": ["category3"] ` `
7403
+ # Corresponds to the JSON property `documentDataMap`
7404
+ # @return [Hash<String,Hash<String,Object>>]
7405
+ attr_accessor :document_data_map
7406
+
7407
+ def initialize(**args)
7408
+ update!(**args)
7409
+ end
7410
+
7411
+ # Update properties of this object
7412
+ def update!(**args)
7413
+ @document_data_map = args[:document_data_map] if args.key?(:document_data_map)
7414
+ end
7415
+ end
7416
+
7194
7417
  # Grounding Fact.
7195
7418
  class GoogleCloudDiscoveryengineV1alphaGroundingFact
7196
7419
  include Google::Apis::Core::Hashable
@@ -7655,18 +7878,33 @@ module Google
7655
7878
  end
7656
7879
  end
7657
7880
 
7658
- # Metadata related to the progress of the ImportSuggestionDenyListEntries
7659
- # operation. This is returned by the google.longrunning.Operation.metadata field.
7660
- class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata
7881
+ # Metadata related to the progress of the ImportSampleQueries operation. This
7882
+ # will be returned by the google.longrunning.Operation.metadata field.
7883
+ class GoogleCloudDiscoveryengineV1alphaImportSampleQueriesMetadata
7661
7884
  include Google::Apis::Core::Hashable
7662
7885
 
7663
- # Operation create time.
7886
+ # ImportSampleQueries operation create time.
7664
7887
  # Corresponds to the JSON property `createTime`
7665
7888
  # @return [String]
7666
7889
  attr_accessor :create_time
7667
7890
 
7668
- # Operation last update time. If the operation is done, this is also the finish
7669
- # time.
7891
+ # Count of SampleQuerys that failed to be imported.
7892
+ # Corresponds to the JSON property `failureCount`
7893
+ # @return [Fixnum]
7894
+ attr_accessor :failure_count
7895
+
7896
+ # Count of SampleQuerys successfully imported.
7897
+ # Corresponds to the JSON property `successCount`
7898
+ # @return [Fixnum]
7899
+ attr_accessor :success_count
7900
+
7901
+ # Total count of SampleQuerys that were processed.
7902
+ # Corresponds to the JSON property `totalCount`
7903
+ # @return [Fixnum]
7904
+ attr_accessor :total_count
7905
+
7906
+ # ImportSampleQueries operation last update time. If the operation is done, this
7907
+ # is also the finish time.
7670
7908
  # Corresponds to the JSON property `updateTime`
7671
7909
  # @return [String]
7672
7910
  attr_accessor :update_time
@@ -7678,22 +7916,35 @@ module Google
7678
7916
  # Update properties of this object
7679
7917
  def update!(**args)
7680
7918
  @create_time = args[:create_time] if args.key?(:create_time)
7919
+ @failure_count = args[:failure_count] if args.key?(:failure_count)
7920
+ @success_count = args[:success_count] if args.key?(:success_count)
7921
+ @total_count = args[:total_count] if args.key?(:total_count)
7681
7922
  @update_time = args[:update_time] if args.key?(:update_time)
7682
7923
  end
7683
7924
  end
7684
7925
 
7685
- # Request message for CompletionService.ImportSuggestionDenyListEntries method.
7686
- class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequest
7926
+ # Request message for SampleQueryService.ImportSampleQueries method.
7927
+ class GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequest
7687
7928
  include Google::Apis::Core::Hashable
7688
7929
 
7930
+ # BigQuery source import data from.
7931
+ # Corresponds to the JSON property `bigquerySource`
7932
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaBigQuerySource]
7933
+ attr_accessor :bigquery_source
7934
+
7935
+ # Configuration of destination for Import related errors.
7936
+ # Corresponds to the JSON property `errorConfig`
7937
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaImportErrorConfig]
7938
+ attr_accessor :error_config
7939
+
7689
7940
  # Cloud Storage location for input content.
7690
7941
  # Corresponds to the JSON property `gcsSource`
7691
7942
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaGcsSource]
7692
7943
  attr_accessor :gcs_source
7693
7944
 
7694
- # The inline source for SuggestionDenyListEntry.
7945
+ # The inline source for SampleQuerys.
7695
7946
  # Corresponds to the JSON property `inlineSource`
7696
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequestInlineSource]
7947
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequestInlineSource]
7697
7948
  attr_accessor :inline_source
7698
7949
 
7699
7950
  def initialize(**args)
@@ -7702,19 +7953,21 @@ module Google
7702
7953
 
7703
7954
  # Update properties of this object
7704
7955
  def update!(**args)
7956
+ @bigquery_source = args[:bigquery_source] if args.key?(:bigquery_source)
7957
+ @error_config = args[:error_config] if args.key?(:error_config)
7705
7958
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
7706
7959
  @inline_source = args[:inline_source] if args.key?(:inline_source)
7707
7960
  end
7708
7961
  end
7709
7962
 
7710
- # The inline source for SuggestionDenyListEntry.
7711
- class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequestInlineSource
7963
+ # The inline source for SampleQuerys.
7964
+ class GoogleCloudDiscoveryengineV1alphaImportSampleQueriesRequestInlineSource
7712
7965
  include Google::Apis::Core::Hashable
7713
7966
 
7714
- # Required. A list of all denylist entries to import. Max of 1000 items.
7715
- # Corresponds to the JSON property `entries`
7716
- # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSuggestionDenyListEntry>]
7717
- attr_accessor :entries
7967
+ # Required. A list of SampleQuerys to import. Max of 1000 items.
7968
+ # Corresponds to the JSON property `sampleQueries`
7969
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSampleQuery>]
7970
+ attr_accessor :sample_queries
7718
7971
 
7719
7972
  def initialize(**args)
7720
7973
  update!(**args)
@@ -7722,44 +7975,40 @@ module Google
7722
7975
 
7723
7976
  # Update properties of this object
7724
7977
  def update!(**args)
7725
- @entries = args[:entries] if args.key?(:entries)
7978
+ @sample_queries = args[:sample_queries] if args.key?(:sample_queries)
7726
7979
  end
7727
7980
  end
7728
7981
 
7729
- # Response message for CompletionService.ImportSuggestionDenyListEntries method.
7730
- class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesResponse
7982
+ # Response of the SampleQueryService.ImportSampleQueries method. If the long
7983
+ # running operation is done, this message is returned by the google.longrunning.
7984
+ # Operations.response field if the operation is successful.
7985
+ class GoogleCloudDiscoveryengineV1alphaImportSampleQueriesResponse
7731
7986
  include Google::Apis::Core::Hashable
7732
7987
 
7988
+ # Configuration of destination for Import related errors.
7989
+ # Corresponds to the JSON property `errorConfig`
7990
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaImportErrorConfig]
7991
+ attr_accessor :error_config
7992
+
7733
7993
  # A sample of errors encountered while processing the request.
7734
7994
  # Corresponds to the JSON property `errorSamples`
7735
7995
  # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleRpcStatus>]
7736
7996
  attr_accessor :error_samples
7737
7997
 
7738
- # Count of deny list entries that failed to be imported.
7739
- # Corresponds to the JSON property `failedEntriesCount`
7740
- # @return [Fixnum]
7741
- attr_accessor :failed_entries_count
7742
-
7743
- # Count of deny list entries successfully imported.
7744
- # Corresponds to the JSON property `importedEntriesCount`
7745
- # @return [Fixnum]
7746
- attr_accessor :imported_entries_count
7747
-
7748
7998
  def initialize(**args)
7749
7999
  update!(**args)
7750
8000
  end
7751
8001
 
7752
8002
  # Update properties of this object
7753
8003
  def update!(**args)
8004
+ @error_config = args[:error_config] if args.key?(:error_config)
7754
8005
  @error_samples = args[:error_samples] if args.key?(:error_samples)
7755
- @failed_entries_count = args[:failed_entries_count] if args.key?(:failed_entries_count)
7756
- @imported_entries_count = args[:imported_entries_count] if args.key?(:imported_entries_count)
7757
8006
  end
7758
8007
  end
7759
8008
 
7760
- # Metadata related to the progress of the Import operation. This is returned by
7761
- # the google.longrunning.Operation.metadata field.
7762
- class GoogleCloudDiscoveryengineV1alphaImportUserEventsMetadata
8009
+ # Metadata related to the progress of the ImportSuggestionDenyListEntries
8010
+ # operation. This is returned by the google.longrunning.Operation.metadata field.
8011
+ class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata
7763
8012
  include Google::Apis::Core::Hashable
7764
8013
 
7765
8014
  # Operation create time.
@@ -7767,16 +8016,6 @@ module Google
7767
8016
  # @return [String]
7768
8017
  attr_accessor :create_time
7769
8018
 
7770
- # Count of entries that encountered errors while processing.
7771
- # Corresponds to the JSON property `failureCount`
7772
- # @return [Fixnum]
7773
- attr_accessor :failure_count
7774
-
7775
- # Count of entries that were processed successfully.
7776
- # Corresponds to the JSON property `successCount`
7777
- # @return [Fixnum]
7778
- attr_accessor :success_count
7779
-
7780
8019
  # Operation last update time. If the operation is done, this is also the finish
7781
8020
  # time.
7782
8021
  # Corresponds to the JSON property `updateTime`
@@ -7790,32 +8029,144 @@ module Google
7790
8029
  # Update properties of this object
7791
8030
  def update!(**args)
7792
8031
  @create_time = args[:create_time] if args.key?(:create_time)
7793
- @failure_count = args[:failure_count] if args.key?(:failure_count)
7794
- @success_count = args[:success_count] if args.key?(:success_count)
7795
8032
  @update_time = args[:update_time] if args.key?(:update_time)
7796
8033
  end
7797
8034
  end
7798
8035
 
7799
- # Request message for the ImportUserEvents request.
7800
- class GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest
8036
+ # Request message for CompletionService.ImportSuggestionDenyListEntries method.
8037
+ class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequest
7801
8038
  include Google::Apis::Core::Hashable
7802
8039
 
7803
- # BigQuery source import data from.
7804
- # Corresponds to the JSON property `bigquerySource`
7805
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaBigQuerySource]
7806
- attr_accessor :bigquery_source
7807
-
7808
- # Configuration of destination for Import related errors.
7809
- # Corresponds to the JSON property `errorConfig`
7810
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaImportErrorConfig]
7811
- attr_accessor :error_config
7812
-
7813
8040
  # Cloud Storage location for input content.
7814
8041
  # Corresponds to the JSON property `gcsSource`
7815
8042
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaGcsSource]
7816
8043
  attr_accessor :gcs_source
7817
8044
 
7818
- # The inline source for the input config for ImportUserEvents method.
8045
+ # The inline source for SuggestionDenyListEntry.
8046
+ # Corresponds to the JSON property `inlineSource`
8047
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequestInlineSource]
8048
+ attr_accessor :inline_source
8049
+
8050
+ def initialize(**args)
8051
+ update!(**args)
8052
+ end
8053
+
8054
+ # Update properties of this object
8055
+ def update!(**args)
8056
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
8057
+ @inline_source = args[:inline_source] if args.key?(:inline_source)
8058
+ end
8059
+ end
8060
+
8061
+ # The inline source for SuggestionDenyListEntry.
8062
+ class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesRequestInlineSource
8063
+ include Google::Apis::Core::Hashable
8064
+
8065
+ # Required. A list of all denylist entries to import. Max of 1000 items.
8066
+ # Corresponds to the JSON property `entries`
8067
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSuggestionDenyListEntry>]
8068
+ attr_accessor :entries
8069
+
8070
+ def initialize(**args)
8071
+ update!(**args)
8072
+ end
8073
+
8074
+ # Update properties of this object
8075
+ def update!(**args)
8076
+ @entries = args[:entries] if args.key?(:entries)
8077
+ end
8078
+ end
8079
+
8080
+ # Response message for CompletionService.ImportSuggestionDenyListEntries method.
8081
+ class GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesResponse
8082
+ include Google::Apis::Core::Hashable
8083
+
8084
+ # A sample of errors encountered while processing the request.
8085
+ # Corresponds to the JSON property `errorSamples`
8086
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleRpcStatus>]
8087
+ attr_accessor :error_samples
8088
+
8089
+ # Count of deny list entries that failed to be imported.
8090
+ # Corresponds to the JSON property `failedEntriesCount`
8091
+ # @return [Fixnum]
8092
+ attr_accessor :failed_entries_count
8093
+
8094
+ # Count of deny list entries successfully imported.
8095
+ # Corresponds to the JSON property `importedEntriesCount`
8096
+ # @return [Fixnum]
8097
+ attr_accessor :imported_entries_count
8098
+
8099
+ def initialize(**args)
8100
+ update!(**args)
8101
+ end
8102
+
8103
+ # Update properties of this object
8104
+ def update!(**args)
8105
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
8106
+ @failed_entries_count = args[:failed_entries_count] if args.key?(:failed_entries_count)
8107
+ @imported_entries_count = args[:imported_entries_count] if args.key?(:imported_entries_count)
8108
+ end
8109
+ end
8110
+
8111
+ # Metadata related to the progress of the Import operation. This is returned by
8112
+ # the google.longrunning.Operation.metadata field.
8113
+ class GoogleCloudDiscoveryengineV1alphaImportUserEventsMetadata
8114
+ include Google::Apis::Core::Hashable
8115
+
8116
+ # Operation create time.
8117
+ # Corresponds to the JSON property `createTime`
8118
+ # @return [String]
8119
+ attr_accessor :create_time
8120
+
8121
+ # Count of entries that encountered errors while processing.
8122
+ # Corresponds to the JSON property `failureCount`
8123
+ # @return [Fixnum]
8124
+ attr_accessor :failure_count
8125
+
8126
+ # Count of entries that were processed successfully.
8127
+ # Corresponds to the JSON property `successCount`
8128
+ # @return [Fixnum]
8129
+ attr_accessor :success_count
8130
+
8131
+ # Operation last update time. If the operation is done, this is also the finish
8132
+ # time.
8133
+ # Corresponds to the JSON property `updateTime`
8134
+ # @return [String]
8135
+ attr_accessor :update_time
8136
+
8137
+ def initialize(**args)
8138
+ update!(**args)
8139
+ end
8140
+
8141
+ # Update properties of this object
8142
+ def update!(**args)
8143
+ @create_time = args[:create_time] if args.key?(:create_time)
8144
+ @failure_count = args[:failure_count] if args.key?(:failure_count)
8145
+ @success_count = args[:success_count] if args.key?(:success_count)
8146
+ @update_time = args[:update_time] if args.key?(:update_time)
8147
+ end
8148
+ end
8149
+
8150
+ # Request message for the ImportUserEvents request.
8151
+ class GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest
8152
+ include Google::Apis::Core::Hashable
8153
+
8154
+ # BigQuery source import data from.
8155
+ # Corresponds to the JSON property `bigquerySource`
8156
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaBigQuerySource]
8157
+ attr_accessor :bigquery_source
8158
+
8159
+ # Configuration of destination for Import related errors.
8160
+ # Corresponds to the JSON property `errorConfig`
8161
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaImportErrorConfig]
8162
+ attr_accessor :error_config
8163
+
8164
+ # Cloud Storage location for input content.
8165
+ # Corresponds to the JSON property `gcsSource`
8166
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaGcsSource]
8167
+ attr_accessor :gcs_source
8168
+
8169
+ # The inline source for the input config for ImportUserEvents method.
7819
8170
  # Corresponds to the JSON property `inlineSource`
7820
8171
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaImportUserEventsRequestInlineSource]
7821
8172
  attr_accessor :inline_source
@@ -8142,6 +8493,136 @@ module Google
8142
8493
  end
8143
8494
  end
8144
8495
 
8496
+ # Response message for EvaluationService.ListEvaluationResults method.
8497
+ class GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponse
8498
+ include Google::Apis::Core::Hashable
8499
+
8500
+ # The EvaluationResults.
8501
+ # Corresponds to the JSON property `evaluationResults`
8502
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponseEvaluationResult>]
8503
+ attr_accessor :evaluation_results
8504
+
8505
+ # A token that can be sent as ListEvaluationResultsRequest.page_token to
8506
+ # retrieve the next page. If this field is omitted, there are no subsequent
8507
+ # pages.
8508
+ # Corresponds to the JSON property `nextPageToken`
8509
+ # @return [String]
8510
+ attr_accessor :next_page_token
8511
+
8512
+ def initialize(**args)
8513
+ update!(**args)
8514
+ end
8515
+
8516
+ # Update properties of this object
8517
+ def update!(**args)
8518
+ @evaluation_results = args[:evaluation_results] if args.key?(:evaluation_results)
8519
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8520
+ end
8521
+ end
8522
+
8523
+ # Represents the results of an evaluation for a single SampleQuery.
8524
+ class GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponseEvaluationResult
8525
+ include Google::Apis::Core::Hashable
8526
+
8527
+ # Describes the metrics produced by the evaluation.
8528
+ # Corresponds to the JSON property `qualityMetrics`
8529
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQualityMetrics]
8530
+ attr_accessor :quality_metrics
8531
+
8532
+ # Sample Query captures metadata to be used for evaluation.
8533
+ # Corresponds to the JSON property `sampleQuery`
8534
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSampleQuery]
8535
+ attr_accessor :sample_query
8536
+
8537
+ def initialize(**args)
8538
+ update!(**args)
8539
+ end
8540
+
8541
+ # Update properties of this object
8542
+ def update!(**args)
8543
+ @quality_metrics = args[:quality_metrics] if args.key?(:quality_metrics)
8544
+ @sample_query = args[:sample_query] if args.key?(:sample_query)
8545
+ end
8546
+ end
8547
+
8548
+ # Response message for EvaluationService.ListEvaluations method.
8549
+ class GoogleCloudDiscoveryengineV1alphaListEvaluationsResponse
8550
+ include Google::Apis::Core::Hashable
8551
+
8552
+ # The Evaluations.
8553
+ # Corresponds to the JSON property `evaluations`
8554
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEvaluation>]
8555
+ attr_accessor :evaluations
8556
+
8557
+ # A token that can be sent as ListEvaluationsRequest.page_token to retrieve the
8558
+ # next page. If this field is omitted, there are no subsequent pages.
8559
+ # Corresponds to the JSON property `nextPageToken`
8560
+ # @return [String]
8561
+ attr_accessor :next_page_token
8562
+
8563
+ def initialize(**args)
8564
+ update!(**args)
8565
+ end
8566
+
8567
+ # Update properties of this object
8568
+ def update!(**args)
8569
+ @evaluations = args[:evaluations] if args.key?(:evaluations)
8570
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8571
+ end
8572
+ end
8573
+
8574
+ # Response message for SampleQueryService.ListSampleQueries method.
8575
+ class GoogleCloudDiscoveryengineV1alphaListSampleQueriesResponse
8576
+ include Google::Apis::Core::Hashable
8577
+
8578
+ # A token that can be sent as ListSampleQueriesRequest.page_token to retrieve
8579
+ # the next page. If this field is omitted, there are no subsequent pages.
8580
+ # Corresponds to the JSON property `nextPageToken`
8581
+ # @return [String]
8582
+ attr_accessor :next_page_token
8583
+
8584
+ # The SampleQuerys.
8585
+ # Corresponds to the JSON property `sampleQueries`
8586
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSampleQuery>]
8587
+ attr_accessor :sample_queries
8588
+
8589
+ def initialize(**args)
8590
+ update!(**args)
8591
+ end
8592
+
8593
+ # Update properties of this object
8594
+ def update!(**args)
8595
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8596
+ @sample_queries = args[:sample_queries] if args.key?(:sample_queries)
8597
+ end
8598
+ end
8599
+
8600
+ # Response message for SampleQuerySetService.ListSampleQuerySets method.
8601
+ class GoogleCloudDiscoveryengineV1alphaListSampleQuerySetsResponse
8602
+ include Google::Apis::Core::Hashable
8603
+
8604
+ # A token that can be sent as ListSampleQuerySetsRequest.page_token to retrieve
8605
+ # the next page. If this field is omitted, there are no subsequent pages.
8606
+ # Corresponds to the JSON property `nextPageToken`
8607
+ # @return [String]
8608
+ attr_accessor :next_page_token
8609
+
8610
+ # The SampleQuerySets.
8611
+ # Corresponds to the JSON property `sampleQuerySets`
8612
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSampleQuerySet>]
8613
+ attr_accessor :sample_query_sets
8614
+
8615
+ def initialize(**args)
8616
+ update!(**args)
8617
+ end
8618
+
8619
+ # Update properties of this object
8620
+ def update!(**args)
8621
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8622
+ @sample_query_sets = args[:sample_query_sets] if args.key?(:sample_query_sets)
8623
+ end
8624
+ end
8625
+
8145
8626
  # Response message for SchemaService.ListSchemas method.
8146
8627
  class GoogleCloudDiscoveryengineV1alphaListSchemasResponse
8147
8628
  include Google::Apis::Core::Hashable
@@ -8281,6 +8762,51 @@ module Google
8281
8762
  end
8282
8763
  end
8283
8764
 
8765
+ # Output result that stores the information about where the exported data is
8766
+ # stored.
8767
+ class GoogleCloudDiscoveryengineV1alphaOutputResult
8768
+ include Google::Apis::Core::Hashable
8769
+
8770
+ # A BigQuery output result.
8771
+ # Corresponds to the JSON property `bigqueryResult`
8772
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaOutputResultBigQueryOutputResult]
8773
+ attr_accessor :bigquery_result
8774
+
8775
+ def initialize(**args)
8776
+ update!(**args)
8777
+ end
8778
+
8779
+ # Update properties of this object
8780
+ def update!(**args)
8781
+ @bigquery_result = args[:bigquery_result] if args.key?(:bigquery_result)
8782
+ end
8783
+ end
8784
+
8785
+ # A BigQuery output result.
8786
+ class GoogleCloudDiscoveryengineV1alphaOutputResultBigQueryOutputResult
8787
+ include Google::Apis::Core::Hashable
8788
+
8789
+ # The ID of a BigQuery Dataset.
8790
+ # Corresponds to the JSON property `datasetId`
8791
+ # @return [String]
8792
+ attr_accessor :dataset_id
8793
+
8794
+ # The ID of a BigQuery Table.
8795
+ # Corresponds to the JSON property `tableId`
8796
+ # @return [String]
8797
+ attr_accessor :table_id
8798
+
8799
+ def initialize(**args)
8800
+ update!(**args)
8801
+ end
8802
+
8803
+ # Update properties of this object
8804
+ def update!(**args)
8805
+ @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
8806
+ @table_id = args[:table_id] if args.key?(:table_id)
8807
+ end
8808
+ end
8809
+
8284
8810
  # Detailed page information.
8285
8811
  class GoogleCloudDiscoveryengineV1alphaPageInfo
8286
8812
  include Google::Apis::Core::Hashable
@@ -8944,19 +9470,34 @@ module Google
8944
9470
  end
8945
9471
  end
8946
9472
 
8947
- # Defines a user inputed query.
8948
- class GoogleCloudDiscoveryengineV1alphaQuery
9473
+ # Describes the metrics produced by the evaluation.
9474
+ class GoogleCloudDiscoveryengineV1alphaQualityMetrics
8949
9475
  include Google::Apis::Core::Hashable
8950
9476
 
8951
- # Unique Id for the query.
8952
- # Corresponds to the JSON property `queryId`
8953
- # @return [String]
8954
- attr_accessor :query_id
9477
+ # Stores the metric values at specific top-k levels.
9478
+ # Corresponds to the JSON property `docNdcg`
9479
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
9480
+ attr_accessor :doc_ndcg
8955
9481
 
8956
- # Plain text.
8957
- # Corresponds to the JSON property `text`
8958
- # @return [String]
8959
- attr_accessor :text
9482
+ # Stores the metric values at specific top-k levels.
9483
+ # Corresponds to the JSON property `docPrecision`
9484
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
9485
+ attr_accessor :doc_precision
9486
+
9487
+ # Stores the metric values at specific top-k levels.
9488
+ # Corresponds to the JSON property `docRecall`
9489
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
9490
+ attr_accessor :doc_recall
9491
+
9492
+ # Stores the metric values at specific top-k levels.
9493
+ # Corresponds to the JSON property `pageNdcg`
9494
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
9495
+ attr_accessor :page_ndcg
9496
+
9497
+ # Stores the metric values at specific top-k levels.
9498
+ # Corresponds to the JSON property `pageRecall`
9499
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics]
9500
+ attr_accessor :page_recall
8960
9501
 
8961
9502
  def initialize(**args)
8962
9503
  update!(**args)
@@ -8964,13 +9505,78 @@ module Google
8964
9505
 
8965
9506
  # Update properties of this object
8966
9507
  def update!(**args)
8967
- @query_id = args[:query_id] if args.key?(:query_id)
8968
- @text = args[:text] if args.key?(:text)
9508
+ @doc_ndcg = args[:doc_ndcg] if args.key?(:doc_ndcg)
9509
+ @doc_precision = args[:doc_precision] if args.key?(:doc_precision)
9510
+ @doc_recall = args[:doc_recall] if args.key?(:doc_recall)
9511
+ @page_ndcg = args[:page_ndcg] if args.key?(:page_ndcg)
9512
+ @page_recall = args[:page_recall] if args.key?(:page_recall)
8969
9513
  end
8970
9514
  end
8971
9515
 
8972
- # Request message for RankService.Rank method.
8973
- class GoogleCloudDiscoveryengineV1alphaRankRequest
9516
+ # Stores the metric values at specific top-k levels.
9517
+ class GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics
9518
+ include Google::Apis::Core::Hashable
9519
+
9520
+ # The top-1 value.
9521
+ # Corresponds to the JSON property `top1`
9522
+ # @return [Float]
9523
+ attr_accessor :top1
9524
+
9525
+ # The top-10 value.
9526
+ # Corresponds to the JSON property `top10`
9527
+ # @return [Float]
9528
+ attr_accessor :top10
9529
+
9530
+ # The top-3 value.
9531
+ # Corresponds to the JSON property `top3`
9532
+ # @return [Float]
9533
+ attr_accessor :top3
9534
+
9535
+ # The top-5 value.
9536
+ # Corresponds to the JSON property `top5`
9537
+ # @return [Float]
9538
+ attr_accessor :top5
9539
+
9540
+ def initialize(**args)
9541
+ update!(**args)
9542
+ end
9543
+
9544
+ # Update properties of this object
9545
+ def update!(**args)
9546
+ @top1 = args[:top1] if args.key?(:top1)
9547
+ @top10 = args[:top10] if args.key?(:top10)
9548
+ @top3 = args[:top3] if args.key?(:top3)
9549
+ @top5 = args[:top5] if args.key?(:top5)
9550
+ end
9551
+ end
9552
+
9553
+ # Defines a user inputed query.
9554
+ class GoogleCloudDiscoveryengineV1alphaQuery
9555
+ include Google::Apis::Core::Hashable
9556
+
9557
+ # Unique Id for the query.
9558
+ # Corresponds to the JSON property `queryId`
9559
+ # @return [String]
9560
+ attr_accessor :query_id
9561
+
9562
+ # Plain text.
9563
+ # Corresponds to the JSON property `text`
9564
+ # @return [String]
9565
+ attr_accessor :text
9566
+
9567
+ def initialize(**args)
9568
+ update!(**args)
9569
+ end
9570
+
9571
+ # Update properties of this object
9572
+ def update!(**args)
9573
+ @query_id = args[:query_id] if args.key?(:query_id)
9574
+ @text = args[:text] if args.key?(:text)
9575
+ end
9576
+ end
9577
+
9578
+ # Request message for RankService.Rank method.
9579
+ class GoogleCloudDiscoveryengineV1alphaRankRequest
8974
9580
  include Google::Apis::Core::Hashable
8975
9581
 
8976
9582
  # If true, the response will contain only record ID and score. By default, it is
@@ -9729,6 +10335,140 @@ module Google
9729
10335
  end
9730
10336
  end
9731
10337
 
10338
+ # Sample Query captures metadata to be used for evaluation.
10339
+ class GoogleCloudDiscoveryengineV1alphaSampleQuery
10340
+ include Google::Apis::Core::Hashable
10341
+
10342
+ # Output only. Timestamp the SampleQuery was created at.
10343
+ # Corresponds to the JSON property `createTime`
10344
+ # @return [String]
10345
+ attr_accessor :create_time
10346
+
10347
+ # Immutable. The full resource name of the sample query, in the format of `
10348
+ # projects/`project`/locations/`location`/sampleQuerySets/`sampleQuerySet`/
10349
+ # sampleQueries/`sampleQuery``. This field must be a UTF-8 encoded string with a
10350
+ # length limit of 1024 characters.
10351
+ # Corresponds to the JSON property `name`
10352
+ # @return [String]
10353
+ attr_accessor :name
10354
+
10355
+ # Query Entry captures metadata to be used for search evaluation.
10356
+ # Corresponds to the JSON property `queryEntry`
10357
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntry]
10358
+ attr_accessor :query_entry
10359
+
10360
+ def initialize(**args)
10361
+ update!(**args)
10362
+ end
10363
+
10364
+ # Update properties of this object
10365
+ def update!(**args)
10366
+ @create_time = args[:create_time] if args.key?(:create_time)
10367
+ @name = args[:name] if args.key?(:name)
10368
+ @query_entry = args[:query_entry] if args.key?(:query_entry)
10369
+ end
10370
+ end
10371
+
10372
+ # Query Entry captures metadata to be used for search evaluation.
10373
+ class GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntry
10374
+ include Google::Apis::Core::Hashable
10375
+
10376
+ # Required. The query.
10377
+ # Corresponds to the JSON property `query`
10378
+ # @return [String]
10379
+ attr_accessor :query
10380
+
10381
+ # List of targets for the query.
10382
+ # Corresponds to the JSON property `targets`
10383
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntryTarget>]
10384
+ attr_accessor :targets
10385
+
10386
+ def initialize(**args)
10387
+ update!(**args)
10388
+ end
10389
+
10390
+ # Update properties of this object
10391
+ def update!(**args)
10392
+ @query = args[:query] if args.key?(:query)
10393
+ @targets = args[:targets] if args.key?(:targets)
10394
+ end
10395
+ end
10396
+
10397
+ # Defines the parameters of the query's expected outcome.
10398
+ class GoogleCloudDiscoveryengineV1alphaSampleQueryQueryEntryTarget
10399
+ include Google::Apis::Core::Hashable
10400
+
10401
+ # Expected page numbers of the target. Each page number must be non negative.
10402
+ # Corresponds to the JSON property `pageNumbers`
10403
+ # @return [Array<Fixnum>]
10404
+ attr_accessor :page_numbers
10405
+
10406
+ # Relevance score of the target.
10407
+ # Corresponds to the JSON property `score`
10408
+ # @return [Float]
10409
+ attr_accessor :score
10410
+
10411
+ # Expected uri of the target. This field must be a UTF-8 encoded string with a
10412
+ # length limit of 2048 characters. Example of valid uris: `https://example.com/
10413
+ # abc`, `gcs://example/example.pdf`.
10414
+ # Corresponds to the JSON property `uri`
10415
+ # @return [String]
10416
+ attr_accessor :uri
10417
+
10418
+ def initialize(**args)
10419
+ update!(**args)
10420
+ end
10421
+
10422
+ # Update properties of this object
10423
+ def update!(**args)
10424
+ @page_numbers = args[:page_numbers] if args.key?(:page_numbers)
10425
+ @score = args[:score] if args.key?(:score)
10426
+ @uri = args[:uri] if args.key?(:uri)
10427
+ end
10428
+ end
10429
+
10430
+ # A SampleQuerySet is the parent resource of SampleQuery, and contains the
10431
+ # configurations shared by all SampleQuery under it.
10432
+ class GoogleCloudDiscoveryengineV1alphaSampleQuerySet
10433
+ include Google::Apis::Core::Hashable
10434
+
10435
+ # Output only. Timestamp the SampleQuerySet was created at.
10436
+ # Corresponds to the JSON property `createTime`
10437
+ # @return [String]
10438
+ attr_accessor :create_time
10439
+
10440
+ # The description of the SampleQuerySet.
10441
+ # Corresponds to the JSON property `description`
10442
+ # @return [String]
10443
+ attr_accessor :description
10444
+
10445
+ # Required. The sample query set display name. This field must be a UTF-8
10446
+ # encoded string with a length limit of 128 characters.
10447
+ # Corresponds to the JSON property `displayName`
10448
+ # @return [String]
10449
+ attr_accessor :display_name
10450
+
10451
+ # Immutable. The full resource name of the SampleQuerySet, in the format of `
10452
+ # projects/`project`/locations/`location`/sampleQuerySets/`sampleQuerySet``.
10453
+ # This field must be a UTF-8 encoded string with a length limit of 1024
10454
+ # characters.
10455
+ # Corresponds to the JSON property `name`
10456
+ # @return [String]
10457
+ attr_accessor :name
10458
+
10459
+ def initialize(**args)
10460
+ update!(**args)
10461
+ end
10462
+
10463
+ # Update properties of this object
10464
+ def update!(**args)
10465
+ @create_time = args[:create_time] if args.key?(:create_time)
10466
+ @description = args[:description] if args.key?(:description)
10467
+ @display_name = args[:display_name] if args.key?(:display_name)
10468
+ @name = args[:name] if args.key?(:name)
10469
+ end
10470
+ end
10471
+
9732
10472
  # Defines the structure and layout of a type of document data.
9733
10473
  class GoogleCloudDiscoveryengineV1alphaSchema
9734
10474
  include Google::Apis::Core::Hashable
@@ -9902,6 +10642,12 @@ module Google
9902
10642
  # @return [String]
9903
10643
  attr_accessor :language_code
9904
10644
 
10645
+ # Specification to enable natural language understanding capabilities for search
10646
+ # requests.
10647
+ # Corresponds to the JSON property `naturalLanguageQueryUnderstandingSpec`
10648
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec]
10649
+ attr_accessor :natural_language_query_understanding_spec
10650
+
9905
10651
  # A 0-indexed integer that specifies the current offset (that is, starting
9906
10652
  # result location, amongst the Documents deemed by the API as relevant) in
9907
10653
  # search results. This field is only considered if page_token is unset. If this
@@ -9960,15 +10706,16 @@ module Google
9960
10706
 
9961
10707
  # The ranking expression controls the customized ranking on retrieval documents.
9962
10708
  # This overrides ServingConfig.ranking_expression. The ranking expression is a
9963
- # single function or multiple functions that are joint by "+". *
10709
+ # single function or multiple functions that are joined by "+". *
9964
10710
  # ranking_expression = function, ` " + ", function `; Supported functions: *
9965
10711
  # double * relevance_score * double * dotProduct(embedding_field_path) Function
9966
- # variables: `relevance_score`: pre-defined keywords, used for measure relevance
9967
- # between query and document. `embedding_field_path`: the document embedding
9968
- # field used with query embedding vector. `dotProduct`: embedding function
9969
- # between embedding_field_path and query embedding vector. Example ranking
9970
- # expression: If document has an embedding field doc_embedding, the ranking
9971
- # expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.
10712
+ # variables: * `relevance_score`: pre-defined keywords, used for measure
10713
+ # relevance between query and document. * `embedding_field_path`: the document
10714
+ # embedding field used with query embedding vector. * `dotProduct`: embedding
10715
+ # function between embedding_field_path and query embedding vector. Example
10716
+ # ranking expression: If document has an embedding field doc_embedding, the
10717
+ # ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(
10718
+ # doc_embedding)`.
9972
10719
  # Corresponds to the JSON property `rankingExpression`
9973
10720
  # @return [String]
9974
10721
  attr_accessor :ranking_expression
@@ -9999,6 +10746,44 @@ module Google
9999
10746
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec]
10000
10747
  attr_accessor :search_as_you_type_spec
10001
10748
 
10749
+ # Required. The resource name of the Search serving config, such as `projects/*/
10750
+ # locations/global/collections/default_collection/engines/*/servingConfigs/
10751
+ # default_serving_config`, or `projects/*/locations/global/collections/
10752
+ # default_collection/dataStores/default_data_store/servingConfigs/
10753
+ # default_serving_config`. This field is used to identify the serving
10754
+ # configuration name, set of models used to make the search.
10755
+ # Corresponds to the JSON property `servingConfig`
10756
+ # @return [String]
10757
+ attr_accessor :serving_config
10758
+
10759
+ # The session resource name. Optional. Session allows users to do multi-turn /
10760
+ # search API calls or coordination between /search API calls and /answer API
10761
+ # calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the
10762
+ # auto-session mode (see below). 2. Call /search API with the session ID
10763
+ # generated in the first call. Here, the previous search query gets considered
10764
+ # in query standing. I.e., if the first query is "How did Alphabet do in 2022?"
10765
+ # and the current query is "How about 2023?", the current query will be
10766
+ # interpreted as "How did Alphabet do in 2023?". Example #2 (coordination
10767
+ # between /search API calls and /answer API calls): 1. Call /search API with the
10768
+ # auto-session mode (see below). 2. Call /answer API with the session ID
10769
+ # generated in the first call. Here, the answer generation happens in the
10770
+ # context of the search results from the first search call. Auto-session mode:
10771
+ # when `projects/.../sessions/-` is used, a new session gets automatically
10772
+ # created. Otherwise, users can use the create-session API to create a session
10773
+ # manually. Multi-turn Search feature is currently at private GA stage. Please
10774
+ # use v1alpha or v1beta version instead before we launch this feature to public
10775
+ # GA. Or ask for allowlisting through Google Support team.
10776
+ # Corresponds to the JSON property `session`
10777
+ # @return [String]
10778
+ attr_accessor :session
10779
+
10780
+ # Session specification. Multi-turn Search feature is currently at private GA
10781
+ # stage. Please use v1alpha or v1beta version instead before we launch this
10782
+ # feature to public GA. Or ask for allowlisting through Google Support team.
10783
+ # Corresponds to the JSON property `sessionSpec`
10784
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec]
10785
+ attr_accessor :session_spec
10786
+
10002
10787
  # The specification for query spell correction.
10003
10788
  # Corresponds to the JSON property `spellCorrectionSpec`
10004
10789
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec]
@@ -10053,6 +10838,7 @@ module Google
10053
10838
  @filter = args[:filter] if args.key?(:filter)
10054
10839
  @image_query = args[:image_query] if args.key?(:image_query)
10055
10840
  @language_code = args[:language_code] if args.key?(:language_code)
10841
+ @natural_language_query_understanding_spec = args[:natural_language_query_understanding_spec] if args.key?(:natural_language_query_understanding_spec)
10056
10842
  @offset = args[:offset] if args.key?(:offset)
10057
10843
  @order_by = args[:order_by] if args.key?(:order_by)
10058
10844
  @page_size = args[:page_size] if args.key?(:page_size)
@@ -10065,6 +10851,9 @@ module Google
10065
10851
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
10066
10852
  @safe_search = args[:safe_search] if args.key?(:safe_search)
10067
10853
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
10854
+ @serving_config = args[:serving_config] if args.key?(:serving_config)
10855
+ @session = args[:session] if args.key?(:session)
10856
+ @session_spec = args[:session_spec] if args.key?(:session_spec)
10068
10857
  @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
10069
10858
  @user_info = args[:user_info] if args.key?(:user_info)
10070
10859
  @user_labels = args[:user_labels] if args.key?(:user_labels)
@@ -10236,10 +11025,8 @@ module Google
10236
11025
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec]
10237
11026
  attr_accessor :extractive_content_spec
10238
11027
 
10239
- # Specifies the search result mode. If unspecified, the search result mode is
10240
- # based on DataStore.DocumentProcessingConfig.chunking_config: * If DataStore.
10241
- # DocumentProcessingConfig.chunking_config is specified, it defaults to `CHUNKS`.
10242
- # * Otherwise, it defaults to `DOCUMENTS`.
11028
+ # Specifies the search result mode. If unspecified, the search result mode
11029
+ # defaults to `DOCUMENTS`.
10243
11030
  # Corresponds to the JSON property `searchResultMode`
10244
11031
  # @return [String]
10245
11032
  attr_accessor :search_result_mode
@@ -10539,8 +11326,8 @@ module Google
10539
11326
  end
10540
11327
 
10541
11328
  # A struct to define data stores to filter on in a search call and
10542
- # configurations for those data stores. A maximum of 1 DataStoreSpec per
10543
- # data_store is allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.
11329
+ # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
11330
+ # is returned.
10544
11331
  class GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec
10545
11332
  include Google::Apis::Core::Hashable
10546
11333
 
@@ -10774,6 +11561,37 @@ module Google
10774
11561
  end
10775
11562
  end
10776
11563
 
11564
+ # Specification to enable natural language understanding capabilities for search
11565
+ # requests.
11566
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec
11567
+ include Google::Apis::Core::Hashable
11568
+
11569
+ # The condition under which filter extraction should occur. Default to Condition.
11570
+ # DISABLED.
11571
+ # Corresponds to the JSON property `filterExtractionCondition`
11572
+ # @return [String]
11573
+ attr_accessor :filter_extraction_condition
11574
+
11575
+ # Field names used for location-based filtering, where geolocation filters are
11576
+ # detected in natural language search queries. Only valid when the
11577
+ # FilterExtractionCondition is set to `ENABLED`. If this field is set, it
11578
+ # overrides the field names set in ServingConfig.
11579
+ # geo_search_query_detection_field_names.
11580
+ # Corresponds to the JSON property `geoSearchQueryDetectionFieldNames`
11581
+ # @return [Array<String>]
11582
+ attr_accessor :geo_search_query_detection_field_names
11583
+
11584
+ def initialize(**args)
11585
+ update!(**args)
11586
+ end
11587
+
11588
+ # Update properties of this object
11589
+ def update!(**args)
11590
+ @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
11591
+ @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
11592
+ end
11593
+ end
11594
+
10777
11595
  # Specification to determine under which conditions query expansion should occur.
10778
11596
  class GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec
10779
11597
  include Google::Apis::Core::Hashable
@@ -10823,6 +11641,46 @@ module Google
10823
11641
  end
10824
11642
  end
10825
11643
 
11644
+ # Session specification. Multi-turn Search feature is currently at private GA
11645
+ # stage. Please use v1alpha or v1beta version instead before we launch this
11646
+ # feature to public GA. Or ask for allowlisting through Google Support team.
11647
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec
11648
+ include Google::Apis::Core::Hashable
11649
+
11650
+ # If set, the search result gets stored to the "turn" specified by this query ID.
11651
+ # Example: Let's say the session looks like this: session ` name: ".../sessions/
11652
+ # xxx" turns ` query ` text: "What is foo?" query_id: ".../questions/yyy" `
11653
+ # answer: "Foo is ..." ` turns ` query ` text: "How about bar then?" query_id: ".
11654
+ # ../questions/zzz" ` ` ` The user can call /search API with a request like this:
11655
+ # session: ".../sessions/xxx" session_spec ` query_id: ".../questions/zzz" `
11656
+ # Then, the API stores the search result, associated with the last turn. The
11657
+ # stored search result can be used by a subsequent /answer API call (with the
11658
+ # session ID and the query ID specified). Also, it is possible to call /search
11659
+ # and /answer in parallel with the same session ID & query ID.
11660
+ # Corresponds to the JSON property `queryId`
11661
+ # @return [String]
11662
+ attr_accessor :query_id
11663
+
11664
+ # The number of top search results to persist. The persisted search results can
11665
+ # be used for the subsequent /answer api call. This field is simliar to the `
11666
+ # summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.
11667
+ # summary_result_count. At most 10 results for documents mode, or 50 for chunks
11668
+ # mode.
11669
+ # Corresponds to the JSON property `searchResultPersistenceCount`
11670
+ # @return [Fixnum]
11671
+ attr_accessor :search_result_persistence_count
11672
+
11673
+ def initialize(**args)
11674
+ update!(**args)
11675
+ end
11676
+
11677
+ # Update properties of this object
11678
+ def update!(**args)
11679
+ @query_id = args[:query_id] if args.key?(:query_id)
11680
+ @search_result_persistence_count = args[:search_result_persistence_count] if args.key?(:search_result_persistence_count)
11681
+ end
11682
+ end
11683
+
10826
11684
  # The specification for query spell correction.
10827
11685
  class GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec
10828
11686
  include Google::Apis::Core::Hashable
@@ -10882,6 +11740,12 @@ module Google
10882
11740
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseGuidedSearchResult]
10883
11741
  attr_accessor :guided_search_result
10884
11742
 
11743
+ # Information describing what natural language understanding was done on the
11744
+ # input query.
11745
+ # Corresponds to the JSON property `naturalLanguageQueryUnderstandingInfo`
11746
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfo]
11747
+ attr_accessor :natural_language_query_understanding_info
11748
+
10885
11749
  # A token that can be sent as SearchRequest.page_token to retrieve the next page.
10886
11750
  # If this field is omitted, there are no subsequent pages.
10887
11751
  # Corresponds to the JSON property `nextPageToken`
@@ -10906,6 +11770,11 @@ module Google
10906
11770
  # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult>]
10907
11771
  attr_accessor :results
10908
11772
 
11773
+ # Information about the session.
11774
+ # Corresponds to the JSON property `sessionInfo`
11775
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseSessionInfo]
11776
+ attr_accessor :session_info
11777
+
10909
11778
  # Summary of the top N search results specified by the summary spec.
10910
11779
  # Corresponds to the JSON property `summary`
10911
11780
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseSummary]
@@ -10930,10 +11799,12 @@ module Google
10930
11799
  @facets = args[:facets] if args.key?(:facets)
10931
11800
  @geo_search_debug_info = args[:geo_search_debug_info] if args.key?(:geo_search_debug_info)
10932
11801
  @guided_search_result = args[:guided_search_result] if args.key?(:guided_search_result)
11802
+ @natural_language_query_understanding_info = args[:natural_language_query_understanding_info] if args.key?(:natural_language_query_understanding_info)
10933
11803
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10934
11804
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
10935
11805
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
10936
11806
  @results = args[:results] if args.key?(:results)
11807
+ @session_info = args[:session_info] if args.key?(:session_info)
10937
11808
  @summary = args[:summary] if args.key?(:summary)
10938
11809
  @total_size = args[:total_size] if args.key?(:total_size)
10939
11810
  end
@@ -11080,22 +11951,26 @@ module Google
11080
11951
  end
11081
11952
  end
11082
11953
 
11083
- # Information describing query expansion including whether expansion has
11084
- # occurred.
11085
- class GoogleCloudDiscoveryengineV1alphaSearchResponseQueryExpansionInfo
11954
+ # Information describing what natural language understanding was done on the
11955
+ # input query.
11956
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfo
11086
11957
  include Google::Apis::Core::Hashable
11087
11958
 
11088
- # Bool describing whether query expansion has occurred.
11089
- # Corresponds to the JSON property `expandedQuery`
11090
- # @return [Boolean]
11091
- attr_accessor :expanded_query
11092
- alias_method :expanded_query?, :expanded_query
11959
+ # The filters that were extracted from the input query.
11960
+ # Corresponds to the JSON property `extractedFilters`
11961
+ # @return [String]
11962
+ attr_accessor :extracted_filters
11093
11963
 
11094
- # Number of pinned results. This field will only be set when expansion happens
11095
- # and SearchRequest.QueryExpansionSpec.pin_unexpanded_results is set to true.
11096
- # Corresponds to the JSON property `pinnedResultCount`
11097
- # @return [Fixnum]
11098
- attr_accessor :pinned_result_count
11964
+ # Rewritten input query minus the extracted filters.
11965
+ # Corresponds to the JSON property `rewrittenQuery`
11966
+ # @return [String]
11967
+ attr_accessor :rewritten_query
11968
+
11969
+ # The filters that were extracted from the input query represented in a
11970
+ # structured form.
11971
+ # Corresponds to the JSON property `structuredExtractedFilter`
11972
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter]
11973
+ attr_accessor :structured_extracted_filter
11099
11974
 
11100
11975
  def initialize(**args)
11101
11976
  update!(**args)
@@ -11103,36 +11978,40 @@ module Google
11103
11978
 
11104
11979
  # Update properties of this object
11105
11980
  def update!(**args)
11106
- @expanded_query = args[:expanded_query] if args.key?(:expanded_query)
11107
- @pinned_result_count = args[:pinned_result_count] if args.key?(:pinned_result_count)
11981
+ @extracted_filters = args[:extracted_filters] if args.key?(:extracted_filters)
11982
+ @rewritten_query = args[:rewritten_query] if args.key?(:rewritten_query)
11983
+ @structured_extracted_filter = args[:structured_extracted_filter] if args.key?(:structured_extracted_filter)
11108
11984
  end
11109
11985
  end
11110
11986
 
11111
- # Represents the search results.
11112
- class GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult
11987
+ # The filters that were extracted from the input query represented in a
11988
+ # structured form.
11989
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter
11113
11990
  include Google::Apis::Core::Hashable
11114
11991
 
11115
- # Chunk captures all raw metadata information of items to be recommended or
11116
- # searched in the chunk mode.
11117
- # Corresponds to the JSON property `chunk`
11118
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaChunk]
11119
- attr_accessor :chunk
11992
+ # The expression denoting the filter that was extracted from the input query.
11993
+ # Corresponds to the JSON property `expression`
11994
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression]
11995
+ attr_accessor :expression
11120
11996
 
11121
- # Document captures all raw metadata information of items to be recommended or
11122
- # searched.
11123
- # Corresponds to the JSON property `document`
11124
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaDocument]
11125
- attr_accessor :document
11997
+ def initialize(**args)
11998
+ update!(**args)
11999
+ end
11126
12000
 
11127
- # Document.id of the searched Document.
11128
- # Corresponds to the JSON property `id`
11129
- # @return [String]
11130
- attr_accessor :id
12001
+ # Update properties of this object
12002
+ def update!(**args)
12003
+ @expression = args[:expression] if args.key?(:expression)
12004
+ end
12005
+ end
11131
12006
 
11132
- # Google provided available scores.
11133
- # Corresponds to the JSON property `modelScores`
11134
- # @return [Hash<String,Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaDoubleList>]
11135
- attr_accessor :model_scores
12007
+ # Logical `And` operator.
12008
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression
12009
+ include Google::Apis::Core::Hashable
12010
+
12011
+ # The expressions that were ANDed together.
12012
+ # Corresponds to the JSON property `expressions`
12013
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression>]
12014
+ attr_accessor :expressions
11136
12015
 
11137
12016
  def initialize(**args)
11138
12017
  update!(**args)
@@ -11140,30 +12019,279 @@ module Google
11140
12019
 
11141
12020
  # Update properties of this object
11142
12021
  def update!(**args)
11143
- @chunk = args[:chunk] if args.key?(:chunk)
11144
- @document = args[:document] if args.key?(:document)
11145
- @id = args[:id] if args.key?(:id)
11146
- @model_scores = args[:model_scores] if args.key?(:model_scores)
12022
+ @expressions = args[:expressions] if args.key?(:expressions)
11147
12023
  end
11148
12024
  end
11149
12025
 
11150
- # Summary of the top N search results specified by the summary spec.
11151
- class GoogleCloudDiscoveryengineV1alphaSearchResponseSummary
12026
+ # The expression denoting the filter that was extracted from the input query.
12027
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression
11152
12028
  include Google::Apis::Core::Hashable
11153
12029
 
11154
- # Safety Attribute categories and their associated confidence scores.
11155
- # Corresponds to the JSON property `safetyAttributes`
11156
- # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseSummarySafetyAttributes]
11157
- attr_accessor :safety_attributes
12030
+ # Logical `And` operator.
12031
+ # Corresponds to the JSON property `andExpr`
12032
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression]
12033
+ attr_accessor :and_expr
11158
12034
 
11159
- # Additional summary-skipped reasons. This provides the reason for ignored cases.
11160
- # If nothing is skipped, this field is not set.
11161
- # Corresponds to the JSON property `summarySkippedReasons`
11162
- # @return [Array<String>]
11163
- attr_accessor :summary_skipped_reasons
12035
+ # Constraint of a geolocation field. Name of the geolocation field as defined in
12036
+ # the schema.
12037
+ # Corresponds to the JSON property `geolocationConstraint`
12038
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint]
12039
+ attr_accessor :geolocation_constraint
11164
12040
 
11165
- # The summary content.
11166
- # Corresponds to the JSON property `summaryText`
12041
+ # Constraint expression of a number field. Example: price < 100.
12042
+ # Corresponds to the JSON property `numberConstraint`
12043
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint]
12044
+ attr_accessor :number_constraint
12045
+
12046
+ # Logical `Or` operator.
12047
+ # Corresponds to the JSON property `orExpr`
12048
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression]
12049
+ attr_accessor :or_expr
12050
+
12051
+ # Constraint expression of a string field.
12052
+ # Corresponds to the JSON property `stringConstraint`
12053
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint]
12054
+ attr_accessor :string_constraint
12055
+
12056
+ def initialize(**args)
12057
+ update!(**args)
12058
+ end
12059
+
12060
+ # Update properties of this object
12061
+ def update!(**args)
12062
+ @and_expr = args[:and_expr] if args.key?(:and_expr)
12063
+ @geolocation_constraint = args[:geolocation_constraint] if args.key?(:geolocation_constraint)
12064
+ @number_constraint = args[:number_constraint] if args.key?(:number_constraint)
12065
+ @or_expr = args[:or_expr] if args.key?(:or_expr)
12066
+ @string_constraint = args[:string_constraint] if args.key?(:string_constraint)
12067
+ end
12068
+ end
12069
+
12070
+ # Constraint of a geolocation field. Name of the geolocation field as defined in
12071
+ # the schema.
12072
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint
12073
+ include Google::Apis::Core::Hashable
12074
+
12075
+ # The reference address that was inferred from the input query. The proximity of
12076
+ # the reference address to the geolocation field will be used to filter the
12077
+ # results.
12078
+ # Corresponds to the JSON property `address`
12079
+ # @return [String]
12080
+ attr_accessor :address
12081
+
12082
+ # The name of the geolocation field as defined in the schema.
12083
+ # Corresponds to the JSON property `fieldName`
12084
+ # @return [String]
12085
+ attr_accessor :field_name
12086
+
12087
+ # The radius in meters around the address. The record is returned if the
12088
+ # location of the geolocation field is within the radius.
12089
+ # Corresponds to the JSON property `radiusInMeters`
12090
+ # @return [Float]
12091
+ attr_accessor :radius_in_meters
12092
+
12093
+ def initialize(**args)
12094
+ update!(**args)
12095
+ end
12096
+
12097
+ # Update properties of this object
12098
+ def update!(**args)
12099
+ @address = args[:address] if args.key?(:address)
12100
+ @field_name = args[:field_name] if args.key?(:field_name)
12101
+ @radius_in_meters = args[:radius_in_meters] if args.key?(:radius_in_meters)
12102
+ end
12103
+ end
12104
+
12105
+ # Constraint expression of a number field. Example: price < 100.
12106
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint
12107
+ include Google::Apis::Core::Hashable
12108
+
12109
+ # The comparison operation performed between the field value and the value
12110
+ # specified in the constraint.
12111
+ # Corresponds to the JSON property `comparison`
12112
+ # @return [String]
12113
+ attr_accessor :comparison
12114
+
12115
+ # Name of the numerical field as defined in the schema.
12116
+ # Corresponds to the JSON property `fieldName`
12117
+ # @return [String]
12118
+ attr_accessor :field_name
12119
+
12120
+ # The value specified in the numerical constraint.
12121
+ # Corresponds to the JSON property `value`
12122
+ # @return [Float]
12123
+ attr_accessor :value
12124
+
12125
+ def initialize(**args)
12126
+ update!(**args)
12127
+ end
12128
+
12129
+ # Update properties of this object
12130
+ def update!(**args)
12131
+ @comparison = args[:comparison] if args.key?(:comparison)
12132
+ @field_name = args[:field_name] if args.key?(:field_name)
12133
+ @value = args[:value] if args.key?(:value)
12134
+ end
12135
+ end
12136
+
12137
+ # Logical `Or` operator.
12138
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression
12139
+ include Google::Apis::Core::Hashable
12140
+
12141
+ # The expressions that were ORed together.
12142
+ # Corresponds to the JSON property `expressions`
12143
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression>]
12144
+ attr_accessor :expressions
12145
+
12146
+ def initialize(**args)
12147
+ update!(**args)
12148
+ end
12149
+
12150
+ # Update properties of this object
12151
+ def update!(**args)
12152
+ @expressions = args[:expressions] if args.key?(:expressions)
12153
+ end
12154
+ end
12155
+
12156
+ # Constraint expression of a string field.
12157
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint
12158
+ include Google::Apis::Core::Hashable
12159
+
12160
+ # Name of the string field as defined in the schema.
12161
+ # Corresponds to the JSON property `fieldName`
12162
+ # @return [String]
12163
+ attr_accessor :field_name
12164
+
12165
+ # Values of the string field. The record will only be returned if the field
12166
+ # value matches one of the values specified here.
12167
+ # Corresponds to the JSON property `values`
12168
+ # @return [Array<String>]
12169
+ attr_accessor :values
12170
+
12171
+ def initialize(**args)
12172
+ update!(**args)
12173
+ end
12174
+
12175
+ # Update properties of this object
12176
+ def update!(**args)
12177
+ @field_name = args[:field_name] if args.key?(:field_name)
12178
+ @values = args[:values] if args.key?(:values)
12179
+ end
12180
+ end
12181
+
12182
+ # Information describing query expansion including whether expansion has
12183
+ # occurred.
12184
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseQueryExpansionInfo
12185
+ include Google::Apis::Core::Hashable
12186
+
12187
+ # Bool describing whether query expansion has occurred.
12188
+ # Corresponds to the JSON property `expandedQuery`
12189
+ # @return [Boolean]
12190
+ attr_accessor :expanded_query
12191
+ alias_method :expanded_query?, :expanded_query
12192
+
12193
+ # Number of pinned results. This field will only be set when expansion happens
12194
+ # and SearchRequest.QueryExpansionSpec.pin_unexpanded_results is set to true.
12195
+ # Corresponds to the JSON property `pinnedResultCount`
12196
+ # @return [Fixnum]
12197
+ attr_accessor :pinned_result_count
12198
+
12199
+ def initialize(**args)
12200
+ update!(**args)
12201
+ end
12202
+
12203
+ # Update properties of this object
12204
+ def update!(**args)
12205
+ @expanded_query = args[:expanded_query] if args.key?(:expanded_query)
12206
+ @pinned_result_count = args[:pinned_result_count] if args.key?(:pinned_result_count)
12207
+ end
12208
+ end
12209
+
12210
+ # Represents the search results.
12211
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult
12212
+ include Google::Apis::Core::Hashable
12213
+
12214
+ # Chunk captures all raw metadata information of items to be recommended or
12215
+ # searched in the chunk mode.
12216
+ # Corresponds to the JSON property `chunk`
12217
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaChunk]
12218
+ attr_accessor :chunk
12219
+
12220
+ # Document captures all raw metadata information of items to be recommended or
12221
+ # searched.
12222
+ # Corresponds to the JSON property `document`
12223
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaDocument]
12224
+ attr_accessor :document
12225
+
12226
+ # Document.id of the searched Document.
12227
+ # Corresponds to the JSON property `id`
12228
+ # @return [String]
12229
+ attr_accessor :id
12230
+
12231
+ # Google provided available scores.
12232
+ # Corresponds to the JSON property `modelScores`
12233
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaDoubleList>]
12234
+ attr_accessor :model_scores
12235
+
12236
+ def initialize(**args)
12237
+ update!(**args)
12238
+ end
12239
+
12240
+ # Update properties of this object
12241
+ def update!(**args)
12242
+ @chunk = args[:chunk] if args.key?(:chunk)
12243
+ @document = args[:document] if args.key?(:document)
12244
+ @id = args[:id] if args.key?(:id)
12245
+ @model_scores = args[:model_scores] if args.key?(:model_scores)
12246
+ end
12247
+ end
12248
+
12249
+ # Information about the session.
12250
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseSessionInfo
12251
+ include Google::Apis::Core::Hashable
12252
+
12253
+ # Name of the session. If the auto-session mode is used (when SearchRequest.
12254
+ # session ends with "-"), this field holds the newly generated session name.
12255
+ # Corresponds to the JSON property `name`
12256
+ # @return [String]
12257
+ attr_accessor :name
12258
+
12259
+ # Query ID that corresponds to this search API call. One session can have
12260
+ # multiple turns, each with a unique query ID. By specifying the session name
12261
+ # and this query ID in the Answer API call, the answer generation happens in the
12262
+ # context of the search results from this search call.
12263
+ # Corresponds to the JSON property `queryId`
12264
+ # @return [String]
12265
+ attr_accessor :query_id
12266
+
12267
+ def initialize(**args)
12268
+ update!(**args)
12269
+ end
12270
+
12271
+ # Update properties of this object
12272
+ def update!(**args)
12273
+ @name = args[:name] if args.key?(:name)
12274
+ @query_id = args[:query_id] if args.key?(:query_id)
12275
+ end
12276
+ end
12277
+
12278
+ # Summary of the top N search results specified by the summary spec.
12279
+ class GoogleCloudDiscoveryengineV1alphaSearchResponseSummary
12280
+ include Google::Apis::Core::Hashable
12281
+
12282
+ # Safety Attribute categories and their associated confidence scores.
12283
+ # Corresponds to the JSON property `safetyAttributes`
12284
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaSearchResponseSummarySafetyAttributes]
12285
+ attr_accessor :safety_attributes
12286
+
12287
+ # Additional summary-skipped reasons. This provides the reason for ignored cases.
12288
+ # If nothing is skipped, this field is not set.
12289
+ # Corresponds to the JSON property `summarySkippedReasons`
12290
+ # @return [Array<String>]
12291
+ attr_accessor :summary_skipped_reasons
12292
+
12293
+ # The summary content.
12294
+ # Corresponds to the JSON property `summaryText`
11167
12295
  # @return [String]
11168
12296
  attr_accessor :summary_text
11169
12297
 
@@ -11500,12 +12628,13 @@ module Google
11500
12628
  # single function or multiple functions that are joined by "+". *
11501
12629
  # ranking_expression = function, ` " + ", function `; Supported functions: *
11502
12630
  # double * relevance_score * double * dotProduct(embedding_field_path) Function
11503
- # variables: relevance_score: pre-defined keywords, used for measure relevance
11504
- # between query and document. embedding_field_path: the document embedding field
11505
- # used with query embedding vector. dotProduct: embedding function between
11506
- # embedding_field_path and query embedding vector. Example ranking expression:
11507
- # If document has an embedding field doc_embedding, the ranking expression could
11508
- # be 0.5 * relevance_score + 0.3 * dotProduct(doc_embedding).
12631
+ # variables: * `relevance_score`: pre-defined keywords, used for measure
12632
+ # relevance between query and document. * `embedding_field_path`: the document
12633
+ # embedding field used with query embedding vector. * `dotProduct`: embedding
12634
+ # function between embedding_field_path and query embedding vector. Example
12635
+ # ranking expression: If document has an embedding field doc_embedding, the
12636
+ # ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(
12637
+ # doc_embedding)`.
11509
12638
  # Corresponds to the JSON property `rankingExpression`
11510
12639
  # @return [String]
11511
12640
  attr_accessor :ranking_expression
@@ -11721,6 +12850,85 @@ module Google
11721
12850
  end
11722
12851
  end
11723
12852
 
12853
+ # Metadata related to the progress of the SiteSearchEngineService.
12854
+ # SetUriPatternDocumentData operation. This will be returned by the google.
12855
+ # longrunning.Operation.metadata field.
12856
+ class GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata
12857
+ include Google::Apis::Core::Hashable
12858
+
12859
+ # Operation create time.
12860
+ # Corresponds to the JSON property `createTime`
12861
+ # @return [String]
12862
+ attr_accessor :create_time
12863
+
12864
+ # Operation last update time. If the operation is done, this is also the finish
12865
+ # time.
12866
+ # Corresponds to the JSON property `updateTime`
12867
+ # @return [String]
12868
+ attr_accessor :update_time
12869
+
12870
+ def initialize(**args)
12871
+ update!(**args)
12872
+ end
12873
+
12874
+ # Update properties of this object
12875
+ def update!(**args)
12876
+ @create_time = args[:create_time] if args.key?(:create_time)
12877
+ @update_time = args[:update_time] if args.key?(:update_time)
12878
+ end
12879
+ end
12880
+
12881
+ # Request message for SiteSearchEngineService.SetUriPatternDocumentData method.
12882
+ class GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataRequest
12883
+ include Google::Apis::Core::Hashable
12884
+
12885
+ # Document data keyed by URI pattern. Each entry must be consistent with the
12886
+ # Schema. For example: Schema = ` "type": "object", "properties": ` "Categories":
12887
+ # ` "type": "array", "items": ` "retrievable": true, "type": "string" ` ` `
12888
+ # document_data_map = ` "www.url1.com/*": ` "Categories": ["category1", "
12889
+ # category2"] `, "www.url2.com/*": ` "Categories": ["category3"] ` `
12890
+ # Corresponds to the JSON property `documentDataMap`
12891
+ # @return [Hash<String,Hash<String,Object>>]
12892
+ attr_accessor :document_data_map
12893
+
12894
+ # If true, clears the document data map. If true,
12895
+ # SetUriPatternDocumentDataRequest.document_data_map must be empty.
12896
+ # Corresponds to the JSON property `emptyDocumentDataMap`
12897
+ # @return [Boolean]
12898
+ attr_accessor :empty_document_data_map
12899
+ alias_method :empty_document_data_map?, :empty_document_data_map
12900
+
12901
+ # Optional. If not provided, the current Schema is used. If provided, validates
12902
+ # and updates the Schema. If validation fails, an error is returned.
12903
+ # Corresponds to the JSON property `schema`
12904
+ # @return [Hash<String,Object>]
12905
+ attr_accessor :schema
12906
+
12907
+ def initialize(**args)
12908
+ update!(**args)
12909
+ end
12910
+
12911
+ # Update properties of this object
12912
+ def update!(**args)
12913
+ @document_data_map = args[:document_data_map] if args.key?(:document_data_map)
12914
+ @empty_document_data_map = args[:empty_document_data_map] if args.key?(:empty_document_data_map)
12915
+ @schema = args[:schema] if args.key?(:schema)
12916
+ end
12917
+ end
12918
+
12919
+ # Response message for SiteSearchEngineService.SetUriPatternDocumentData method.
12920
+ class GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse
12921
+ include Google::Apis::Core::Hashable
12922
+
12923
+ def initialize(**args)
12924
+ update!(**args)
12925
+ end
12926
+
12927
+ # Update properties of this object
12928
+ def update!(**args)
12929
+ end
12930
+ end
12931
+
11724
12932
  # SiteSearchEngine captures DataStore level site search persisting
11725
12933
  # configurations. It is a singleton value per data store.
11726
12934
  class GoogleCloudDiscoveryengineV1alphaSiteSearchEngine
@@ -12940,14 +14148,27 @@ module Google
12940
14148
  end
12941
14149
  end
12942
14150
 
12943
- # Metadata for Create Schema LRO.
12944
- class GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata
14151
+ # Metadata for EvaluationService.CreateEvaluation method.
14152
+ class GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata
12945
14153
  include Google::Apis::Core::Hashable
12946
14154
 
12947
- # Operation create time.
12948
- # Corresponds to the JSON property `createTime`
12949
- # @return [String]
12950
- attr_accessor :create_time
14155
+ def initialize(**args)
14156
+ update!(**args)
14157
+ end
14158
+
14159
+ # Update properties of this object
14160
+ def update!(**args)
14161
+ end
14162
+ end
14163
+
14164
+ # Metadata for Create Schema LRO.
14165
+ class GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata
14166
+ include Google::Apis::Core::Hashable
14167
+
14168
+ # Operation create time.
14169
+ # Corresponds to the JSON property `createTime`
14170
+ # @return [String]
14171
+ attr_accessor :create_time
12951
14172
 
12952
14173
  # Operation last update time. If the operation is done, this is also the finish
12953
14174
  # time.
@@ -13008,6 +14229,11 @@ module Google
13008
14229
  # @return [String]
13009
14230
  attr_accessor :display_name
13010
14231
 
14232
+ # The metrics of the trained model.
14233
+ # Corresponds to the JSON property `metrics`
14234
+ # @return [Hash<String,Float>]
14235
+ attr_accessor :metrics
14236
+
13011
14237
  # The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).
13012
14238
  # Corresponds to the JSON property `modelState`
13013
14239
  # @return [String]
@@ -13039,6 +14265,7 @@ module Google
13039
14265
  def update!(**args)
13040
14266
  @create_time = args[:create_time] if args.key?(:create_time)
13041
14267
  @display_name = args[:display_name] if args.key?(:display_name)
14268
+ @metrics = args[:metrics] if args.key?(:metrics)
13042
14269
  @model_state = args[:model_state] if args.key?(:model_state)
13043
14270
  @model_version = args[:model_version] if args.key?(:model_version)
13044
14271
  @name = args[:name] if args.key?(:name)
@@ -13305,9 +14532,10 @@ module Google
13305
14532
  # Map from file type to override the default parsing configuration based on the
13306
14533
  # file type. Supported keys: * `pdf`: Override parsing config for PDF files,
13307
14534
  # either digital parsing, ocr parsing or layout parsing is supported. * `html`:
13308
- # Override parsing config for HTML files, only digital parsing and or layout
14535
+ # Override parsing config for HTML files, only digital parsing and layout
13309
14536
  # parsing are supported. * `docx`: Override parsing config for DOCX files, only
13310
- # digital parsing and or layout parsing are supported.
14537
+ # digital parsing and layout parsing are supported. * `pptx`: Override parsing
14538
+ # config for PPTX files, only digital parsing and layout parsing are supported.
13311
14539
  # Corresponds to the JSON property `parsingConfigOverrides`
13312
14540
  # @return [Hash<String,Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig>]
13313
14541
  attr_accessor :parsing_config_overrides
@@ -13739,6 +14967,121 @@ module Google
13739
14967
  end
13740
14968
  end
13741
14969
 
14970
+ # An evaluation is a single execution (or run) of an evaluation process. It
14971
+ # encapsulates the state of the evaluation and the resulting data.
14972
+ class GoogleCloudDiscoveryengineV1betaEvaluation
14973
+ include Google::Apis::Core::Hashable
14974
+
14975
+ # Output only. Timestamp the Evaluation was created at.
14976
+ # Corresponds to the JSON property `createTime`
14977
+ # @return [String]
14978
+ attr_accessor :create_time
14979
+
14980
+ # Output only. Timestamp the Evaluation was completed at.
14981
+ # Corresponds to the JSON property `endTime`
14982
+ # @return [String]
14983
+ attr_accessor :end_time
14984
+
14985
+ # The `Status` type defines a logical error model that is suitable for different
14986
+ # programming environments, including REST APIs and RPC APIs. It is used by [
14987
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
14988
+ # data: error code, error message, and error details. You can find out more
14989
+ # about this error model and how to work with it in the [API Design Guide](https:
14990
+ # //cloud.google.com/apis/design/errors).
14991
+ # Corresponds to the JSON property `error`
14992
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleRpcStatus]
14993
+ attr_accessor :error
14994
+
14995
+ # Output only. A sample of errors encountered while processing the request.
14996
+ # Corresponds to the JSON property `errorSamples`
14997
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleRpcStatus>]
14998
+ attr_accessor :error_samples
14999
+
15000
+ # Describes the specification of the evaluation.
15001
+ # Corresponds to the JSON property `evaluationSpec`
15002
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec]
15003
+ attr_accessor :evaluation_spec
15004
+
15005
+ # Immutable. The full resource name of the Evaluation, in the format of `
15006
+ # projects/`project`/locations/`location`/evaluations/`evaluation``. This field
15007
+ # must be a UTF-8 encoded string with a length limit of 1024 characters.
15008
+ # Corresponds to the JSON property `name`
15009
+ # @return [String]
15010
+ attr_accessor :name
15011
+
15012
+ # Describes the metrics produced by the evaluation.
15013
+ # Corresponds to the JSON property `qualityMetrics`
15014
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaQualityMetrics]
15015
+ attr_accessor :quality_metrics
15016
+
15017
+ # Output only. The state of the evaluation.
15018
+ # Corresponds to the JSON property `state`
15019
+ # @return [String]
15020
+ attr_accessor :state
15021
+
15022
+ def initialize(**args)
15023
+ update!(**args)
15024
+ end
15025
+
15026
+ # Update properties of this object
15027
+ def update!(**args)
15028
+ @create_time = args[:create_time] if args.key?(:create_time)
15029
+ @end_time = args[:end_time] if args.key?(:end_time)
15030
+ @error = args[:error] if args.key?(:error)
15031
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
15032
+ @evaluation_spec = args[:evaluation_spec] if args.key?(:evaluation_spec)
15033
+ @name = args[:name] if args.key?(:name)
15034
+ @quality_metrics = args[:quality_metrics] if args.key?(:quality_metrics)
15035
+ @state = args[:state] if args.key?(:state)
15036
+ end
15037
+ end
15038
+
15039
+ # Describes the specification of the evaluation.
15040
+ class GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec
15041
+ include Google::Apis::Core::Hashable
15042
+
15043
+ # Describes the specification of the query set.
15044
+ # Corresponds to the JSON property `querySetSpec`
15045
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec]
15046
+ attr_accessor :query_set_spec
15047
+
15048
+ # Request message for SearchService.Search method.
15049
+ # Corresponds to the JSON property `searchRequest`
15050
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequest]
15051
+ attr_accessor :search_request
15052
+
15053
+ def initialize(**args)
15054
+ update!(**args)
15055
+ end
15056
+
15057
+ # Update properties of this object
15058
+ def update!(**args)
15059
+ @query_set_spec = args[:query_set_spec] if args.key?(:query_set_spec)
15060
+ @search_request = args[:search_request] if args.key?(:search_request)
15061
+ end
15062
+ end
15063
+
15064
+ # Describes the specification of the query set.
15065
+ class GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec
15066
+ include Google::Apis::Core::Hashable
15067
+
15068
+ # Required. The full resource name of the SampleQuerySet used for the evaluation,
15069
+ # in the format of `projects/`project`/locations/`location`/sampleQuerySets/`
15070
+ # sampleQuerySet``.
15071
+ # Corresponds to the JSON property `sampleQuerySet`
15072
+ # @return [String]
15073
+ attr_accessor :sample_query_set
15074
+
15075
+ def initialize(**args)
15076
+ update!(**args)
15077
+ end
15078
+
15079
+ # Update properties of this object
15080
+ def update!(**args)
15081
+ @sample_query_set = args[:sample_query_set] if args.key?(:sample_query_set)
15082
+ end
15083
+ end
15084
+
13742
15085
  # Metadata related to the progress of the ImportCompletionSuggestions operation.
13743
15086
  # This will be returned by the google.longrunning.Operation.metadata field.
13744
15087
  class GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata
@@ -13898,6 +15241,78 @@ module Google
13898
15241
  end
13899
15242
  end
13900
15243
 
15244
+ # Metadata related to the progress of the ImportSampleQueries operation. This
15245
+ # will be returned by the google.longrunning.Operation.metadata field.
15246
+ class GoogleCloudDiscoveryengineV1betaImportSampleQueriesMetadata
15247
+ include Google::Apis::Core::Hashable
15248
+
15249
+ # ImportSampleQueries operation create time.
15250
+ # Corresponds to the JSON property `createTime`
15251
+ # @return [String]
15252
+ attr_accessor :create_time
15253
+
15254
+ # Count of SampleQuerys that failed to be imported.
15255
+ # Corresponds to the JSON property `failureCount`
15256
+ # @return [Fixnum]
15257
+ attr_accessor :failure_count
15258
+
15259
+ # Count of SampleQuerys successfully imported.
15260
+ # Corresponds to the JSON property `successCount`
15261
+ # @return [Fixnum]
15262
+ attr_accessor :success_count
15263
+
15264
+ # Total count of SampleQuerys that were processed.
15265
+ # Corresponds to the JSON property `totalCount`
15266
+ # @return [Fixnum]
15267
+ attr_accessor :total_count
15268
+
15269
+ # ImportSampleQueries operation last update time. If the operation is done, this
15270
+ # is also the finish time.
15271
+ # Corresponds to the JSON property `updateTime`
15272
+ # @return [String]
15273
+ attr_accessor :update_time
15274
+
15275
+ def initialize(**args)
15276
+ update!(**args)
15277
+ end
15278
+
15279
+ # Update properties of this object
15280
+ def update!(**args)
15281
+ @create_time = args[:create_time] if args.key?(:create_time)
15282
+ @failure_count = args[:failure_count] if args.key?(:failure_count)
15283
+ @success_count = args[:success_count] if args.key?(:success_count)
15284
+ @total_count = args[:total_count] if args.key?(:total_count)
15285
+ @update_time = args[:update_time] if args.key?(:update_time)
15286
+ end
15287
+ end
15288
+
15289
+ # Response of the SampleQueryService.ImportSampleQueries method. If the long
15290
+ # running operation is done, this message is returned by the google.longrunning.
15291
+ # Operations.response field if the operation is successful.
15292
+ class GoogleCloudDiscoveryengineV1betaImportSampleQueriesResponse
15293
+ include Google::Apis::Core::Hashable
15294
+
15295
+ # Configuration of destination for Import related errors.
15296
+ # Corresponds to the JSON property `errorConfig`
15297
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaImportErrorConfig]
15298
+ attr_accessor :error_config
15299
+
15300
+ # A sample of errors encountered while processing the request.
15301
+ # Corresponds to the JSON property `errorSamples`
15302
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleRpcStatus>]
15303
+ attr_accessor :error_samples
15304
+
15305
+ def initialize(**args)
15306
+ update!(**args)
15307
+ end
15308
+
15309
+ # Update properties of this object
15310
+ def update!(**args)
15311
+ @error_config = args[:error_config] if args.key?(:error_config)
15312
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
15313
+ end
15314
+ end
15315
+
13901
15316
  # Metadata related to the progress of the ImportSuggestionDenyListEntries
13902
15317
  # operation. This is returned by the google.longrunning.Operation.metadata field.
13903
15318
  class GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesMetadata
@@ -14035,6 +15450,43 @@ module Google
14035
15450
  end
14036
15451
  end
14037
15452
 
15453
+ # A floating point interval.
15454
+ class GoogleCloudDiscoveryengineV1betaInterval
15455
+ include Google::Apis::Core::Hashable
15456
+
15457
+ # Exclusive upper bound.
15458
+ # Corresponds to the JSON property `exclusiveMaximum`
15459
+ # @return [Float]
15460
+ attr_accessor :exclusive_maximum
15461
+
15462
+ # Exclusive lower bound.
15463
+ # Corresponds to the JSON property `exclusiveMinimum`
15464
+ # @return [Float]
15465
+ attr_accessor :exclusive_minimum
15466
+
15467
+ # Inclusive upper bound.
15468
+ # Corresponds to the JSON property `maximum`
15469
+ # @return [Float]
15470
+ attr_accessor :maximum
15471
+
15472
+ # Inclusive lower bound.
15473
+ # Corresponds to the JSON property `minimum`
15474
+ # @return [Float]
15475
+ attr_accessor :minimum
15476
+
15477
+ def initialize(**args)
15478
+ update!(**args)
15479
+ end
15480
+
15481
+ # Update properties of this object
15482
+ def update!(**args)
15483
+ @exclusive_maximum = args[:exclusive_maximum] if args.key?(:exclusive_maximum)
15484
+ @exclusive_minimum = args[:exclusive_minimum] if args.key?(:exclusive_minimum)
15485
+ @maximum = args[:maximum] if args.key?(:maximum)
15486
+ @minimum = args[:minimum] if args.key?(:minimum)
15487
+ end
15488
+ end
15489
+
14038
15490
  # Language info for DataStore.
14039
15491
  class GoogleCloudDiscoveryengineV1betaLanguageInfo
14040
15492
  include Google::Apis::Core::Hashable
@@ -14323,6 +15775,86 @@ module Google
14323
15775
  end
14324
15776
  end
14325
15777
 
15778
+ # Describes the metrics produced by the evaluation.
15779
+ class GoogleCloudDiscoveryengineV1betaQualityMetrics
15780
+ include Google::Apis::Core::Hashable
15781
+
15782
+ # Stores the metric values at specific top-k levels.
15783
+ # Corresponds to the JSON property `docNdcg`
15784
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
15785
+ attr_accessor :doc_ndcg
15786
+
15787
+ # Stores the metric values at specific top-k levels.
15788
+ # Corresponds to the JSON property `docPrecision`
15789
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
15790
+ attr_accessor :doc_precision
15791
+
15792
+ # Stores the metric values at specific top-k levels.
15793
+ # Corresponds to the JSON property `docRecall`
15794
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
15795
+ attr_accessor :doc_recall
15796
+
15797
+ # Stores the metric values at specific top-k levels.
15798
+ # Corresponds to the JSON property `pageNdcg`
15799
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
15800
+ attr_accessor :page_ndcg
15801
+
15802
+ # Stores the metric values at specific top-k levels.
15803
+ # Corresponds to the JSON property `pageRecall`
15804
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics]
15805
+ attr_accessor :page_recall
15806
+
15807
+ def initialize(**args)
15808
+ update!(**args)
15809
+ end
15810
+
15811
+ # Update properties of this object
15812
+ def update!(**args)
15813
+ @doc_ndcg = args[:doc_ndcg] if args.key?(:doc_ndcg)
15814
+ @doc_precision = args[:doc_precision] if args.key?(:doc_precision)
15815
+ @doc_recall = args[:doc_recall] if args.key?(:doc_recall)
15816
+ @page_ndcg = args[:page_ndcg] if args.key?(:page_ndcg)
15817
+ @page_recall = args[:page_recall] if args.key?(:page_recall)
15818
+ end
15819
+ end
15820
+
15821
+ # Stores the metric values at specific top-k levels.
15822
+ class GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics
15823
+ include Google::Apis::Core::Hashable
15824
+
15825
+ # The top-1 value.
15826
+ # Corresponds to the JSON property `top1`
15827
+ # @return [Float]
15828
+ attr_accessor :top1
15829
+
15830
+ # The top-10 value.
15831
+ # Corresponds to the JSON property `top10`
15832
+ # @return [Float]
15833
+ attr_accessor :top10
15834
+
15835
+ # The top-3 value.
15836
+ # Corresponds to the JSON property `top3`
15837
+ # @return [Float]
15838
+ attr_accessor :top3
15839
+
15840
+ # The top-5 value.
15841
+ # Corresponds to the JSON property `top5`
15842
+ # @return [Float]
15843
+ attr_accessor :top5
15844
+
15845
+ def initialize(**args)
15846
+ update!(**args)
15847
+ end
15848
+
15849
+ # Update properties of this object
15850
+ def update!(**args)
15851
+ @top1 = args[:top1] if args.key?(:top1)
15852
+ @top10 = args[:top10] if args.key?(:top10)
15853
+ @top3 = args[:top3] if args.key?(:top3)
15854
+ @top5 = args[:top5] if args.key?(:top5)
15855
+ end
15856
+ end
15857
+
14326
15858
  # Defines the structure and layout of a type of document data.
14327
15859
  class GoogleCloudDiscoveryengineV1betaSchema
14328
15860
  include Google::Apis::Core::Hashable
@@ -14357,22 +15889,1155 @@ module Google
14357
15889
  end
14358
15890
  end
14359
15891
 
14360
- # Verification information for target sites in advanced site search.
14361
- class GoogleCloudDiscoveryengineV1betaSiteVerificationInfo
15892
+ # Request message for SearchService.Search method.
15893
+ class GoogleCloudDiscoveryengineV1betaSearchRequest
14362
15894
  include Google::Apis::Core::Hashable
14363
15895
 
14364
- # Site verification state indicating the ownership and validity.
14365
- # Corresponds to the JSON property `siteVerificationState`
15896
+ # Boost specification to boost certain documents.
15897
+ # Corresponds to the JSON property `boostSpec`
15898
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec]
15899
+ attr_accessor :boost_spec
15900
+
15901
+ # The branch resource name, such as `projects/*/locations/global/collections/
15902
+ # default_collection/dataStores/default_data_store/branches/0`. Use `
15903
+ # default_branch` as the branch ID or leave this field empty, to search
15904
+ # documents under the default branch.
15905
+ # Corresponds to the JSON property `branch`
14366
15906
  # @return [String]
14367
- attr_accessor :site_verification_state
15907
+ attr_accessor :branch
14368
15908
 
14369
- # Latest site verification time.
14370
- # Corresponds to the JSON property `verifyTime`
15909
+ # The default filter that is applied when a user performs a search without
15910
+ # checking any filters on the search page. The filter applied to every search
15911
+ # request when quality improvement such as query expansion is needed. In the
15912
+ # case a query does not have a sufficient amount of results this filter will be
15913
+ # used to determine whether or not to enable the query expansion flow. The
15914
+ # original filter will still be used for the query expanded search. This field
15915
+ # is strongly recommended to achieve high search quality. For more information
15916
+ # about filter syntax, see SearchRequest.filter.
15917
+ # Corresponds to the JSON property `canonicalFilter`
14371
15918
  # @return [String]
14372
- attr_accessor :verify_time
15919
+ attr_accessor :canonical_filter
14373
15920
 
14374
- def initialize(**args)
14375
- update!(**args)
15921
+ # A specification for configuring the behavior of content search.
15922
+ # Corresponds to the JSON property `contentSearchSpec`
15923
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec]
15924
+ attr_accessor :content_search_spec
15925
+
15926
+ # Specs defining dataStores to filter on in a search call and configurations for
15927
+ # those dataStores. This is only considered for engines with multiple dataStores
15928
+ # use case. For single dataStore within an engine, they should use the specs at
15929
+ # the top level.
15930
+ # Corresponds to the JSON property `dataStoreSpecs`
15931
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec>]
15932
+ attr_accessor :data_store_specs
15933
+
15934
+ # The specification that uses customized query embedding vector to do semantic
15935
+ # document retrieval.
15936
+ # Corresponds to the JSON property `embeddingSpec`
15937
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec]
15938
+ attr_accessor :embedding_spec
15939
+
15940
+ # Facet specifications for faceted search. If empty, no facets are returned. A
15941
+ # maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is
15942
+ # returned.
15943
+ # Corresponds to the JSON property `facetSpecs`
15944
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec>]
15945
+ attr_accessor :facet_specs
15946
+
15947
+ # The filter syntax consists of an expression language for constructing a
15948
+ # predicate from one or more fields of the documents being filtered. Filter
15949
+ # expression is case-sensitive. If this field is unrecognizable, an `
15950
+ # INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by
15951
+ # mapping the LHS filter key to a key property defined in the Vertex AI Search
15952
+ # backend -- this mapping is defined by the customer in their schema. For
15953
+ # example a media customer might have a field 'name' in their schema. In this
15954
+ # case the filter would look like this: filter --> name:'ANY("king kong")' For
15955
+ # more information about filtering including syntax and filter operators, see [
15956
+ # Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-
15957
+ # metadata)
15958
+ # Corresponds to the JSON property `filter`
15959
+ # @return [String]
15960
+ attr_accessor :filter
15961
+
15962
+ # Specifies the image query input.
15963
+ # Corresponds to the JSON property `imageQuery`
15964
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery]
15965
+ attr_accessor :image_query
15966
+
15967
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information,
15968
+ # see [Standard fields](https://cloud.google.com/apis/design/standard_fields).
15969
+ # This field helps to better interpret the query. If a value isn't specified,
15970
+ # the query language code is automatically detected, which may not be accurate.
15971
+ # Corresponds to the JSON property `languageCode`
15972
+ # @return [String]
15973
+ attr_accessor :language_code
15974
+
15975
+ # Specification to enable natural language understanding capabilities for search
15976
+ # requests.
15977
+ # Corresponds to the JSON property `naturalLanguageQueryUnderstandingSpec`
15978
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec]
15979
+ attr_accessor :natural_language_query_understanding_spec
15980
+
15981
+ # A 0-indexed integer that specifies the current offset (that is, starting
15982
+ # result location, amongst the Documents deemed by the API as relevant) in
15983
+ # search results. This field is only considered if page_token is unset. If this
15984
+ # field is negative, an `INVALID_ARGUMENT` is returned.
15985
+ # Corresponds to the JSON property `offset`
15986
+ # @return [Fixnum]
15987
+ attr_accessor :offset
15988
+
15989
+ # The order in which documents are returned. Documents can be ordered by a field
15990
+ # in an Document object. Leave it unset if ordered by relevance. `order_by`
15991
+ # expression is case-sensitive. For more information on ordering for retail
15992
+ # search, see [Ordering](https://cloud.google.com/retail/docs/filter-and-order#
15993
+ # order) If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
15994
+ # Corresponds to the JSON property `orderBy`
15995
+ # @return [String]
15996
+ attr_accessor :order_by
15997
+
15998
+ # Maximum number of Documents to return. The maximum allowed value depends on
15999
+ # the data type. Values above the maximum value are coerced to the maximum value.
16000
+ # * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with
16001
+ # advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `
16002
+ # 100`. If this field is negative, an `INVALID_ARGUMENT` is returned.
16003
+ # Corresponds to the JSON property `pageSize`
16004
+ # @return [Fixnum]
16005
+ attr_accessor :page_size
16006
+
16007
+ # A page token received from a previous SearchService.Search call. Provide this
16008
+ # to retrieve the subsequent page. When paginating, all other parameters
16009
+ # provided to SearchService.Search must match the call that provided the page
16010
+ # token. Otherwise, an `INVALID_ARGUMENT` error is returned.
16011
+ # Corresponds to the JSON property `pageToken`
16012
+ # @return [String]
16013
+ attr_accessor :page_token
16014
+
16015
+ # Additional search parameters. For public website search only, supported values
16016
+ # are: * `user_country_code`: string. Default empty. If set to non-empty,
16017
+ # results are restricted or boosted based on the location provided. For example,
16018
+ # `user_country_code: "au"` For available codes see [Country Codes](https://
16019
+ # developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `
16020
+ # search_type`: double. Default empty. Enables non-webpage searching depending
16021
+ # on the value. The only valid non-default value is 1, which enables image
16022
+ # searching. For example, `search_type: 1`
16023
+ # Corresponds to the JSON property `params`
16024
+ # @return [Hash<String,Object>]
16025
+ attr_accessor :params
16026
+
16027
+ # Raw search query.
16028
+ # Corresponds to the JSON property `query`
16029
+ # @return [String]
16030
+ attr_accessor :query
16031
+
16032
+ # Specification to determine under which conditions query expansion should occur.
16033
+ # Corresponds to the JSON property `queryExpansionSpec`
16034
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec]
16035
+ attr_accessor :query_expansion_spec
16036
+
16037
+ # The ranking expression controls the customized ranking on retrieval documents.
16038
+ # This overrides ServingConfig.ranking_expression. The ranking expression is a
16039
+ # single function or multiple functions that are joined by "+". *
16040
+ # ranking_expression = function, ` " + ", function `; Supported functions: *
16041
+ # double * relevance_score * double * dotProduct(embedding_field_path) Function
16042
+ # variables: * `relevance_score`: pre-defined keywords, used for measure
16043
+ # relevance between query and document. * `embedding_field_path`: the document
16044
+ # embedding field used with query embedding vector. * `dotProduct`: embedding
16045
+ # function between embedding_field_path and query embedding vector. Example
16046
+ # ranking expression: If document has an embedding field doc_embedding, the
16047
+ # ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(
16048
+ # doc_embedding)`.
16049
+ # Corresponds to the JSON property `rankingExpression`
16050
+ # @return [String]
16051
+ attr_accessor :ranking_expression
16052
+
16053
+ # The Unicode country/region code (CLDR) of a location, such as "US" and "419".
16054
+ # For more information, see [Standard fields](https://cloud.google.com/apis/
16055
+ # design/standard_fields). If set, then results will be boosted based on the
16056
+ # region_code provided.
16057
+ # Corresponds to the JSON property `regionCode`
16058
+ # @return [String]
16059
+ attr_accessor :region_code
16060
+
16061
+ # Whether to turn on safe search. This is only supported for website search.
16062
+ # Corresponds to the JSON property `safeSearch`
16063
+ # @return [Boolean]
16064
+ attr_accessor :safe_search
16065
+ alias_method :safe_search?, :safe_search
16066
+
16067
+ # Specification for search as you type in search requests.
16068
+ # Corresponds to the JSON property `searchAsYouTypeSpec`
16069
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec]
16070
+ attr_accessor :search_as_you_type_spec
16071
+
16072
+ # Required. The resource name of the Search serving config, such as `projects/*/
16073
+ # locations/global/collections/default_collection/engines/*/servingConfigs/
16074
+ # default_serving_config`, or `projects/*/locations/global/collections/
16075
+ # default_collection/dataStores/default_data_store/servingConfigs/
16076
+ # default_serving_config`. This field is used to identify the serving
16077
+ # configuration name, set of models used to make the search.
16078
+ # Corresponds to the JSON property `servingConfig`
16079
+ # @return [String]
16080
+ attr_accessor :serving_config
16081
+
16082
+ # The session resource name. Optional. Session allows users to do multi-turn /
16083
+ # search API calls or coordination between /search API calls and /answer API
16084
+ # calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the
16085
+ # auto-session mode (see below). 2. Call /search API with the session ID
16086
+ # generated in the first call. Here, the previous search query gets considered
16087
+ # in query standing. I.e., if the first query is "How did Alphabet do in 2022?"
16088
+ # and the current query is "How about 2023?", the current query will be
16089
+ # interpreted as "How did Alphabet do in 2023?". Example #2 (coordination
16090
+ # between /search API calls and /answer API calls): 1. Call /search API with the
16091
+ # auto-session mode (see below). 2. Call /answer API with the session ID
16092
+ # generated in the first call. Here, the answer generation happens in the
16093
+ # context of the search results from the first search call. Auto-session mode:
16094
+ # when `projects/.../sessions/-` is used, a new session gets automatically
16095
+ # created. Otherwise, users can use the create-session API to create a session
16096
+ # manually. Multi-turn Search feature is currently at private GA stage. Please
16097
+ # use v1alpha or v1beta version instead before we launch this feature to public
16098
+ # GA. Or ask for allowlisting through Google Support team.
16099
+ # Corresponds to the JSON property `session`
16100
+ # @return [String]
16101
+ attr_accessor :session
16102
+
16103
+ # Session specification. Multi-turn Search feature is currently at private GA
16104
+ # stage. Please use v1alpha or v1beta version instead before we launch this
16105
+ # feature to public GA. Or ask for allowlisting through Google Support team.
16106
+ # Corresponds to the JSON property `sessionSpec`
16107
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec]
16108
+ attr_accessor :session_spec
16109
+
16110
+ # The specification for query spell correction.
16111
+ # Corresponds to the JSON property `spellCorrectionSpec`
16112
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec]
16113
+ attr_accessor :spell_correction_spec
16114
+
16115
+ # Information of an end user.
16116
+ # Corresponds to the JSON property `userInfo`
16117
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaUserInfo]
16118
+ attr_accessor :user_info
16119
+
16120
+ # The user labels applied to a resource must meet the following requirements: *
16121
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
16122
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
16123
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
16124
+ # have a maximum length of 63 characters. * Keys and values can contain only
16125
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
16126
+ # must use UTF-8 encoding, and international characters are allowed. * The key
16127
+ # portion of a label must be unique. However, you can use the same key with
16128
+ # multiple resources. * Keys must start with a lowercase letter or international
16129
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
16130
+ # manager/docs/creating-managing-labels#requirements) for more details.
16131
+ # Corresponds to the JSON property `userLabels`
16132
+ # @return [Hash<String,String>]
16133
+ attr_accessor :user_labels
16134
+
16135
+ # A unique identifier for tracking visitors. For example, this could be
16136
+ # implemented with an HTTP cookie, which should be able to uniquely identify a
16137
+ # visitor on a single device. This unique identifier should not change if the
16138
+ # visitor logs in or out of the website. This field should NOT have a fixed
16139
+ # value such as `unknown_visitor`. This should be the same identifier as
16140
+ # UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field
16141
+ # must be a UTF-8 encoded string with a length limit of 128 characters.
16142
+ # Otherwise, an `INVALID_ARGUMENT` error is returned.
16143
+ # Corresponds to the JSON property `userPseudoId`
16144
+ # @return [String]
16145
+ attr_accessor :user_pseudo_id
16146
+
16147
+ def initialize(**args)
16148
+ update!(**args)
16149
+ end
16150
+
16151
+ # Update properties of this object
16152
+ def update!(**args)
16153
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
16154
+ @branch = args[:branch] if args.key?(:branch)
16155
+ @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
16156
+ @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
16157
+ @data_store_specs = args[:data_store_specs] if args.key?(:data_store_specs)
16158
+ @embedding_spec = args[:embedding_spec] if args.key?(:embedding_spec)
16159
+ @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
16160
+ @filter = args[:filter] if args.key?(:filter)
16161
+ @image_query = args[:image_query] if args.key?(:image_query)
16162
+ @language_code = args[:language_code] if args.key?(:language_code)
16163
+ @natural_language_query_understanding_spec = args[:natural_language_query_understanding_spec] if args.key?(:natural_language_query_understanding_spec)
16164
+ @offset = args[:offset] if args.key?(:offset)
16165
+ @order_by = args[:order_by] if args.key?(:order_by)
16166
+ @page_size = args[:page_size] if args.key?(:page_size)
16167
+ @page_token = args[:page_token] if args.key?(:page_token)
16168
+ @params = args[:params] if args.key?(:params)
16169
+ @query = args[:query] if args.key?(:query)
16170
+ @query_expansion_spec = args[:query_expansion_spec] if args.key?(:query_expansion_spec)
16171
+ @ranking_expression = args[:ranking_expression] if args.key?(:ranking_expression)
16172
+ @region_code = args[:region_code] if args.key?(:region_code)
16173
+ @safe_search = args[:safe_search] if args.key?(:safe_search)
16174
+ @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
16175
+ @serving_config = args[:serving_config] if args.key?(:serving_config)
16176
+ @session = args[:session] if args.key?(:session)
16177
+ @session_spec = args[:session_spec] if args.key?(:session_spec)
16178
+ @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
16179
+ @user_info = args[:user_info] if args.key?(:user_info)
16180
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
16181
+ @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
16182
+ end
16183
+ end
16184
+
16185
+ # Boost specification to boost certain documents.
16186
+ class GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec
16187
+ include Google::Apis::Core::Hashable
16188
+
16189
+ # Condition boost specifications. If a document matches multiple conditions in
16190
+ # the specifictions, boost scores from these specifications are all applied and
16191
+ # combined in a non-linear way. Maximum number of specifications is 20.
16192
+ # Corresponds to the JSON property `conditionBoostSpecs`
16193
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec>]
16194
+ attr_accessor :condition_boost_specs
16195
+
16196
+ def initialize(**args)
16197
+ update!(**args)
16198
+ end
16199
+
16200
+ # Update properties of this object
16201
+ def update!(**args)
16202
+ @condition_boost_specs = args[:condition_boost_specs] if args.key?(:condition_boost_specs)
16203
+ end
16204
+ end
16205
+
16206
+ # Boost applies to documents which match a condition.
16207
+ class GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec
16208
+ include Google::Apis::Core::Hashable
16209
+
16210
+ # Strength of the condition boost, which should be in [-1, 1]. Negative boost
16211
+ # means demotion. Default is 0.0. Setting to 1.0 gives the document a big
16212
+ # promotion. However, it does not necessarily mean that the boosted document
16213
+ # will be the top result at all times, nor that other documents will be excluded.
16214
+ # Results could still be shown even when none of them matches the condition.
16215
+ # And results that are significantly more relevant to the search query can still
16216
+ # trump your heavily favored but irrelevant documents. Setting to -1.0 gives the
16217
+ # document a big demotion. However, results that are deeply relevant might still
16218
+ # be shown. The document will have an upstream battle to get a fairly high
16219
+ # ranking, but it is not blocked out completely. Setting to 0.0 means no boost
16220
+ # applied. The boosting condition is ignored. Only one of the (condition, boost)
16221
+ # combination or the boost_control_spec below are set. If both are set then the
16222
+ # global boost is ignored and the more fine-grained boost_control_spec is
16223
+ # applied.
16224
+ # Corresponds to the JSON property `boost`
16225
+ # @return [Float]
16226
+ attr_accessor :boost
16227
+
16228
+ # Specification for custom ranking based on customer specified attribute value.
16229
+ # It provides more controls for customized ranking than the simple (condition,
16230
+ # boost) combination above.
16231
+ # Corresponds to the JSON property `boostControlSpec`
16232
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec]
16233
+ attr_accessor :boost_control_spec
16234
+
16235
+ # An expression which specifies a boost condition. The syntax and supported
16236
+ # fields are the same as a filter expression. See SearchRequest.filter for
16237
+ # detail syntax and limitations. Examples: * To boost documents with document ID
16238
+ # "doc_1" or "doc_2", and color "Red" or "Blue": `(document_id: ANY("doc_1", "
16239
+ # doc_2")) AND (color: ANY("Red", "Blue"))`
16240
+ # Corresponds to the JSON property `condition`
16241
+ # @return [String]
16242
+ attr_accessor :condition
16243
+
16244
+ def initialize(**args)
16245
+ update!(**args)
16246
+ end
16247
+
16248
+ # Update properties of this object
16249
+ def update!(**args)
16250
+ @boost = args[:boost] if args.key?(:boost)
16251
+ @boost_control_spec = args[:boost_control_spec] if args.key?(:boost_control_spec)
16252
+ @condition = args[:condition] if args.key?(:condition)
16253
+ end
16254
+ end
16255
+
16256
+ # Specification for custom ranking based on customer specified attribute value.
16257
+ # It provides more controls for customized ranking than the simple (condition,
16258
+ # boost) combination above.
16259
+ class GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec
16260
+ include Google::Apis::Core::Hashable
16261
+
16262
+ # The attribute type to be used to determine the boost amount. The attribute
16263
+ # value can be derived from the field value of the specified field_name. In the
16264
+ # case of numerical it is straightforward i.e. attribute_value =
16265
+ # numerical_field_value. In the case of freshness however, attribute_value = (
16266
+ # time.now() - datetime_field_value).
16267
+ # Corresponds to the JSON property `attributeType`
16268
+ # @return [String]
16269
+ attr_accessor :attribute_type
16270
+
16271
+ # The control points used to define the curve. The monotonic function (defined
16272
+ # through the interpolation_type above) passes through the control points listed
16273
+ # here.
16274
+ # Corresponds to the JSON property `controlPoints`
16275
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint>]
16276
+ attr_accessor :control_points
16277
+
16278
+ # The name of the field whose value will be used to determine the boost amount.
16279
+ # Corresponds to the JSON property `fieldName`
16280
+ # @return [String]
16281
+ attr_accessor :field_name
16282
+
16283
+ # The interpolation type to be applied to connect the control points listed
16284
+ # below.
16285
+ # Corresponds to the JSON property `interpolationType`
16286
+ # @return [String]
16287
+ attr_accessor :interpolation_type
16288
+
16289
+ def initialize(**args)
16290
+ update!(**args)
16291
+ end
16292
+
16293
+ # Update properties of this object
16294
+ def update!(**args)
16295
+ @attribute_type = args[:attribute_type] if args.key?(:attribute_type)
16296
+ @control_points = args[:control_points] if args.key?(:control_points)
16297
+ @field_name = args[:field_name] if args.key?(:field_name)
16298
+ @interpolation_type = args[:interpolation_type] if args.key?(:interpolation_type)
16299
+ end
16300
+ end
16301
+
16302
+ # The control points used to define the curve. The curve defined through these
16303
+ # control points can only be monotonically increasing or decreasing(constant
16304
+ # values are acceptable).
16305
+ class GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint
16306
+ include Google::Apis::Core::Hashable
16307
+
16308
+ # Can be one of: 1. The numerical field value. 2. The duration spec for
16309
+ # freshness: The value must be formatted as an XSD `dayTimeDuration` value (a
16310
+ # restricted subset of an ISO 8601 duration value). The pattern for this is: `
16311
+ # nDnM]`.
16312
+ # Corresponds to the JSON property `attributeValue`
16313
+ # @return [String]
16314
+ attr_accessor :attribute_value
16315
+
16316
+ # The value between -1 to 1 by which to boost the score if the attribute_value
16317
+ # evaluates to the value specified above.
16318
+ # Corresponds to the JSON property `boostAmount`
16319
+ # @return [Float]
16320
+ attr_accessor :boost_amount
16321
+
16322
+ def initialize(**args)
16323
+ update!(**args)
16324
+ end
16325
+
16326
+ # Update properties of this object
16327
+ def update!(**args)
16328
+ @attribute_value = args[:attribute_value] if args.key?(:attribute_value)
16329
+ @boost_amount = args[:boost_amount] if args.key?(:boost_amount)
16330
+ end
16331
+ end
16332
+
16333
+ # A specification for configuring the behavior of content search.
16334
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec
16335
+ include Google::Apis::Core::Hashable
16336
+
16337
+ # Specifies the chunk spec to be returned from the search response. Only
16338
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
16339
+ # CHUNKS
16340
+ # Corresponds to the JSON property `chunkSpec`
16341
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec]
16342
+ attr_accessor :chunk_spec
16343
+
16344
+ # A specification for configuring the extractive content in a search response.
16345
+ # Corresponds to the JSON property `extractiveContentSpec`
16346
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec]
16347
+ attr_accessor :extractive_content_spec
16348
+
16349
+ # Specifies the search result mode. If unspecified, the search result mode
16350
+ # defaults to `DOCUMENTS`.
16351
+ # Corresponds to the JSON property `searchResultMode`
16352
+ # @return [String]
16353
+ attr_accessor :search_result_mode
16354
+
16355
+ # A specification for configuring snippets in a search response.
16356
+ # Corresponds to the JSON property `snippetSpec`
16357
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec]
16358
+ attr_accessor :snippet_spec
16359
+
16360
+ # A specification for configuring a summary returned in a search response.
16361
+ # Corresponds to the JSON property `summarySpec`
16362
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec]
16363
+ attr_accessor :summary_spec
16364
+
16365
+ def initialize(**args)
16366
+ update!(**args)
16367
+ end
16368
+
16369
+ # Update properties of this object
16370
+ def update!(**args)
16371
+ @chunk_spec = args[:chunk_spec] if args.key?(:chunk_spec)
16372
+ @extractive_content_spec = args[:extractive_content_spec] if args.key?(:extractive_content_spec)
16373
+ @search_result_mode = args[:search_result_mode] if args.key?(:search_result_mode)
16374
+ @snippet_spec = args[:snippet_spec] if args.key?(:snippet_spec)
16375
+ @summary_spec = args[:summary_spec] if args.key?(:summary_spec)
16376
+ end
16377
+ end
16378
+
16379
+ # Specifies the chunk spec to be returned from the search response. Only
16380
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
16381
+ # CHUNKS
16382
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec
16383
+ include Google::Apis::Core::Hashable
16384
+
16385
+ # The number of next chunks to be returned of the current chunk. The maximum
16386
+ # allowed value is 3. If not specified, no next chunks will be returned.
16387
+ # Corresponds to the JSON property `numNextChunks`
16388
+ # @return [Fixnum]
16389
+ attr_accessor :num_next_chunks
16390
+
16391
+ # The number of previous chunks to be returned of the current chunk. The maximum
16392
+ # allowed value is 3. If not specified, no previous chunks will be returned.
16393
+ # Corresponds to the JSON property `numPreviousChunks`
16394
+ # @return [Fixnum]
16395
+ attr_accessor :num_previous_chunks
16396
+
16397
+ def initialize(**args)
16398
+ update!(**args)
16399
+ end
16400
+
16401
+ # Update properties of this object
16402
+ def update!(**args)
16403
+ @num_next_chunks = args[:num_next_chunks] if args.key?(:num_next_chunks)
16404
+ @num_previous_chunks = args[:num_previous_chunks] if args.key?(:num_previous_chunks)
16405
+ end
16406
+ end
16407
+
16408
+ # A specification for configuring the extractive content in a search response.
16409
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec
16410
+ include Google::Apis::Core::Hashable
16411
+
16412
+ # The maximum number of extractive answers returned in each search result. An
16413
+ # extractive answer is a verbatim answer extracted from the original document,
16414
+ # which provides a precise and contextually relevant answer to the search query.
16415
+ # If the number of matching answers is less than the `
16416
+ # max_extractive_answer_count`, return all of the answers. Otherwise, return the
16417
+ # `max_extractive_answer_count`. At most five answers are returned for each
16418
+ # SearchResult.
16419
+ # Corresponds to the JSON property `maxExtractiveAnswerCount`
16420
+ # @return [Fixnum]
16421
+ attr_accessor :max_extractive_answer_count
16422
+
16423
+ # The max number of extractive segments returned in each search result. Only
16424
+ # applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or
16425
+ # DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a
16426
+ # text segment extracted from the original document that is relevant to the
16427
+ # search query, and, in general, more verbose than an extractive answer. The
16428
+ # segment could then be used as input for LLMs to generate summaries and answers.
16429
+ # If the number of matching segments is less than `max_extractive_segment_count`
16430
+ # , return all of the segments. Otherwise, return the `
16431
+ # max_extractive_segment_count`.
16432
+ # Corresponds to the JSON property `maxExtractiveSegmentCount`
16433
+ # @return [Fixnum]
16434
+ attr_accessor :max_extractive_segment_count
16435
+
16436
+ # Return at most `num_next_segments` segments after each selected segments.
16437
+ # Corresponds to the JSON property `numNextSegments`
16438
+ # @return [Fixnum]
16439
+ attr_accessor :num_next_segments
16440
+
16441
+ # Specifies whether to also include the adjacent from each selected segments.
16442
+ # Return at most `num_previous_segments` segments before each selected segments.
16443
+ # Corresponds to the JSON property `numPreviousSegments`
16444
+ # @return [Fixnum]
16445
+ attr_accessor :num_previous_segments
16446
+
16447
+ # Specifies whether to return the confidence score from the extractive segments
16448
+ # in each search result. This feature is available only for new or allowlisted
16449
+ # data stores. To allowlist your data store, contact your Customer Engineer. The
16450
+ # default value is `false`.
16451
+ # Corresponds to the JSON property `returnExtractiveSegmentScore`
16452
+ # @return [Boolean]
16453
+ attr_accessor :return_extractive_segment_score
16454
+ alias_method :return_extractive_segment_score?, :return_extractive_segment_score
16455
+
16456
+ def initialize(**args)
16457
+ update!(**args)
16458
+ end
16459
+
16460
+ # Update properties of this object
16461
+ def update!(**args)
16462
+ @max_extractive_answer_count = args[:max_extractive_answer_count] if args.key?(:max_extractive_answer_count)
16463
+ @max_extractive_segment_count = args[:max_extractive_segment_count] if args.key?(:max_extractive_segment_count)
16464
+ @num_next_segments = args[:num_next_segments] if args.key?(:num_next_segments)
16465
+ @num_previous_segments = args[:num_previous_segments] if args.key?(:num_previous_segments)
16466
+ @return_extractive_segment_score = args[:return_extractive_segment_score] if args.key?(:return_extractive_segment_score)
16467
+ end
16468
+ end
16469
+
16470
+ # A specification for configuring snippets in a search response.
16471
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec
16472
+ include Google::Apis::Core::Hashable
16473
+
16474
+ # [DEPRECATED] This field is deprecated. To control snippet return, use `
16475
+ # return_snippet` field. For backwards compatibility, we will return snippet if
16476
+ # max_snippet_count > 0.
16477
+ # Corresponds to the JSON property `maxSnippetCount`
16478
+ # @return [Fixnum]
16479
+ attr_accessor :max_snippet_count
16480
+
16481
+ # [DEPRECATED] This field is deprecated and will have no affect on the snippet.
16482
+ # Corresponds to the JSON property `referenceOnly`
16483
+ # @return [Boolean]
16484
+ attr_accessor :reference_only
16485
+ alias_method :reference_only?, :reference_only
16486
+
16487
+ # If `true`, then return snippet. If no snippet can be generated, we return "No
16488
+ # snippet is available for this page." A `snippet_status` with `SUCCESS` or `
16489
+ # NO_SNIPPET_AVAILABLE` will also be returned.
16490
+ # Corresponds to the JSON property `returnSnippet`
16491
+ # @return [Boolean]
16492
+ attr_accessor :return_snippet
16493
+ alias_method :return_snippet?, :return_snippet
16494
+
16495
+ def initialize(**args)
16496
+ update!(**args)
16497
+ end
16498
+
16499
+ # Update properties of this object
16500
+ def update!(**args)
16501
+ @max_snippet_count = args[:max_snippet_count] if args.key?(:max_snippet_count)
16502
+ @reference_only = args[:reference_only] if args.key?(:reference_only)
16503
+ @return_snippet = args[:return_snippet] if args.key?(:return_snippet)
16504
+ end
16505
+ end
16506
+
16507
+ # A specification for configuring a summary returned in a search response.
16508
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec
16509
+ include Google::Apis::Core::Hashable
16510
+
16511
+ # Specifies whether to filter out adversarial queries. The default value is `
16512
+ # false`. Google employs search-query classification to detect adversarial
16513
+ # queries. No summary is returned if the search query is classified as an
16514
+ # adversarial query. For example, a user might ask a question regarding negative
16515
+ # comments about the company or submit a query designed to generate unsafe,
16516
+ # policy-violating output. If this field is set to `true`, we skip generating
16517
+ # summaries for adversarial queries and return fallback messages instead.
16518
+ # Corresponds to the JSON property `ignoreAdversarialQuery`
16519
+ # @return [Boolean]
16520
+ attr_accessor :ignore_adversarial_query
16521
+ alias_method :ignore_adversarial_query?, :ignore_adversarial_query
16522
+
16523
+ # Specifies whether to filter out queries that are not summary-seeking. The
16524
+ # default value is `false`. Google employs search-query classification to detect
16525
+ # summary-seeking queries. No summary is returned if the search query is
16526
+ # classified as a non-summary seeking query. For example, `why is the sky blue`
16527
+ # and `Who is the best soccer player in the world?` are summary-seeking queries,
16528
+ # but `SFO airport` and `world cup 2026` are not. They are most likely
16529
+ # navigational queries. If this field is set to `true`, we skip generating
16530
+ # summaries for non-summary seeking queries and return fallback messages instead.
16531
+ # Corresponds to the JSON property `ignoreNonSummarySeekingQuery`
16532
+ # @return [Boolean]
16533
+ attr_accessor :ignore_non_summary_seeking_query
16534
+ alias_method :ignore_non_summary_seeking_query?, :ignore_non_summary_seeking_query
16535
+
16536
+ # Specifies whether to include citations in the summary. The default value is `
16537
+ # false`. When this field is set to `true`, summaries include in-line citation
16538
+ # numbers. Example summary including citations: BigQuery is Google Cloud's fully
16539
+ # managed and completely serverless enterprise data warehouse [1]. BigQuery
16540
+ # supports all data types, works across clouds, and has built-in machine
16541
+ # learning and business intelligence, all within a unified platform [2, 3]. The
16542
+ # citation numbers refer to the returned search results and are 1-indexed. For
16543
+ # example, [1] means that the sentence is attributed to the first search result.
16544
+ # [2, 3] means that the sentence is attributed to both the second and third
16545
+ # search results.
16546
+ # Corresponds to the JSON property `includeCitations`
16547
+ # @return [Boolean]
16548
+ attr_accessor :include_citations
16549
+ alias_method :include_citations?, :include_citations
16550
+
16551
+ # Language code for Summary. Use language tags defined by [BCP47](https://www.
16552
+ # rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
16553
+ # Corresponds to the JSON property `languageCode`
16554
+ # @return [String]
16555
+ attr_accessor :language_code
16556
+
16557
+ # Specification of the prompt to use with the model.
16558
+ # Corresponds to the JSON property `modelPromptSpec`
16559
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec]
16560
+ attr_accessor :model_prompt_spec
16561
+
16562
+ # Specification of the model.
16563
+ # Corresponds to the JSON property `modelSpec`
16564
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec]
16565
+ attr_accessor :model_spec
16566
+
16567
+ # The number of top results to generate the summary from. If the number of
16568
+ # results returned is less than `summaryResultCount`, the summary is generated
16569
+ # from all of the results. At most 10 results for documents mode, or 50 for
16570
+ # chunks mode, can be used to generate a summary. The chunks mode is used when
16571
+ # SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.
16572
+ # Corresponds to the JSON property `summaryResultCount`
16573
+ # @return [Fixnum]
16574
+ attr_accessor :summary_result_count
16575
+
16576
+ # If true, answer will be generated from most relevant chunks from top search
16577
+ # results. This feature will improve summary quality. Note that with this
16578
+ # feature enabled, not all top search results will be referenced and included in
16579
+ # the reference list, so the citation source index only points to the search
16580
+ # results listed in the reference list.
16581
+ # Corresponds to the JSON property `useSemanticChunks`
16582
+ # @return [Boolean]
16583
+ attr_accessor :use_semantic_chunks
16584
+ alias_method :use_semantic_chunks?, :use_semantic_chunks
16585
+
16586
+ def initialize(**args)
16587
+ update!(**args)
16588
+ end
16589
+
16590
+ # Update properties of this object
16591
+ def update!(**args)
16592
+ @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
16593
+ @ignore_non_summary_seeking_query = args[:ignore_non_summary_seeking_query] if args.key?(:ignore_non_summary_seeking_query)
16594
+ @include_citations = args[:include_citations] if args.key?(:include_citations)
16595
+ @language_code = args[:language_code] if args.key?(:language_code)
16596
+ @model_prompt_spec = args[:model_prompt_spec] if args.key?(:model_prompt_spec)
16597
+ @model_spec = args[:model_spec] if args.key?(:model_spec)
16598
+ @summary_result_count = args[:summary_result_count] if args.key?(:summary_result_count)
16599
+ @use_semantic_chunks = args[:use_semantic_chunks] if args.key?(:use_semantic_chunks)
16600
+ end
16601
+ end
16602
+
16603
+ # Specification of the prompt to use with the model.
16604
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec
16605
+ include Google::Apis::Core::Hashable
16606
+
16607
+ # Text at the beginning of the prompt that instructs the assistant. Examples are
16608
+ # available in the user guide.
16609
+ # Corresponds to the JSON property `preamble`
16610
+ # @return [String]
16611
+ attr_accessor :preamble
16612
+
16613
+ def initialize(**args)
16614
+ update!(**args)
16615
+ end
16616
+
16617
+ # Update properties of this object
16618
+ def update!(**args)
16619
+ @preamble = args[:preamble] if args.key?(:preamble)
16620
+ end
16621
+ end
16622
+
16623
+ # Specification of the model.
16624
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec
16625
+ include Google::Apis::Core::Hashable
16626
+
16627
+ # The model version used to generate the summary. Supported values are: * `
16628
+ # stable`: string. Default value when no value is specified. Uses a generally
16629
+ # available, fine-tuned model. For more information, see [Answer generation
16630
+ # model versions and lifecycle](https://cloud.google.com/generative-ai-app-
16631
+ # builder/docs/answer-generation-models). * `preview`: string. (Public preview)
16632
+ # Uses a preview model. For more information, see [Answer generation model
16633
+ # versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/
16634
+ # docs/answer-generation-models).
16635
+ # Corresponds to the JSON property `version`
16636
+ # @return [String]
16637
+ attr_accessor :version
16638
+
16639
+ def initialize(**args)
16640
+ update!(**args)
16641
+ end
16642
+
16643
+ # Update properties of this object
16644
+ def update!(**args)
16645
+ @version = args[:version] if args.key?(:version)
16646
+ end
16647
+ end
16648
+
16649
+ # A struct to define data stores to filter on in a search call and
16650
+ # configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error
16651
+ # is returned.
16652
+ class GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec
16653
+ include Google::Apis::Core::Hashable
16654
+
16655
+ # Required. Full resource name of DataStore, such as `projects/`project`/
16656
+ # locations/`location`/collections/`collection_id`/dataStores/`data_store_id``.
16657
+ # Corresponds to the JSON property `dataStore`
16658
+ # @return [String]
16659
+ attr_accessor :data_store
16660
+
16661
+ def initialize(**args)
16662
+ update!(**args)
16663
+ end
16664
+
16665
+ # Update properties of this object
16666
+ def update!(**args)
16667
+ @data_store = args[:data_store] if args.key?(:data_store)
16668
+ end
16669
+ end
16670
+
16671
+ # The specification that uses customized query embedding vector to do semantic
16672
+ # document retrieval.
16673
+ class GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec
16674
+ include Google::Apis::Core::Hashable
16675
+
16676
+ # The embedding vector used for retrieval. Limit to 1.
16677
+ # Corresponds to the JSON property `embeddingVectors`
16678
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector>]
16679
+ attr_accessor :embedding_vectors
16680
+
16681
+ def initialize(**args)
16682
+ update!(**args)
16683
+ end
16684
+
16685
+ # Update properties of this object
16686
+ def update!(**args)
16687
+ @embedding_vectors = args[:embedding_vectors] if args.key?(:embedding_vectors)
16688
+ end
16689
+ end
16690
+
16691
+ # Embedding vector.
16692
+ class GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector
16693
+ include Google::Apis::Core::Hashable
16694
+
16695
+ # Embedding field path in schema.
16696
+ # Corresponds to the JSON property `fieldPath`
16697
+ # @return [String]
16698
+ attr_accessor :field_path
16699
+
16700
+ # Query embedding vector.
16701
+ # Corresponds to the JSON property `vector`
16702
+ # @return [Array<Float>]
16703
+ attr_accessor :vector
16704
+
16705
+ def initialize(**args)
16706
+ update!(**args)
16707
+ end
16708
+
16709
+ # Update properties of this object
16710
+ def update!(**args)
16711
+ @field_path = args[:field_path] if args.key?(:field_path)
16712
+ @vector = args[:vector] if args.key?(:vector)
16713
+ end
16714
+ end
16715
+
16716
+ # A facet specification to perform faceted search.
16717
+ class GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec
16718
+ include Google::Apis::Core::Hashable
16719
+
16720
+ # Enables dynamic position for this facet. If set to true, the position of this
16721
+ # facet among all facets in the response is determined automatically. If dynamic
16722
+ # facets are enabled, it is ordered together. If set to false, the position of
16723
+ # this facet in the response is the same as in the request, and it is ranked
16724
+ # before the facets with dynamic position enable and all dynamic facets. For
16725
+ # example, you may always want to have rating facet returned in the response,
16726
+ # but it's not necessarily to always display the rating facet at the top. In
16727
+ # that case, you can set enable_dynamic_position to true so that the position of
16728
+ # rating facet in response is determined automatically. Another example,
16729
+ # assuming you have the following facets in the request: * "rating",
16730
+ # enable_dynamic_position = true * "price", enable_dynamic_position = false * "
16731
+ # brands", enable_dynamic_position = false And also you have a dynamic facets
16732
+ # enabled, which generates a facet `gender`. Then the final order of the facets
16733
+ # in the response can be ("price", "brands", "rating", "gender") or ("price", "
16734
+ # brands", "gender", "rating") depends on how API orders "gender" and "rating"
16735
+ # facets. However, notice that "price" and "brands" are always ranked at first
16736
+ # and second position because their enable_dynamic_position is false.
16737
+ # Corresponds to the JSON property `enableDynamicPosition`
16738
+ # @return [Boolean]
16739
+ attr_accessor :enable_dynamic_position
16740
+ alias_method :enable_dynamic_position?, :enable_dynamic_position
16741
+
16742
+ # List of keys to exclude when faceting. By default, FacetKey.key is not
16743
+ # excluded from the filter unless it is listed in this field. Listing a facet
16744
+ # key in this field allows its values to appear as facet results, even when they
16745
+ # are filtered out of search results. Using this field does not affect what
16746
+ # search results are returned. For example, suppose there are 100 documents with
16747
+ # the color facet "Red" and 200 documents with the color facet "Blue". A query
16748
+ # containing the filter "color:ANY("Red")" and having "color" as FacetKey.key
16749
+ # would by default return only "Red" documents in the search results, and also
16750
+ # return "Red" with count 100 as the only color facet. Although there are also
16751
+ # blue documents available, "Blue" would not be shown as an available facet
16752
+ # value. If "color" is listed in "excludedFilterKeys", then the query returns
16753
+ # the facet values "Red" with count 100 and "Blue" with count 200, because the "
16754
+ # color" key is now excluded from the filter. Because this field doesn't affect
16755
+ # search results, the search results are still correctly filtered to return only
16756
+ # "Red" documents. A maximum of 100 values are allowed. Otherwise, an `
16757
+ # INVALID_ARGUMENT` error is returned.
16758
+ # Corresponds to the JSON property `excludedFilterKeys`
16759
+ # @return [Array<String>]
16760
+ attr_accessor :excluded_filter_keys
16761
+
16762
+ # Specifies how a facet is computed.
16763
+ # Corresponds to the JSON property `facetKey`
16764
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey]
16765
+ attr_accessor :facet_key
16766
+
16767
+ # Maximum facet values that are returned for this facet. If unspecified,
16768
+ # defaults to 20. The maximum allowed value is 300. Values above 300 are coerced
16769
+ # to 300. For aggregation in healthcare search, when the [FacetKey.key] is "
16770
+ # healthcare_aggregation_key", the limit will be overridden to 10,000 internally,
16771
+ # regardless of the value set here. If this field is negative, an `
16772
+ # INVALID_ARGUMENT` is returned.
16773
+ # Corresponds to the JSON property `limit`
16774
+ # @return [Fixnum]
16775
+ attr_accessor :limit
16776
+
16777
+ def initialize(**args)
16778
+ update!(**args)
16779
+ end
16780
+
16781
+ # Update properties of this object
16782
+ def update!(**args)
16783
+ @enable_dynamic_position = args[:enable_dynamic_position] if args.key?(:enable_dynamic_position)
16784
+ @excluded_filter_keys = args[:excluded_filter_keys] if args.key?(:excluded_filter_keys)
16785
+ @facet_key = args[:facet_key] if args.key?(:facet_key)
16786
+ @limit = args[:limit] if args.key?(:limit)
16787
+ end
16788
+ end
16789
+
16790
+ # Specifies how a facet is computed.
16791
+ class GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey
16792
+ include Google::Apis::Core::Hashable
16793
+
16794
+ # True to make facet keys case insensitive when getting faceting values with
16795
+ # prefixes or contains; false otherwise.
16796
+ # Corresponds to the JSON property `caseInsensitive`
16797
+ # @return [Boolean]
16798
+ attr_accessor :case_insensitive
16799
+ alias_method :case_insensitive?, :case_insensitive
16800
+
16801
+ # Only get facet values that contain the given strings. For example, suppose "
16802
+ # category" has three values "Action > 2022", "Action > 2021" and "Sci-Fi > 2022"
16803
+ # . If set "contains" to "2022", the "category" facet only contains "Action >
16804
+ # 2022" and "Sci-Fi > 2022". Only supported on textual fields. Maximum is 10.
16805
+ # Corresponds to the JSON property `contains`
16806
+ # @return [Array<String>]
16807
+ attr_accessor :contains
16808
+
16809
+ # Set only if values should be bucketed into intervals. Must be set for facets
16810
+ # with numerical values. Must not be set for facet with text values. Maximum
16811
+ # number of intervals is 30.
16812
+ # Corresponds to the JSON property `intervals`
16813
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaInterval>]
16814
+ attr_accessor :intervals
16815
+
16816
+ # Required. Supported textual and numerical facet keys in Document object, over
16817
+ # which the facet values are computed. Facet key is case-sensitive.
16818
+ # Corresponds to the JSON property `key`
16819
+ # @return [String]
16820
+ attr_accessor :key
16821
+
16822
+ # The order in which documents are returned. Allowed values are: * "count desc",
16823
+ # which means order by SearchResponse.Facet.values.count descending. * "value
16824
+ # desc", which means order by SearchResponse.Facet.values.value descending. Only
16825
+ # applies to textual facets. If not set, textual values are sorted in [natural
16826
+ # order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals
16827
+ # are sorted in the order given by FacetSpec.FacetKey.intervals.
16828
+ # Corresponds to the JSON property `orderBy`
16829
+ # @return [String]
16830
+ attr_accessor :order_by
16831
+
16832
+ # Only get facet values that start with the given string prefix. For example,
16833
+ # suppose "category" has three values "Action > 2022", "Action > 2021" and "Sci-
16834
+ # Fi > 2022". If set "prefixes" to "Action", the "category" facet only contains "
16835
+ # Action > 2022" and "Action > 2021". Only supported on textual fields. Maximum
16836
+ # is 10.
16837
+ # Corresponds to the JSON property `prefixes`
16838
+ # @return [Array<String>]
16839
+ attr_accessor :prefixes
16840
+
16841
+ # Only get facet for the given restricted values. Only supported on textual
16842
+ # fields. For example, suppose "category" has three values "Action > 2022", "
16843
+ # Action > 2021" and "Sci-Fi > 2022". If set "restricted_values" to "Action >
16844
+ # 2022", the "category" facet only contains "Action > 2022". Only supported on
16845
+ # textual fields. Maximum is 10.
16846
+ # Corresponds to the JSON property `restrictedValues`
16847
+ # @return [Array<String>]
16848
+ attr_accessor :restricted_values
16849
+
16850
+ def initialize(**args)
16851
+ update!(**args)
16852
+ end
16853
+
16854
+ # Update properties of this object
16855
+ def update!(**args)
16856
+ @case_insensitive = args[:case_insensitive] if args.key?(:case_insensitive)
16857
+ @contains = args[:contains] if args.key?(:contains)
16858
+ @intervals = args[:intervals] if args.key?(:intervals)
16859
+ @key = args[:key] if args.key?(:key)
16860
+ @order_by = args[:order_by] if args.key?(:order_by)
16861
+ @prefixes = args[:prefixes] if args.key?(:prefixes)
16862
+ @restricted_values = args[:restricted_values] if args.key?(:restricted_values)
16863
+ end
16864
+ end
16865
+
16866
+ # Specifies the image query input.
16867
+ class GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery
16868
+ include Google::Apis::Core::Hashable
16869
+
16870
+ # Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.
16871
+ # Corresponds to the JSON property `imageBytes`
16872
+ # @return [String]
16873
+ attr_accessor :image_bytes
16874
+
16875
+ def initialize(**args)
16876
+ update!(**args)
16877
+ end
16878
+
16879
+ # Update properties of this object
16880
+ def update!(**args)
16881
+ @image_bytes = args[:image_bytes] if args.key?(:image_bytes)
16882
+ end
16883
+ end
16884
+
16885
+ # Specification to enable natural language understanding capabilities for search
16886
+ # requests.
16887
+ class GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec
16888
+ include Google::Apis::Core::Hashable
16889
+
16890
+ # The condition under which filter extraction should occur. Default to Condition.
16891
+ # DISABLED.
16892
+ # Corresponds to the JSON property `filterExtractionCondition`
16893
+ # @return [String]
16894
+ attr_accessor :filter_extraction_condition
16895
+
16896
+ # Field names used for location-based filtering, where geolocation filters are
16897
+ # detected in natural language search queries. Only valid when the
16898
+ # FilterExtractionCondition is set to `ENABLED`. If this field is set, it
16899
+ # overrides the field names set in ServingConfig.
16900
+ # geo_search_query_detection_field_names.
16901
+ # Corresponds to the JSON property `geoSearchQueryDetectionFieldNames`
16902
+ # @return [Array<String>]
16903
+ attr_accessor :geo_search_query_detection_field_names
16904
+
16905
+ def initialize(**args)
16906
+ update!(**args)
16907
+ end
16908
+
16909
+ # Update properties of this object
16910
+ def update!(**args)
16911
+ @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
16912
+ @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
16913
+ end
16914
+ end
16915
+
16916
+ # Specification to determine under which conditions query expansion should occur.
16917
+ class GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec
16918
+ include Google::Apis::Core::Hashable
16919
+
16920
+ # The condition under which query expansion should occur. Default to Condition.
16921
+ # DISABLED.
16922
+ # Corresponds to the JSON property `condition`
16923
+ # @return [String]
16924
+ attr_accessor :condition
16925
+
16926
+ # Whether to pin unexpanded results. If this field is set to true, unexpanded
16927
+ # products are always at the top of the search results, followed by the expanded
16928
+ # results.
16929
+ # Corresponds to the JSON property `pinUnexpandedResults`
16930
+ # @return [Boolean]
16931
+ attr_accessor :pin_unexpanded_results
16932
+ alias_method :pin_unexpanded_results?, :pin_unexpanded_results
16933
+
16934
+ def initialize(**args)
16935
+ update!(**args)
16936
+ end
16937
+
16938
+ # Update properties of this object
16939
+ def update!(**args)
16940
+ @condition = args[:condition] if args.key?(:condition)
16941
+ @pin_unexpanded_results = args[:pin_unexpanded_results] if args.key?(:pin_unexpanded_results)
16942
+ end
16943
+ end
16944
+
16945
+ # Specification for search as you type in search requests.
16946
+ class GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec
16947
+ include Google::Apis::Core::Hashable
16948
+
16949
+ # The condition under which search as you type should occur. Default to
16950
+ # Condition.DISABLED.
16951
+ # Corresponds to the JSON property `condition`
16952
+ # @return [String]
16953
+ attr_accessor :condition
16954
+
16955
+ def initialize(**args)
16956
+ update!(**args)
16957
+ end
16958
+
16959
+ # Update properties of this object
16960
+ def update!(**args)
16961
+ @condition = args[:condition] if args.key?(:condition)
16962
+ end
16963
+ end
16964
+
16965
+ # Session specification. Multi-turn Search feature is currently at private GA
16966
+ # stage. Please use v1alpha or v1beta version instead before we launch this
16967
+ # feature to public GA. Or ask for allowlisting through Google Support team.
16968
+ class GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec
16969
+ include Google::Apis::Core::Hashable
16970
+
16971
+ # If set, the search result gets stored to the "turn" specified by this query ID.
16972
+ # Example: Let's say the session looks like this: session ` name: ".../sessions/
16973
+ # xxx" turns ` query ` text: "What is foo?" query_id: ".../questions/yyy" `
16974
+ # answer: "Foo is ..." ` turns ` query ` text: "How about bar then?" query_id: ".
16975
+ # ../questions/zzz" ` ` ` The user can call /search API with a request like this:
16976
+ # session: ".../sessions/xxx" session_spec ` query_id: ".../questions/zzz" `
16977
+ # Then, the API stores the search result, associated with the last turn. The
16978
+ # stored search result can be used by a subsequent /answer API call (with the
16979
+ # session ID and the query ID specified). Also, it is possible to call /search
16980
+ # and /answer in parallel with the same session ID & query ID.
16981
+ # Corresponds to the JSON property `queryId`
16982
+ # @return [String]
16983
+ attr_accessor :query_id
16984
+
16985
+ # The number of top search results to persist. The persisted search results can
16986
+ # be used for the subsequent /answer api call. This field is simliar to the `
16987
+ # summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.
16988
+ # summary_result_count. At most 10 results for documents mode, or 50 for chunks
16989
+ # mode.
16990
+ # Corresponds to the JSON property `searchResultPersistenceCount`
16991
+ # @return [Fixnum]
16992
+ attr_accessor :search_result_persistence_count
16993
+
16994
+ def initialize(**args)
16995
+ update!(**args)
16996
+ end
16997
+
16998
+ # Update properties of this object
16999
+ def update!(**args)
17000
+ @query_id = args[:query_id] if args.key?(:query_id)
17001
+ @search_result_persistence_count = args[:search_result_persistence_count] if args.key?(:search_result_persistence_count)
17002
+ end
17003
+ end
17004
+
17005
+ # The specification for query spell correction.
17006
+ class GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec
17007
+ include Google::Apis::Core::Hashable
17008
+
17009
+ # The mode under which spell correction replaces the original search query.
17010
+ # Defaults to Mode.AUTO.
17011
+ # Corresponds to the JSON property `mode`
17012
+ # @return [String]
17013
+ attr_accessor :mode
17014
+
17015
+ def initialize(**args)
17016
+ update!(**args)
17017
+ end
17018
+
17019
+ # Update properties of this object
17020
+ def update!(**args)
17021
+ @mode = args[:mode] if args.key?(:mode)
17022
+ end
17023
+ end
17024
+
17025
+ # Verification information for target sites in advanced site search.
17026
+ class GoogleCloudDiscoveryengineV1betaSiteVerificationInfo
17027
+ include Google::Apis::Core::Hashable
17028
+
17029
+ # Site verification state indicating the ownership and validity.
17030
+ # Corresponds to the JSON property `siteVerificationState`
17031
+ # @return [String]
17032
+ attr_accessor :site_verification_state
17033
+
17034
+ # Latest site verification time.
17035
+ # Corresponds to the JSON property `verifyTime`
17036
+ # @return [String]
17037
+ attr_accessor :verify_time
17038
+
17039
+ def initialize(**args)
17040
+ update!(**args)
14376
17041
  end
14377
17042
 
14378
17043
  # Update properties of this object
@@ -14669,6 +17334,40 @@ module Google
14669
17334
  end
14670
17335
  end
14671
17336
 
17337
+ # Information of an end user.
17338
+ class GoogleCloudDiscoveryengineV1betaUserInfo
17339
+ include Google::Apis::Core::Hashable
17340
+
17341
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
17342
+ # string with a length limit of 1,000 characters. Otherwise, an `
17343
+ # INVALID_ARGUMENT` error is returned. This should not be set when using the
17344
+ # client side event reporting with GTM or JavaScript tag in UserEventService.
17345
+ # CollectUserEvent or if UserEvent.direct_user_request is set.
17346
+ # Corresponds to the JSON property `userAgent`
17347
+ # @return [String]
17348
+ attr_accessor :user_agent
17349
+
17350
+ # Highly recommended for logged-in users. Unique identifier for logged-in user,
17351
+ # such as a user name. Don't set for anonymous users. Always use a hashed value
17352
+ # for this ID. Don't set the field to the same fixed ID for different users.
17353
+ # This mixes the event history of those users together, which results in
17354
+ # degraded model quality. The field must be a UTF-8 encoded string with a length
17355
+ # limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
17356
+ # Corresponds to the JSON property `userId`
17357
+ # @return [String]
17358
+ attr_accessor :user_id
17359
+
17360
+ def initialize(**args)
17361
+ update!(**args)
17362
+ end
17363
+
17364
+ # Update properties of this object
17365
+ def update!(**args)
17366
+ @user_agent = args[:user_agent] if args.key?(:user_agent)
17367
+ @user_id = args[:user_id] if args.key?(:user_id)
17368
+ end
17369
+ end
17370
+
14672
17371
  # The request message for Operations.CancelOperation.
14673
17372
  class GoogleLongrunningCancelOperationRequest
14674
17373
  include Google::Apis::Core::Hashable