google-apis-discoveryengine_v1beta 0.19.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -276,6 +276,58 @@ module Google
276
276
  end
277
277
  end
278
278
 
279
+ # Metadata for Create Schema LRO.
280
+ class GoogleCloudDiscoveryengineV1CreateSchemaMetadata
281
+ include Google::Apis::Core::Hashable
282
+
283
+ # Operation create time.
284
+ # Corresponds to the JSON property `createTime`
285
+ # @return [String]
286
+ attr_accessor :create_time
287
+
288
+ # Operation last update time. If the operation is done, this is also the finish
289
+ # time.
290
+ # Corresponds to the JSON property `updateTime`
291
+ # @return [String]
292
+ attr_accessor :update_time
293
+
294
+ def initialize(**args)
295
+ update!(**args)
296
+ end
297
+
298
+ # Update properties of this object
299
+ def update!(**args)
300
+ @create_time = args[:create_time] if args.key?(:create_time)
301
+ @update_time = args[:update_time] if args.key?(:update_time)
302
+ end
303
+ end
304
+
305
+ # Metadata for DeleteSchema LRO.
306
+ class GoogleCloudDiscoveryengineV1DeleteSchemaMetadata
307
+ include Google::Apis::Core::Hashable
308
+
309
+ # Operation create time.
310
+ # Corresponds to the JSON property `createTime`
311
+ # @return [String]
312
+ attr_accessor :create_time
313
+
314
+ # Operation last update time. If the operation is done, this is also the finish
315
+ # time.
316
+ # Corresponds to the JSON property `updateTime`
317
+ # @return [String]
318
+ attr_accessor :update_time
319
+
320
+ def initialize(**args)
321
+ update!(**args)
322
+ end
323
+
324
+ # Update properties of this object
325
+ def update!(**args)
326
+ @create_time = args[:create_time] if args.key?(:create_time)
327
+ @update_time = args[:update_time] if args.key?(:update_time)
328
+ end
329
+ end
330
+
279
331
  # Metadata related to the progress of the ImportDocuments operation. This is
280
332
  # returned by the google.longrunning.Operation.metadata field.
281
333
  class GoogleCloudDiscoveryengineV1ImportDocumentsMetadata
@@ -544,6 +596,32 @@ module Google
544
596
  end
545
597
  end
546
598
 
599
+ # Metadata for UpdateSchema LRO.
600
+ class GoogleCloudDiscoveryengineV1UpdateSchemaMetadata
601
+ include Google::Apis::Core::Hashable
602
+
603
+ # Operation create time.
604
+ # Corresponds to the JSON property `createTime`
605
+ # @return [String]
606
+ attr_accessor :create_time
607
+
608
+ # Operation last update time. If the operation is done, this is also the finish
609
+ # time.
610
+ # Corresponds to the JSON property `updateTime`
611
+ # @return [String]
612
+ attr_accessor :update_time
613
+
614
+ def initialize(**args)
615
+ update!(**args)
616
+ end
617
+
618
+ # Update properties of this object
619
+ def update!(**args)
620
+ @create_time = args[:create_time] if args.key?(:create_time)
621
+ @update_time = args[:update_time] if args.key?(:update_time)
622
+ end
623
+ end
624
+
547
625
  # Response message for SiteSearchEngineService.BatchCreateTargetSites method.
548
626
  class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse
549
627
  include Google::Apis::Core::Hashable
@@ -563,6 +641,175 @@ module Google
563
641
  end
564
642
  end
565
643
 
644
+ # Metadata for Create Schema LRO.
645
+ class GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata
646
+ include Google::Apis::Core::Hashable
647
+
648
+ # Operation create time.
649
+ # Corresponds to the JSON property `createTime`
650
+ # @return [String]
651
+ attr_accessor :create_time
652
+
653
+ # Operation last update time. If the operation is done, this is also the finish
654
+ # time.
655
+ # Corresponds to the JSON property `updateTime`
656
+ # @return [String]
657
+ attr_accessor :update_time
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @create_time = args[:create_time] if args.key?(:create_time)
666
+ @update_time = args[:update_time] if args.key?(:update_time)
667
+ end
668
+ end
669
+
670
+ # Metadata for DeleteSchema LRO.
671
+ class GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata
672
+ include Google::Apis::Core::Hashable
673
+
674
+ # Operation create time.
675
+ # Corresponds to the JSON property `createTime`
676
+ # @return [String]
677
+ attr_accessor :create_time
678
+
679
+ # Operation last update time. If the operation is done, this is also the finish
680
+ # time.
681
+ # Corresponds to the JSON property `updateTime`
682
+ # @return [String]
683
+ attr_accessor :update_time
684
+
685
+ def initialize(**args)
686
+ update!(**args)
687
+ end
688
+
689
+ # Update properties of this object
690
+ def update!(**args)
691
+ @create_time = args[:create_time] if args.key?(:create_time)
692
+ @update_time = args[:update_time] if args.key?(:update_time)
693
+ end
694
+ end
695
+
696
+ # Configurations for fields of a schema. For example, configuring a field is
697
+ # indexable, or searchable.
698
+ class GoogleCloudDiscoveryengineV1alphaFieldConfig
699
+ include Google::Apis::Core::Hashable
700
+
701
+ # If completable_option is COMPLETABLE_ENABLED, field values are directly used
702
+ # and returned as suggestions for Autocomplete in CompletionService.
703
+ # CompleteQuery. If completable_option is unset, the server behavior defaults to
704
+ # COMPLETABLE_DISABLED for fields that support setting completable options,
705
+ # which are just `string` fields. For those fields that do not support setting
706
+ # completable options, the server will skip completable option setting, and
707
+ # setting completable_option for those fields will throw `INVALID_ARGUMENT`
708
+ # error.
709
+ # Corresponds to the JSON property `completableOption`
710
+ # @return [String]
711
+ attr_accessor :completable_option
712
+
713
+ # If dynamic_facetable_option is DYNAMIC_FACETABLE_ENABLED, field values are
714
+ # available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if
715
+ # FieldConfig.indexable_option is INDEXABLE_DISABLED. Otherwise, an `
716
+ # INVALID_ARGUMENT` error will be returned. If dynamic_facetable_option is unset,
717
+ # the server behavior defaults to DYNAMIC_FACETABLE_DISABLED for fields that
718
+ # support setting dynamic facetable options. For those fields that do not
719
+ # support setting dynamic facetable options, such as `object` and `boolean`, the
720
+ # server will skip dynamic facetable option setting, and setting
721
+ # dynamic_facetable_option for those fields will throw `INVALID_ARGUMENT` error.
722
+ # Corresponds to the JSON property `dynamicFacetableOption`
723
+ # @return [String]
724
+ attr_accessor :dynamic_facetable_option
725
+
726
+ # Required. Field path of the schema field. For example: `title`, `description`,
727
+ # `release_info.release_year`.
728
+ # Corresponds to the JSON property `fieldPath`
729
+ # @return [String]
730
+ attr_accessor :field_path
731
+
732
+ # Output only. Raw type of the field.
733
+ # Corresponds to the JSON property `fieldType`
734
+ # @return [String]
735
+ attr_accessor :field_type
736
+
737
+ # If indexable_option is INDEXABLE_ENABLED, field values are indexed so that it
738
+ # can be filtered or faceted in SearchService.Search. If indexable_option is
739
+ # unset, the server behavior defaults to INDEXABLE_DISABLED for fields that
740
+ # support setting indexable options. For those fields that do not support
741
+ # setting indexable options, such as `object` and `boolean` and key properties,
742
+ # the server will skip indexable_option setting, and setting indexable_option
743
+ # for those fields will throw `INVALID_ARGUMENT` error.
744
+ # Corresponds to the JSON property `indexableOption`
745
+ # @return [String]
746
+ attr_accessor :indexable_option
747
+
748
+ # Output only. Type of the key property that this field is mapped to. Empty
749
+ # string if this is not annotated as mapped to a key property. Example types are
750
+ # `title`, `description`. Full list is defined by `keyPropertyMapping` in the
751
+ # schema field annotation. If the schema field has a `KeyPropertyMapping`
752
+ # annotation, `indexable_option` and `searchable_option` of this field cannot be
753
+ # modified.
754
+ # Corresponds to the JSON property `keyPropertyType`
755
+ # @return [String]
756
+ attr_accessor :key_property_type
757
+
758
+ # If recs_filterable_option is FILTERABLE_ENABLED, field values are filterable
759
+ # by filter expression in RecommendationService.Recommend. If FILTERABLE_ENABLED
760
+ # but the field type is numerical, field values are not filterable by text
761
+ # queries in RecommendationService.Recommend. Only textual fields are supported.
762
+ # If recs_filterable_option is unset, the default setting is FILTERABLE_DISABLED
763
+ # for fields that support setting filterable options. When a field set to [
764
+ # FILTERABLE_DISABLED] is filtered, a warning is generated and an empty result
765
+ # is returned.
766
+ # Corresponds to the JSON property `recsFilterableOption`
767
+ # @return [String]
768
+ attr_accessor :recs_filterable_option
769
+
770
+ # If retrievable_option is RETRIEVABLE_ENABLED, field values are included in the
771
+ # search results. If retrievable_option is unset, the server behavior defaults
772
+ # to RETRIEVABLE_DISABLED for fields that support setting retrievable options.
773
+ # For those fields that do not support setting retrievable options, such as `
774
+ # object` and `boolean`, the server will skip retrievable option setting, and
775
+ # setting retrievable_option for those fields will throw `INVALID_ARGUMENT`
776
+ # error.
777
+ # Corresponds to the JSON property `retrievableOption`
778
+ # @return [String]
779
+ attr_accessor :retrievable_option
780
+
781
+ # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by
782
+ # text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is
783
+ # numerical, field values will not be searchable by text queries in
784
+ # SearchService.Search, as there are no text values associated to numerical
785
+ # fields. If searchable_option is unset, the server behavior defaults to
786
+ # SEARCHABLE_DISABLED for fields that support setting searchable options. Only `
787
+ # string` fields that have no key property mapping support setting
788
+ # searchable_option. For those fields that do not support setting searchable
789
+ # options, the server will skip searchable option setting, and setting
790
+ # searchable_option for those fields will throw `INVALID_ARGUMENT` error.
791
+ # Corresponds to the JSON property `searchableOption`
792
+ # @return [String]
793
+ attr_accessor :searchable_option
794
+
795
+ def initialize(**args)
796
+ update!(**args)
797
+ end
798
+
799
+ # Update properties of this object
800
+ def update!(**args)
801
+ @completable_option = args[:completable_option] if args.key?(:completable_option)
802
+ @dynamic_facetable_option = args[:dynamic_facetable_option] if args.key?(:dynamic_facetable_option)
803
+ @field_path = args[:field_path] if args.key?(:field_path)
804
+ @field_type = args[:field_type] if args.key?(:field_type)
805
+ @indexable_option = args[:indexable_option] if args.key?(:indexable_option)
806
+ @key_property_type = args[:key_property_type] if args.key?(:key_property_type)
807
+ @recs_filterable_option = args[:recs_filterable_option] if args.key?(:recs_filterable_option)
808
+ @retrievable_option = args[:retrievable_option] if args.key?(:retrievable_option)
809
+ @searchable_option = args[:searchable_option] if args.key?(:searchable_option)
810
+ end
811
+ end
812
+
566
813
  # Metadata related to the progress of the ImportDocuments operation. This is
567
814
  # returned by the google.longrunning.Operation.metadata field.
568
815
  class GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata
@@ -861,6 +1108,11 @@ module Google
861
1108
  class GoogleCloudDiscoveryengineV1alphaSchema
862
1109
  include Google::Apis::Core::Hashable
863
1110
 
1111
+ # Output only. Configurations for fields of the schema.
1112
+ # Corresponds to the JSON property `fieldConfigs`
1113
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaFieldConfig>]
1114
+ attr_accessor :field_configs
1115
+
864
1116
  # The JSON representation of the schema.
865
1117
  # Corresponds to the JSON property `jsonSchema`
866
1118
  # @return [String]
@@ -885,6 +1137,7 @@ module Google
885
1137
 
886
1138
  # Update properties of this object
887
1139
  def update!(**args)
1140
+ @field_configs = args[:field_configs] if args.key?(:field_configs)
888
1141
  @json_schema = args[:json_schema] if args.key?(:json_schema)
889
1142
  @name = args[:name] if args.key?(:name)
890
1143
  @struct_schema = args[:struct_schema] if args.key?(:struct_schema)
@@ -931,11 +1184,21 @@ module Google
931
1184
  attr_accessor :exact_match
932
1185
  alias_method :exact_match?, :exact_match
933
1186
 
1187
+ # Site search indexing failure reasons.
1188
+ # Corresponds to the JSON property `failureReason`
1189
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason]
1190
+ attr_accessor :failure_reason
1191
+
934
1192
  # Output only. This is system-generated based on the provided_uri_pattern.
935
1193
  # Corresponds to the JSON property `generatedUriPattern`
936
1194
  # @return [String]
937
1195
  attr_accessor :generated_uri_pattern
938
1196
 
1197
+ # Output only. Indexing status.
1198
+ # Corresponds to the JSON property `indexingStatus`
1199
+ # @return [String]
1200
+ attr_accessor :indexing_status
1201
+
939
1202
  # Output only. The fully qualified resource name of the target site. `projects/`
940
1203
  # project`/locations/`location`/collections/`collection`/dataStores/`data_store`/
941
1204
  # siteSearchEngine/targetSites/`target_site`` The `target_site_id` is system-
@@ -973,7 +1236,9 @@ module Google
973
1236
  # Update properties of this object
974
1237
  def update!(**args)
975
1238
  @exact_match = args[:exact_match] if args.key?(:exact_match)
1239
+ @failure_reason = args[:failure_reason] if args.key?(:failure_reason)
976
1240
  @generated_uri_pattern = args[:generated_uri_pattern] if args.key?(:generated_uri_pattern)
1241
+ @indexing_status = args[:indexing_status] if args.key?(:indexing_status)
977
1242
  @name = args[:name] if args.key?(:name)
978
1243
  @provided_uri_pattern = args[:provided_uri_pattern] if args.key?(:provided_uri_pattern)
979
1244
  @site_verification_info = args[:site_verification_info] if args.key?(:site_verification_info)
@@ -982,6 +1247,71 @@ module Google
982
1247
  end
983
1248
  end
984
1249
 
1250
+ # Site search indexing failure reasons.
1251
+ class GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason
1252
+ include Google::Apis::Core::Hashable
1253
+
1254
+ # Failed due to insufficient quota.
1255
+ # Corresponds to the JSON property `quotaFailure`
1256
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure]
1257
+ attr_accessor :quota_failure
1258
+
1259
+ def initialize(**args)
1260
+ update!(**args)
1261
+ end
1262
+
1263
+ # Update properties of this object
1264
+ def update!(**args)
1265
+ @quota_failure = args[:quota_failure] if args.key?(:quota_failure)
1266
+ end
1267
+ end
1268
+
1269
+ #
1270
+ class GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure
1271
+ include Google::Apis::Core::Hashable
1272
+
1273
+ # This number is an estimation on how much total quota this project needs to
1274
+ # successfully complete indexing.
1275
+ # Corresponds to the JSON property `totalRequiredQuota`
1276
+ # @return [Fixnum]
1277
+ attr_accessor :total_required_quota
1278
+
1279
+ def initialize(**args)
1280
+ update!(**args)
1281
+ end
1282
+
1283
+ # Update properties of this object
1284
+ def update!(**args)
1285
+ @total_required_quota = args[:total_required_quota] if args.key?(:total_required_quota)
1286
+ end
1287
+ end
1288
+
1289
+ # Metadata for UpdateSchema LRO.
1290
+ class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata
1291
+ include Google::Apis::Core::Hashable
1292
+
1293
+ # Operation create time.
1294
+ # Corresponds to the JSON property `createTime`
1295
+ # @return [String]
1296
+ attr_accessor :create_time
1297
+
1298
+ # Operation last update time. If the operation is done, this is also the finish
1299
+ # time.
1300
+ # Corresponds to the JSON property `updateTime`
1301
+ # @return [String]
1302
+ attr_accessor :update_time
1303
+
1304
+ def initialize(**args)
1305
+ update!(**args)
1306
+ end
1307
+
1308
+ # Update properties of this object
1309
+ def update!(**args)
1310
+ @create_time = args[:create_time] if args.key?(:create_time)
1311
+ @update_time = args[:update_time] if args.key?(:update_time)
1312
+ end
1313
+ end
1314
+
985
1315
  # BigQuery source import data from.
986
1316
  class GoogleCloudDiscoveryengineV1betaBigQuerySource
987
1317
  include Google::Apis::Core::Hashable
@@ -1050,6 +1380,62 @@ module Google
1050
1380
  end
1051
1381
  end
1052
1382
 
1383
+ # Response message for CompletionService.CompleteQuery method.
1384
+ class GoogleCloudDiscoveryengineV1betaCompleteQueryResponse
1385
+ include Google::Apis::Core::Hashable
1386
+
1387
+ # Results of the matched query suggestions. The result list is ordered and the
1388
+ # first result is a top suggestion.
1389
+ # Corresponds to the JSON property `querySuggestions`
1390
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion>]
1391
+ attr_accessor :query_suggestions
1392
+
1393
+ # True if the returned suggestions are all tail suggestions. For tail matching
1394
+ # to be triggered, include_tail_suggestions in the request must be true and
1395
+ # there must be no suggestions that match the full query.
1396
+ # Corresponds to the JSON property `tailMatchTriggered`
1397
+ # @return [Boolean]
1398
+ attr_accessor :tail_match_triggered
1399
+ alias_method :tail_match_triggered?, :tail_match_triggered
1400
+
1401
+ def initialize(**args)
1402
+ update!(**args)
1403
+ end
1404
+
1405
+ # Update properties of this object
1406
+ def update!(**args)
1407
+ @query_suggestions = args[:query_suggestions] if args.key?(:query_suggestions)
1408
+ @tail_match_triggered = args[:tail_match_triggered] if args.key?(:tail_match_triggered)
1409
+ end
1410
+ end
1411
+
1412
+ # Suggestions as search queries.
1413
+ class GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion
1414
+ include Google::Apis::Core::Hashable
1415
+
1416
+ # The unique document field paths that serve as the source of this suggestion if
1417
+ # it was generated from completable fields. This field is only populated for the
1418
+ # document-completable model.
1419
+ # Corresponds to the JSON property `completableFieldPath`
1420
+ # @return [Array<String>]
1421
+ attr_accessor :completable_field_path
1422
+
1423
+ # The suggestion for the query.
1424
+ # Corresponds to the JSON property `suggestion`
1425
+ # @return [String]
1426
+ attr_accessor :suggestion
1427
+
1428
+ def initialize(**args)
1429
+ update!(**args)
1430
+ end
1431
+
1432
+ # Update properties of this object
1433
+ def update!(**args)
1434
+ @completable_field_path = args[:completable_field_path] if args.key?(:completable_field_path)
1435
+ @suggestion = args[:suggestion] if args.key?(:suggestion)
1436
+ end
1437
+ end
1438
+
1053
1439
  # Detailed completion information including completion attribution token and
1054
1440
  # clicked completion info.
1055
1441
  class GoogleCloudDiscoveryengineV1betaCompletionInfo
@@ -1077,37 +1463,291 @@ module Google
1077
1463
  end
1078
1464
  end
1079
1465
 
1080
- # A custom attribute that is not explicitly modeled in a resource, e.g.
1081
- # UserEvent.
1082
- class GoogleCloudDiscoveryengineV1betaCustomAttribute
1466
+ # External conversation proto definition.
1467
+ class GoogleCloudDiscoveryengineV1betaConversation
1083
1468
  include Google::Apis::Core::Hashable
1084
1469
 
1085
- # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when
1086
- # the key is "lengths_cm". Exactly one of CustomAttribute.text or
1087
- # CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error
1088
- # is returned.
1089
- # Corresponds to the JSON property `numbers`
1090
- # @return [Array<Float>]
1091
- attr_accessor :numbers
1470
+ # Output only. The time the conversation finished.
1471
+ # Corresponds to the JSON property `endTime`
1472
+ # @return [String]
1473
+ attr_accessor :end_time
1092
1474
 
1093
- # The textual values of this custom attribute. For example, `["yellow", "green"]`
1094
- # when the key is "color". Empty string is not allowed. Otherwise, an `
1095
- # INVALID_ARGUMENT` error is returned. Exactly one of CustomAttribute.text or
1096
- # CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error
1097
- # is returned.
1098
- # Corresponds to the JSON property `text`
1099
- # @return [Array<String>]
1100
- attr_accessor :text
1475
+ # Conversation messages.
1476
+ # Corresponds to the JSON property `messages`
1477
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConversationMessage>]
1478
+ attr_accessor :messages
1101
1479
 
1102
- def initialize(**args)
1103
- update!(**args)
1104
- end
1480
+ # Immutable. Fully qualified name `project/*/locations/global/collections/`
1481
+ # collection`/dataStore/*/conversations/*`
1482
+ # Corresponds to the JSON property `name`
1483
+ # @return [String]
1484
+ attr_accessor :name
1105
1485
 
1106
- # Update properties of this object
1107
- def update!(**args)
1108
- @numbers = args[:numbers] if args.key?(:numbers)
1109
- @text = args[:text] if args.key?(:text)
1110
- end
1486
+ # Output only. The time the conversation started.
1487
+ # Corresponds to the JSON property `startTime`
1488
+ # @return [String]
1489
+ attr_accessor :start_time
1490
+
1491
+ # The state of the Conversation.
1492
+ # Corresponds to the JSON property `state`
1493
+ # @return [String]
1494
+ attr_accessor :state
1495
+
1496
+ # A unique identifier for tracking users.
1497
+ # Corresponds to the JSON property `userPseudoId`
1498
+ # @return [String]
1499
+ attr_accessor :user_pseudo_id
1500
+
1501
+ def initialize(**args)
1502
+ update!(**args)
1503
+ end
1504
+
1505
+ # Update properties of this object
1506
+ def update!(**args)
1507
+ @end_time = args[:end_time] if args.key?(:end_time)
1508
+ @messages = args[:messages] if args.key?(:messages)
1509
+ @name = args[:name] if args.key?(:name)
1510
+ @start_time = args[:start_time] if args.key?(:start_time)
1511
+ @state = args[:state] if args.key?(:state)
1512
+ @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
1513
+ end
1514
+ end
1515
+
1516
+ # Defines context of the conversation
1517
+ class GoogleCloudDiscoveryengineV1betaConversationContext
1518
+ include Google::Apis::Core::Hashable
1519
+
1520
+ # The current active document the user opened. It contains the document resource
1521
+ # reference.
1522
+ # Corresponds to the JSON property `activeDocument`
1523
+ # @return [String]
1524
+ attr_accessor :active_document
1525
+
1526
+ # The current list of documents the user is seeing. It contains the document
1527
+ # resource references.
1528
+ # Corresponds to the JSON property `contextDocuments`
1529
+ # @return [Array<String>]
1530
+ attr_accessor :context_documents
1531
+
1532
+ def initialize(**args)
1533
+ update!(**args)
1534
+ end
1535
+
1536
+ # Update properties of this object
1537
+ def update!(**args)
1538
+ @active_document = args[:active_document] if args.key?(:active_document)
1539
+ @context_documents = args[:context_documents] if args.key?(:context_documents)
1540
+ end
1541
+ end
1542
+
1543
+ # Defines a conversation message.
1544
+ class GoogleCloudDiscoveryengineV1betaConversationMessage
1545
+ include Google::Apis::Core::Hashable
1546
+
1547
+ # Output only. Message creation timestamp.
1548
+ # Corresponds to the JSON property `createTime`
1549
+ # @return [String]
1550
+ attr_accessor :create_time
1551
+
1552
+ # Defines a reply message to user.
1553
+ # Corresponds to the JSON property `reply`
1554
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaReply]
1555
+ attr_accessor :reply
1556
+
1557
+ # Defines text input.
1558
+ # Corresponds to the JSON property `userInput`
1559
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaTextInput]
1560
+ attr_accessor :user_input
1561
+
1562
+ def initialize(**args)
1563
+ update!(**args)
1564
+ end
1565
+
1566
+ # Update properties of this object
1567
+ def update!(**args)
1568
+ @create_time = args[:create_time] if args.key?(:create_time)
1569
+ @reply = args[:reply] if args.key?(:reply)
1570
+ @user_input = args[:user_input] if args.key?(:user_input)
1571
+ end
1572
+ end
1573
+
1574
+ # Request message for ConversationalSearchService.ConverseConversation method.
1575
+ class GoogleCloudDiscoveryengineV1betaConverseConversationRequest
1576
+ include Google::Apis::Core::Hashable
1577
+
1578
+ # External conversation proto definition.
1579
+ # Corresponds to the JSON property `conversation`
1580
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConversation]
1581
+ attr_accessor :conversation
1582
+
1583
+ # Defines text input.
1584
+ # Corresponds to the JSON property `query`
1585
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaTextInput]
1586
+ attr_accessor :query
1587
+
1588
+ # Whether to turn on safe search.
1589
+ # Corresponds to the JSON property `safeSearch`
1590
+ # @return [Boolean]
1591
+ attr_accessor :safe_search
1592
+ alias_method :safe_search?, :safe_search
1593
+
1594
+ # The resource name of the Serving Config to use. Format: `projects/`
1595
+ # project_number`/locations/`location_id`/collections/`collection`/dataStores/`
1596
+ # data_store_id`/servingConfigs/`serving_config_id`` If this is not set, the
1597
+ # default serving config will be used.
1598
+ # Corresponds to the JSON property `servingConfig`
1599
+ # @return [String]
1600
+ attr_accessor :serving_config
1601
+
1602
+ # The user labels applied to a resource must meet the following requirements: *
1603
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
1604
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
1605
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
1606
+ # have a maximum length of 63 characters. * Keys and values can contain only
1607
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
1608
+ # must use UTF-8 encoding, and international characters are allowed. * The key
1609
+ # portion of a label must be unique. However, you can use the same key with
1610
+ # multiple resources. * Keys must start with a lowercase letter or international
1611
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
1612
+ # manager/docs/creating-managing-labels#requirements) for more details.
1613
+ # Corresponds to the JSON property `userLabels`
1614
+ # @return [Hash<String,String>]
1615
+ attr_accessor :user_labels
1616
+
1617
+ def initialize(**args)
1618
+ update!(**args)
1619
+ end
1620
+
1621
+ # Update properties of this object
1622
+ def update!(**args)
1623
+ @conversation = args[:conversation] if args.key?(:conversation)
1624
+ @query = args[:query] if args.key?(:query)
1625
+ @safe_search = args[:safe_search] if args.key?(:safe_search)
1626
+ @serving_config = args[:serving_config] if args.key?(:serving_config)
1627
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
1628
+ end
1629
+ end
1630
+
1631
+ # Response message for ConversationalSearchService.ConverseConversation method.
1632
+ class GoogleCloudDiscoveryengineV1betaConverseConversationResponse
1633
+ include Google::Apis::Core::Hashable
1634
+
1635
+ # External conversation proto definition.
1636
+ # Corresponds to the JSON property `conversation`
1637
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConversation]
1638
+ attr_accessor :conversation
1639
+
1640
+ # Suggested related questions.
1641
+ # Corresponds to the JSON property `relatedQuestions`
1642
+ # @return [Array<String>]
1643
+ attr_accessor :related_questions
1644
+
1645
+ # Defines a reply message to user.
1646
+ # Corresponds to the JSON property `reply`
1647
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaReply]
1648
+ attr_accessor :reply
1649
+
1650
+ # Search Results.
1651
+ # Corresponds to the JSON property `searchResults`
1652
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult>]
1653
+ attr_accessor :search_results
1654
+
1655
+ def initialize(**args)
1656
+ update!(**args)
1657
+ end
1658
+
1659
+ # Update properties of this object
1660
+ def update!(**args)
1661
+ @conversation = args[:conversation] if args.key?(:conversation)
1662
+ @related_questions = args[:related_questions] if args.key?(:related_questions)
1663
+ @reply = args[:reply] if args.key?(:reply)
1664
+ @search_results = args[:search_results] if args.key?(:search_results)
1665
+ end
1666
+ end
1667
+
1668
+ # Metadata for Create Schema LRO.
1669
+ class GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata
1670
+ include Google::Apis::Core::Hashable
1671
+
1672
+ # Operation create time.
1673
+ # Corresponds to the JSON property `createTime`
1674
+ # @return [String]
1675
+ attr_accessor :create_time
1676
+
1677
+ # Operation last update time. If the operation is done, this is also the finish
1678
+ # time.
1679
+ # Corresponds to the JSON property `updateTime`
1680
+ # @return [String]
1681
+ attr_accessor :update_time
1682
+
1683
+ def initialize(**args)
1684
+ update!(**args)
1685
+ end
1686
+
1687
+ # Update properties of this object
1688
+ def update!(**args)
1689
+ @create_time = args[:create_time] if args.key?(:create_time)
1690
+ @update_time = args[:update_time] if args.key?(:update_time)
1691
+ end
1692
+ end
1693
+
1694
+ # A custom attribute that is not explicitly modeled in a resource, e.g.
1695
+ # UserEvent.
1696
+ class GoogleCloudDiscoveryengineV1betaCustomAttribute
1697
+ include Google::Apis::Core::Hashable
1698
+
1699
+ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when
1700
+ # the key is "lengths_cm". Exactly one of CustomAttribute.text or
1701
+ # CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error
1702
+ # is returned.
1703
+ # Corresponds to the JSON property `numbers`
1704
+ # @return [Array<Float>]
1705
+ attr_accessor :numbers
1706
+
1707
+ # The textual values of this custom attribute. For example, `["yellow", "green"]`
1708
+ # when the key is "color". Empty string is not allowed. Otherwise, an `
1709
+ # INVALID_ARGUMENT` error is returned. Exactly one of CustomAttribute.text or
1710
+ # CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error
1711
+ # is returned.
1712
+ # Corresponds to the JSON property `text`
1713
+ # @return [Array<String>]
1714
+ attr_accessor :text
1715
+
1716
+ def initialize(**args)
1717
+ update!(**args)
1718
+ end
1719
+
1720
+ # Update properties of this object
1721
+ def update!(**args)
1722
+ @numbers = args[:numbers] if args.key?(:numbers)
1723
+ @text = args[:text] if args.key?(:text)
1724
+ end
1725
+ end
1726
+
1727
+ # Metadata for DeleteSchema LRO.
1728
+ class GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata
1729
+ include Google::Apis::Core::Hashable
1730
+
1731
+ # Operation create time.
1732
+ # Corresponds to the JSON property `createTime`
1733
+ # @return [String]
1734
+ attr_accessor :create_time
1735
+
1736
+ # Operation last update time. If the operation is done, this is also the finish
1737
+ # time.
1738
+ # Corresponds to the JSON property `updateTime`
1739
+ # @return [String]
1740
+ attr_accessor :update_time
1741
+
1742
+ def initialize(**args)
1743
+ update!(**args)
1744
+ end
1745
+
1746
+ # Update properties of this object
1747
+ def update!(**args)
1748
+ @create_time = args[:create_time] if args.key?(:create_time)
1749
+ @update_time = args[:update_time] if args.key?(:update_time)
1750
+ end
1111
1751
  end
1112
1752
 
1113
1753
  # Document captures all raw metadata information of items to be recommended or
@@ -1115,6 +1755,17 @@ module Google
1115
1755
  class GoogleCloudDiscoveryengineV1betaDocument
1116
1756
  include Google::Apis::Core::Hashable
1117
1757
 
1758
+ # Unstructured data linked to this document.
1759
+ # Corresponds to the JSON property `content`
1760
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocumentContent]
1761
+ attr_accessor :content
1762
+
1763
+ # Output only. This field is OUTPUT_ONLY. It contains derived data that are not
1764
+ # in the original input document.
1765
+ # Corresponds to the JSON property `derivedStructData`
1766
+ # @return [Hash<String,Object>]
1767
+ attr_accessor :derived_struct_data
1768
+
1118
1769
  # Immutable. The identifier of the document. Id should conform to [RFC-1034](
1119
1770
  # https://tools.ietf.org/html/rfc1034) standard with a length limit of 63
1120
1771
  # characters.
@@ -1160,6 +1811,8 @@ module Google
1160
1811
 
1161
1812
  # Update properties of this object
1162
1813
  def update!(**args)
1814
+ @content = args[:content] if args.key?(:content)
1815
+ @derived_struct_data = args[:derived_struct_data] if args.key?(:derived_struct_data)
1163
1816
  @id = args[:id] if args.key?(:id)
1164
1817
  @json_data = args[:json_data] if args.key?(:json_data)
1165
1818
  @name = args[:name] if args.key?(:name)
@@ -1169,6 +1822,49 @@ module Google
1169
1822
  end
1170
1823
  end
1171
1824
 
1825
+ # Unstructured data linked to this document.
1826
+ class GoogleCloudDiscoveryengineV1betaDocumentContent
1827
+ include Google::Apis::Core::Hashable
1828
+
1829
+ # The MIME type of the content. Supported types: * `application/pdf` (PDF, only
1830
+ # native PDFs are supported for now) * `text/html` (HTML) * `application/vnd.
1831
+ # openxmlformats-officedocument.wordprocessingml.document` (DOCX) * `application/
1832
+ # vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) * `text/
1833
+ # plain` (TXT) See https://www.iana.org/assignments/media-types/media-types.
1834
+ # xhtml.
1835
+ # Corresponds to the JSON property `mimeType`
1836
+ # @return [String]
1837
+ attr_accessor :mime_type
1838
+
1839
+ # The content represented as a stream of bytes. The maximum length is 1,000,000
1840
+ # bytes (1 MB / ~0.95 MiB). Note: As with all `bytes` fields, this field is
1841
+ # represented as pure binary in Protocol Buffers and base64-encoded string in
1842
+ # JSON. For example, `abc123!?$*&()'-=@~` should be represented as `
1843
+ # YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See https://developers.google.com/protocol-
1844
+ # buffers/docs/proto3#json.
1845
+ # Corresponds to the JSON property `rawBytes`
1846
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1847
+ # @return [String]
1848
+ attr_accessor :raw_bytes
1849
+
1850
+ # The URI of the content. Only Cloud Storage URIs (e.g. `gs://bucket-name/path/
1851
+ # to/file`) are supported. The maximum file size is 100 MB.
1852
+ # Corresponds to the JSON property `uri`
1853
+ # @return [String]
1854
+ attr_accessor :uri
1855
+
1856
+ def initialize(**args)
1857
+ update!(**args)
1858
+ end
1859
+
1860
+ # Update properties of this object
1861
+ def update!(**args)
1862
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1863
+ @raw_bytes = args[:raw_bytes] if args.key?(:raw_bytes)
1864
+ @uri = args[:uri] if args.key?(:uri)
1865
+ end
1866
+ end
1867
+
1172
1868
  # Detailed document information associated with a user event.
1173
1869
  class GoogleCloudDiscoveryengineV1betaDocumentInfo
1174
1870
  include Google::Apis::Core::Hashable
@@ -1218,6 +1914,25 @@ module Google
1218
1914
  end
1219
1915
  end
1220
1916
 
1917
+ # Double list.
1918
+ class GoogleCloudDiscoveryengineV1betaDoubleList
1919
+ include Google::Apis::Core::Hashable
1920
+
1921
+ # Double values.
1922
+ # Corresponds to the JSON property `values`
1923
+ # @return [Array<Float>]
1924
+ attr_accessor :values
1925
+
1926
+ def initialize(**args)
1927
+ update!(**args)
1928
+ end
1929
+
1930
+ # Update properties of this object
1931
+ def update!(**args)
1932
+ @values = args[:values] if args.key?(:values)
1933
+ end
1934
+ end
1935
+
1221
1936
  # Cloud Storage location for input content.
1222
1937
  class GoogleCloudDiscoveryengineV1betaGcsSource
1223
1938
  include Google::Apis::Core::Hashable
@@ -1577,6 +2292,68 @@ module Google
1577
2292
  end
1578
2293
  end
1579
2294
 
2295
+ # A floating point interval.
2296
+ class GoogleCloudDiscoveryengineV1betaInterval
2297
+ include Google::Apis::Core::Hashable
2298
+
2299
+ # Exclusive upper bound.
2300
+ # Corresponds to the JSON property `exclusiveMaximum`
2301
+ # @return [Float]
2302
+ attr_accessor :exclusive_maximum
2303
+
2304
+ # Exclusive lower bound.
2305
+ # Corresponds to the JSON property `exclusiveMinimum`
2306
+ # @return [Float]
2307
+ attr_accessor :exclusive_minimum
2308
+
2309
+ # Inclusive upper bound.
2310
+ # Corresponds to the JSON property `maximum`
2311
+ # @return [Float]
2312
+ attr_accessor :maximum
2313
+
2314
+ # Inclusive lower bound.
2315
+ # Corresponds to the JSON property `minimum`
2316
+ # @return [Float]
2317
+ attr_accessor :minimum
2318
+
2319
+ def initialize(**args)
2320
+ update!(**args)
2321
+ end
2322
+
2323
+ # Update properties of this object
2324
+ def update!(**args)
2325
+ @exclusive_maximum = args[:exclusive_maximum] if args.key?(:exclusive_maximum)
2326
+ @exclusive_minimum = args[:exclusive_minimum] if args.key?(:exclusive_minimum)
2327
+ @maximum = args[:maximum] if args.key?(:maximum)
2328
+ @minimum = args[:minimum] if args.key?(:minimum)
2329
+ end
2330
+ end
2331
+
2332
+ # Response for ListConversations method.
2333
+ class GoogleCloudDiscoveryengineV1betaListConversationsResponse
2334
+ include Google::Apis::Core::Hashable
2335
+
2336
+ # All the Conversations for a given data store.
2337
+ # Corresponds to the JSON property `conversations`
2338
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConversation>]
2339
+ attr_accessor :conversations
2340
+
2341
+ # Pagination token, if not returned indicates the last page.
2342
+ # Corresponds to the JSON property `nextPageToken`
2343
+ # @return [String]
2344
+ attr_accessor :next_page_token
2345
+
2346
+ def initialize(**args)
2347
+ update!(**args)
2348
+ end
2349
+
2350
+ # Update properties of this object
2351
+ def update!(**args)
2352
+ @conversations = args[:conversations] if args.key?(:conversations)
2353
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2354
+ end
2355
+ end
2356
+
1580
2357
  # Response message for DocumentService.ListDocuments method.
1581
2358
  class GoogleCloudDiscoveryengineV1betaListDocumentsResponse
1582
2359
  include Google::Apis::Core::Hashable
@@ -1603,14 +2380,40 @@ module Google
1603
2380
  end
1604
2381
  end
1605
2382
 
1606
- # Media-specific user event information.
1607
- class GoogleCloudDiscoveryengineV1betaMediaInfo
2383
+ # Response message for SchemaService.ListSchemas method.
2384
+ class GoogleCloudDiscoveryengineV1betaListSchemasResponse
1608
2385
  include Google::Apis::Core::Hashable
1609
2386
 
1610
- # The media progress time in seconds, if applicable. For example, if the end
1611
- # user has finished 90 seconds of a playback video, then MediaInfo.
1612
- # media_progress_duration.seconds should be set to 90.
1613
- # Corresponds to the JSON property `mediaProgressDuration`
2387
+ # A token that can be sent as ListSchemasRequest.page_token to retrieve the next
2388
+ # page. If this field is omitted, there are no subsequent pages.
2389
+ # Corresponds to the JSON property `nextPageToken`
2390
+ # @return [String]
2391
+ attr_accessor :next_page_token
2392
+
2393
+ # The Schemas.
2394
+ # Corresponds to the JSON property `schemas`
2395
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSchema>]
2396
+ attr_accessor :schemas
2397
+
2398
+ def initialize(**args)
2399
+ update!(**args)
2400
+ end
2401
+
2402
+ # Update properties of this object
2403
+ def update!(**args)
2404
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2405
+ @schemas = args[:schemas] if args.key?(:schemas)
2406
+ end
2407
+ end
2408
+
2409
+ # Media-specific user event information.
2410
+ class GoogleCloudDiscoveryengineV1betaMediaInfo
2411
+ include Google::Apis::Core::Hashable
2412
+
2413
+ # The media progress time in seconds, if applicable. For example, if the end
2414
+ # user has finished 90 seconds of a playback video, then MediaInfo.
2415
+ # media_progress_duration.seconds should be set to 90.
2416
+ # Corresponds to the JSON property `mediaProgressDuration`
1614
2417
  # @return [String]
1615
2418
  attr_accessor :media_progress_duration
1616
2419
 
@@ -1987,6 +2790,74 @@ module Google
1987
2790
  end
1988
2791
  end
1989
2792
 
2793
+ # Defines a reply message to user.
2794
+ class GoogleCloudDiscoveryengineV1betaReply
2795
+ include Google::Apis::Core::Hashable
2796
+
2797
+ # References in the reply.
2798
+ # Corresponds to the JSON property `references`
2799
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaReplyReference>]
2800
+ attr_accessor :references
2801
+
2802
+ # DEPRECATED: use `summary` instead. Text reply.
2803
+ # Corresponds to the JSON property `reply`
2804
+ # @return [String]
2805
+ attr_accessor :reply
2806
+
2807
+ # Summary of the top N search result specified by the summary spec.
2808
+ # Corresponds to the JSON property `summary`
2809
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseSummary]
2810
+ attr_accessor :summary
2811
+
2812
+ def initialize(**args)
2813
+ update!(**args)
2814
+ end
2815
+
2816
+ # Update properties of this object
2817
+ def update!(**args)
2818
+ @references = args[:references] if args.key?(:references)
2819
+ @reply = args[:reply] if args.key?(:reply)
2820
+ @summary = args[:summary] if args.key?(:summary)
2821
+ end
2822
+ end
2823
+
2824
+ # Defines reference in reply.
2825
+ class GoogleCloudDiscoveryengineV1betaReplyReference
2826
+ include Google::Apis::Core::Hashable
2827
+
2828
+ # Anchor text.
2829
+ # Corresponds to the JSON property `anchorText`
2830
+ # @return [String]
2831
+ attr_accessor :anchor_text
2832
+
2833
+ # Anchor text end index.
2834
+ # Corresponds to the JSON property `end`
2835
+ # @return [Fixnum]
2836
+ attr_accessor :end
2837
+
2838
+ # Anchor text start index.
2839
+ # Corresponds to the JSON property `start`
2840
+ # @return [Fixnum]
2841
+ attr_accessor :start
2842
+
2843
+ # URI link reference.
2844
+ # Corresponds to the JSON property `uri`
2845
+ # @return [String]
2846
+ attr_accessor :uri
2847
+
2848
+ def initialize(**args)
2849
+ update!(**args)
2850
+ end
2851
+
2852
+ # Update properties of this object
2853
+ def update!(**args)
2854
+ @anchor_text = args[:anchor_text] if args.key?(:anchor_text)
2855
+ @end = args[:end] if args.key?(:end)
2856
+ @start = args[:start] if args.key?(:start)
2857
+ @uri = args[:uri] if args.key?(:uri)
2858
+ end
2859
+ end
2860
+
1990
2861
  # Defines the structure and layout of a type of document data.
1991
2862
  class GoogleCloudDiscoveryengineV1betaSchema
1992
2863
  include Google::Apis::Core::Hashable
@@ -2066,49 +2937,240 @@ module Google
2066
2937
  end
2067
2938
  end
2068
2939
 
2069
- # A transaction represents the entire purchase transaction.
2070
- class GoogleCloudDiscoveryengineV1betaTransactionInfo
2940
+ # Request message for SearchService.Search method.
2941
+ class GoogleCloudDiscoveryengineV1betaSearchRequest
2071
2942
  include Google::Apis::Core::Hashable
2072
2943
 
2073
- # All the costs associated with the products. These can be manufacturing costs,
2074
- # shipping expenses not borne by the end user, or any other costs, such that: *
2075
- # Profit = value - tax - cost
2076
- # Corresponds to the JSON property `cost`
2077
- # @return [Float]
2078
- attr_accessor :cost
2944
+ # Boost specification to boost certain documents.
2945
+ # Corresponds to the JSON property `boostSpec`
2946
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec]
2947
+ attr_accessor :boost_spec
2079
2948
 
2080
- # Required. Currency code. Use three-character ISO-4217 code.
2081
- # Corresponds to the JSON property `currency`
2949
+ # The branch resource name, such as `projects/*/locations/global/collections/
2950
+ # default_collection/dataStores/default_data_store/branches/0`. Use `
2951
+ # default_branch` as the branch ID or leave this field empty, to search
2952
+ # documents under the default branch.
2953
+ # Corresponds to the JSON property `branch`
2082
2954
  # @return [String]
2083
- attr_accessor :currency
2955
+ attr_accessor :branch
2084
2956
 
2085
- # The total discount(s) value applied to this transaction. This figure should be
2086
- # excluded from TransactionInfo.value For example, if a user paid
2087
- # TransactionInfo.value amount, then nominal (pre-discount) value of the
2088
- # transaction is the sum of TransactionInfo.value and TransactionInfo.
2089
- # discount_value This means that profit is calculated the same way, regardless
2090
- # of the discount value, and that TransactionInfo.discount_value can be larger
2091
- # than TransactionInfo.value: * Profit = value - tax - cost
2092
- # Corresponds to the JSON property `discountValue`
2093
- # @return [Float]
2094
- attr_accessor :discount_value
2957
+ # A specification for configuring the behavior of content search.
2958
+ # Corresponds to the JSON property `contentSearchSpec`
2959
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec]
2960
+ attr_accessor :content_search_spec
2095
2961
 
2096
- # All the taxes associated with the transaction.
2097
- # Corresponds to the JSON property `tax`
2098
- # @return [Float]
2099
- attr_accessor :tax
2962
+ # The specification that uses customized query embedding vector to do semantic
2963
+ # document retrieval.
2964
+ # Corresponds to the JSON property `embeddingSpec`
2965
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec]
2966
+ attr_accessor :embedding_spec
2100
2967
 
2101
- # The transaction ID with a length limit of 128 characters.
2102
- # Corresponds to the JSON property `transactionId`
2968
+ # Facet specifications for faceted search. If empty, no facets are returned. A
2969
+ # maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is
2970
+ # returned.
2971
+ # Corresponds to the JSON property `facetSpecs`
2972
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec>]
2973
+ attr_accessor :facet_specs
2974
+
2975
+ # The filter syntax consists of an expression language for constructing a
2976
+ # predicate from one or more fields of the documents being filtered. Filter
2977
+ # expression is case-sensitive. If this field is unrecognizable, an `
2978
+ # INVALID_ARGUMENT` is returned.
2979
+ # Corresponds to the JSON property `filter`
2103
2980
  # @return [String]
2104
- attr_accessor :transaction_id
2981
+ attr_accessor :filter
2105
2982
 
2106
- # Required. Total non-zero value associated with the transaction. This value may
2107
- # include shipping, tax, or other adjustments to the total value that you want
2108
- # to include.
2109
- # Corresponds to the JSON property `value`
2983
+ # Specifies the image query input.
2984
+ # Corresponds to the JSON property `imageQuery`
2985
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery]
2986
+ attr_accessor :image_query
2987
+
2988
+ # A 0-indexed integer that specifies the current offset (that is, starting
2989
+ # result location, amongst the Documents deemed by the API as relevant) in
2990
+ # search results. This field is only considered if page_token is unset. If this
2991
+ # field is negative, an `INVALID_ARGUMENT` is returned.
2992
+ # Corresponds to the JSON property `offset`
2993
+ # @return [Fixnum]
2994
+ attr_accessor :offset
2995
+
2996
+ # The order in which documents are returned. Documents can be ordered by a field
2997
+ # in an Document object. Leave it unset if ordered by relevance. `order_by`
2998
+ # expression is case-sensitive. If this field is unrecognizable, an `
2999
+ # INVALID_ARGUMENT` is returned.
3000
+ # Corresponds to the JSON property `orderBy`
3001
+ # @return [String]
3002
+ attr_accessor :order_by
3003
+
3004
+ # Maximum number of Documents to return. If unspecified, defaults to a
3005
+ # reasonable value. The maximum allowed value is 100. Values above 100 are
3006
+ # coerced to 100. If this field is negative, an `INVALID_ARGUMENT` is returned.
3007
+ # Corresponds to the JSON property `pageSize`
3008
+ # @return [Fixnum]
3009
+ attr_accessor :page_size
3010
+
3011
+ # A page token received from a previous SearchService.Search call. Provide this
3012
+ # to retrieve the subsequent page. When paginating, all other parameters
3013
+ # provided to SearchService.Search must match the call that provided the page
3014
+ # token. Otherwise, an `INVALID_ARGUMENT` error is returned.
3015
+ # Corresponds to the JSON property `pageToken`
3016
+ # @return [String]
3017
+ attr_accessor :page_token
3018
+
3019
+ # Additional search parameters. For public website search only, supported values
3020
+ # are: * `user_country_code`: string. Default empty. If set to non-empty,
3021
+ # results are restricted or boosted based on the location provided. * `
3022
+ # search_type`: double. Default empty. Enables non-webpage searching depending
3023
+ # on the value. The only valid non-default value is 1, which enables image
3024
+ # searching.
3025
+ # Corresponds to the JSON property `params`
3026
+ # @return [Hash<String,Object>]
3027
+ attr_accessor :params
3028
+
3029
+ # Raw search query.
3030
+ # Corresponds to the JSON property `query`
3031
+ # @return [String]
3032
+ attr_accessor :query
3033
+
3034
+ # Specification to determine under which conditions query expansion should occur.
3035
+ # Corresponds to the JSON property `queryExpansionSpec`
3036
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec]
3037
+ attr_accessor :query_expansion_spec
3038
+
3039
+ # The ranking expression controls the customized ranking on retrieval documents.
3040
+ # This overrides ServingConfig.ranking_expression. The ranking expression is a
3041
+ # single function or multiple functions that are joint by "+". *
3042
+ # ranking_expression = function, ` " + ", function `; Supported functions: *
3043
+ # double * relevance_score * double * dotProduct(embedding_field_path) Function
3044
+ # variables: `relevance_score`: pre-defined keywords, used for measure relevance
3045
+ # between query and document. `embedding_field_path`: the document embedding
3046
+ # field used with query embedding vector. `dotProduct`: embedding function
3047
+ # between embedding_field_path and query embedding vector. Example ranking
3048
+ # expression: If document has an embedding field doc_embedding, the ranking
3049
+ # expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.
3050
+ # Corresponds to the JSON property `rankingExpression`
3051
+ # @return [String]
3052
+ attr_accessor :ranking_expression
3053
+
3054
+ # Whether to turn on safe search. This is only supported for website search.
3055
+ # Corresponds to the JSON property `safeSearch`
3056
+ # @return [Boolean]
3057
+ attr_accessor :safe_search
3058
+ alias_method :safe_search?, :safe_search
3059
+
3060
+ # The specification for query spell correction.
3061
+ # Corresponds to the JSON property `spellCorrectionSpec`
3062
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec]
3063
+ attr_accessor :spell_correction_spec
3064
+
3065
+ # Information of an end user.
3066
+ # Corresponds to the JSON property `userInfo`
3067
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaUserInfo]
3068
+ attr_accessor :user_info
3069
+
3070
+ # The user labels applied to a resource must meet the following requirements: *
3071
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
3072
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
3073
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
3074
+ # have a maximum length of 63 characters. * Keys and values can contain only
3075
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
3076
+ # must use UTF-8 encoding, and international characters are allowed. * The key
3077
+ # portion of a label must be unique. However, you can use the same key with
3078
+ # multiple resources. * Keys must start with a lowercase letter or international
3079
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
3080
+ # manager/docs/creating-managing-labels#requirements) for more details.
3081
+ # Corresponds to the JSON property `userLabels`
3082
+ # @return [Hash<String,String>]
3083
+ attr_accessor :user_labels
3084
+
3085
+ # A unique identifier for tracking visitors. For example, this could be
3086
+ # implemented with an HTTP cookie, which should be able to uniquely identify a
3087
+ # visitor on a single device. This unique identifier should not change if the
3088
+ # visitor logs in or out of the website. This field should NOT have a fixed
3089
+ # value such as `unknown_visitor`. This should be the same identifier as
3090
+ # UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field
3091
+ # must be a UTF-8 encoded string with a length limit of 128 characters.
3092
+ # Otherwise, an `INVALID_ARGUMENT` error is returned.
3093
+ # Corresponds to the JSON property `userPseudoId`
3094
+ # @return [String]
3095
+ attr_accessor :user_pseudo_id
3096
+
3097
+ def initialize(**args)
3098
+ update!(**args)
3099
+ end
3100
+
3101
+ # Update properties of this object
3102
+ def update!(**args)
3103
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
3104
+ @branch = args[:branch] if args.key?(:branch)
3105
+ @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
3106
+ @embedding_spec = args[:embedding_spec] if args.key?(:embedding_spec)
3107
+ @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
3108
+ @filter = args[:filter] if args.key?(:filter)
3109
+ @image_query = args[:image_query] if args.key?(:image_query)
3110
+ @offset = args[:offset] if args.key?(:offset)
3111
+ @order_by = args[:order_by] if args.key?(:order_by)
3112
+ @page_size = args[:page_size] if args.key?(:page_size)
3113
+ @page_token = args[:page_token] if args.key?(:page_token)
3114
+ @params = args[:params] if args.key?(:params)
3115
+ @query = args[:query] if args.key?(:query)
3116
+ @query_expansion_spec = args[:query_expansion_spec] if args.key?(:query_expansion_spec)
3117
+ @ranking_expression = args[:ranking_expression] if args.key?(:ranking_expression)
3118
+ @safe_search = args[:safe_search] if args.key?(:safe_search)
3119
+ @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
3120
+ @user_info = args[:user_info] if args.key?(:user_info)
3121
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
3122
+ @user_pseudo_id = args[:user_pseudo_id] if args.key?(:user_pseudo_id)
3123
+ end
3124
+ end
3125
+
3126
+ # Boost specification to boost certain documents.
3127
+ class GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec
3128
+ include Google::Apis::Core::Hashable
3129
+
3130
+ # Condition boost specifications. If a document matches multiple conditions in
3131
+ # the specifictions, boost scores from these specifications are all applied and
3132
+ # combined in a non-linear way. Maximum number of specifications is 20.
3133
+ # Corresponds to the JSON property `conditionBoostSpecs`
3134
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec>]
3135
+ attr_accessor :condition_boost_specs
3136
+
3137
+ def initialize(**args)
3138
+ update!(**args)
3139
+ end
3140
+
3141
+ # Update properties of this object
3142
+ def update!(**args)
3143
+ @condition_boost_specs = args[:condition_boost_specs] if args.key?(:condition_boost_specs)
3144
+ end
3145
+ end
3146
+
3147
+ # Boost applies to documents which match a condition.
3148
+ class GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec
3149
+ include Google::Apis::Core::Hashable
3150
+
3151
+ # Strength of the condition boost, which should be in [-1, 1]. Negative boost
3152
+ # means demotion. Default is 0.0. Setting to 1.0 gives the document a big
3153
+ # promotion. However, it does not necessarily mean that the boosted document
3154
+ # will be the top result at all times, nor that other documents will be excluded.
3155
+ # Results could still be shown even when none of them matches the condition.
3156
+ # And results that are significantly more relevant to the search query can still
3157
+ # trump your heavily favored but irrelevant documents. Setting to -1.0 gives the
3158
+ # document a big demotion. However, results that are deeply relevant might still
3159
+ # be shown. The document will have an upstream battle to get a fairly high
3160
+ # ranking, but it is not blocked out completely. Setting to 0.0 means no boost
3161
+ # applied. The boosting condition is ignored.
3162
+ # Corresponds to the JSON property `boost`
2110
3163
  # @return [Float]
2111
- attr_accessor :value
3164
+ attr_accessor :boost
3165
+
3166
+ # An expression which specifies a boost condition. The syntax and supported
3167
+ # fields are the same as a filter expression. See SearchRequest.filter for
3168
+ # detail syntax and limitations. Examples: * To boost documents with document ID
3169
+ # "doc_1" or "doc_2", and color "Red" or "Blue": * (id: ANY("doc_1", "doc_2"))
3170
+ # AND (color: ANY("Red","Blue"))
3171
+ # Corresponds to the JSON property `condition`
3172
+ # @return [String]
3173
+ attr_accessor :condition
2112
3174
 
2113
3175
  def initialize(**args)
2114
3176
  update!(**args)
@@ -2116,12 +3178,868 @@ module Google
2116
3178
 
2117
3179
  # Update properties of this object
2118
3180
  def update!(**args)
2119
- @cost = args[:cost] if args.key?(:cost)
2120
- @currency = args[:currency] if args.key?(:currency)
2121
- @discount_value = args[:discount_value] if args.key?(:discount_value)
2122
- @tax = args[:tax] if args.key?(:tax)
2123
- @transaction_id = args[:transaction_id] if args.key?(:transaction_id)
2124
- @value = args[:value] if args.key?(:value)
3181
+ @boost = args[:boost] if args.key?(:boost)
3182
+ @condition = args[:condition] if args.key?(:condition)
3183
+ end
3184
+ end
3185
+
3186
+ # A specification for configuring the behavior of content search.
3187
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec
3188
+ include Google::Apis::Core::Hashable
3189
+
3190
+ # A specification for configuring the extractive content in a search response.
3191
+ # Corresponds to the JSON property `extractiveContentSpec`
3192
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec]
3193
+ attr_accessor :extractive_content_spec
3194
+
3195
+ # A specification for configuring snippets in a search response.
3196
+ # Corresponds to the JSON property `snippetSpec`
3197
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec]
3198
+ attr_accessor :snippet_spec
3199
+
3200
+ # A specification for configuring a summary returned in a search response.
3201
+ # Corresponds to the JSON property `summarySpec`
3202
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec]
3203
+ attr_accessor :summary_spec
3204
+
3205
+ def initialize(**args)
3206
+ update!(**args)
3207
+ end
3208
+
3209
+ # Update properties of this object
3210
+ def update!(**args)
3211
+ @extractive_content_spec = args[:extractive_content_spec] if args.key?(:extractive_content_spec)
3212
+ @snippet_spec = args[:snippet_spec] if args.key?(:snippet_spec)
3213
+ @summary_spec = args[:summary_spec] if args.key?(:summary_spec)
3214
+ end
3215
+ end
3216
+
3217
+ # A specification for configuring the extractive content in a search response.
3218
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec
3219
+ include Google::Apis::Core::Hashable
3220
+
3221
+ # The maximum number of extractive answers returned in each search result. An
3222
+ # extractive answer is a verbatim answer extracted from the original document,
3223
+ # which provides a precise and contextually relevant answer to the search query.
3224
+ # If the number of matching answers is less than the `
3225
+ # max_extractive_answer_count`, return all of the answers. Otherwise, return the
3226
+ # `max_extractive_answer_count`. At most one answer is returned for each
3227
+ # SearchResult.
3228
+ # Corresponds to the JSON property `maxExtractiveAnswerCount`
3229
+ # @return [Fixnum]
3230
+ attr_accessor :max_extractive_answer_count
3231
+
3232
+ # The max number of extractive segments returned in each search result. Only
3233
+ # applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or
3234
+ # DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a
3235
+ # text segment extracted from the original document that is relevant to the
3236
+ # search query, and, in general, more verbose than an extractive answer. The
3237
+ # segment could then be used as input for LLMs to generate summaries and answers.
3238
+ # If the number of matching segments is less than `max_extractive_segment_count`
3239
+ # , return all of the segments. Otherwise, return the `
3240
+ # max_extractive_segment_count`.
3241
+ # Corresponds to the JSON property `maxExtractiveSegmentCount`
3242
+ # @return [Fixnum]
3243
+ attr_accessor :max_extractive_segment_count
3244
+
3245
+ # Return at most `num_next_segments` segments after each selected segments.
3246
+ # Corresponds to the JSON property `numNextSegments`
3247
+ # @return [Fixnum]
3248
+ attr_accessor :num_next_segments
3249
+
3250
+ # Specifies whether to also include the adjacent from each selected segments.
3251
+ # Return at most `num_previous_segments` segments before each selected segments.
3252
+ # Corresponds to the JSON property `numPreviousSegments`
3253
+ # @return [Fixnum]
3254
+ attr_accessor :num_previous_segments
3255
+
3256
+ # Specifies whether to return the confidence score from the extractive segments
3257
+ # in each search result. The default value is `false`.
3258
+ # Corresponds to the JSON property `returnExtractiveSegmentScore`
3259
+ # @return [Boolean]
3260
+ attr_accessor :return_extractive_segment_score
3261
+ alias_method :return_extractive_segment_score?, :return_extractive_segment_score
3262
+
3263
+ def initialize(**args)
3264
+ update!(**args)
3265
+ end
3266
+
3267
+ # Update properties of this object
3268
+ def update!(**args)
3269
+ @max_extractive_answer_count = args[:max_extractive_answer_count] if args.key?(:max_extractive_answer_count)
3270
+ @max_extractive_segment_count = args[:max_extractive_segment_count] if args.key?(:max_extractive_segment_count)
3271
+ @num_next_segments = args[:num_next_segments] if args.key?(:num_next_segments)
3272
+ @num_previous_segments = args[:num_previous_segments] if args.key?(:num_previous_segments)
3273
+ @return_extractive_segment_score = args[:return_extractive_segment_score] if args.key?(:return_extractive_segment_score)
3274
+ end
3275
+ end
3276
+
3277
+ # A specification for configuring snippets in a search response.
3278
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec
3279
+ include Google::Apis::Core::Hashable
3280
+
3281
+ # [DEPRECATED] This field is deprecated. To control snippet return, use `
3282
+ # return_snippet` field. For backwards compatibility, we will return snippet if
3283
+ # max_snippet_count > 0.
3284
+ # Corresponds to the JSON property `maxSnippetCount`
3285
+ # @return [Fixnum]
3286
+ attr_accessor :max_snippet_count
3287
+
3288
+ # [DEPRECATED] This field is deprecated and will have no affect on the snippet.
3289
+ # Corresponds to the JSON property `referenceOnly`
3290
+ # @return [Boolean]
3291
+ attr_accessor :reference_only
3292
+ alias_method :reference_only?, :reference_only
3293
+
3294
+ # If `true`, then return snippet. If no snippet can be generated, we return "No
3295
+ # snippet is available for this page." A `snippet_status` with `SUCCESS` or `
3296
+ # NO_SNIPPET_AVAILABLE` will also be returned.
3297
+ # Corresponds to the JSON property `returnSnippet`
3298
+ # @return [Boolean]
3299
+ attr_accessor :return_snippet
3300
+ alias_method :return_snippet?, :return_snippet
3301
+
3302
+ def initialize(**args)
3303
+ update!(**args)
3304
+ end
3305
+
3306
+ # Update properties of this object
3307
+ def update!(**args)
3308
+ @max_snippet_count = args[:max_snippet_count] if args.key?(:max_snippet_count)
3309
+ @reference_only = args[:reference_only] if args.key?(:reference_only)
3310
+ @return_snippet = args[:return_snippet] if args.key?(:return_snippet)
3311
+ end
3312
+ end
3313
+
3314
+ # A specification for configuring a summary returned in a search response.
3315
+ class GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec
3316
+ include Google::Apis::Core::Hashable
3317
+
3318
+ # Specifies whether to filter out adversarial queries. The default value is `
3319
+ # false`. Google employs search-query classification to detect adversarial
3320
+ # queries. No summary is returned if the search query is classified as an
3321
+ # adversarial query. For example, a user might ask a question regarding negative
3322
+ # comments about the company or submit a query designed to generate unsafe,
3323
+ # policy-violating output. If this field is set to `true`, we skip generating
3324
+ # summaries for adversarial queries and return fallback messages instead.
3325
+ # Corresponds to the JSON property `ignoreAdversarialQuery`
3326
+ # @return [Boolean]
3327
+ attr_accessor :ignore_adversarial_query
3328
+ alias_method :ignore_adversarial_query?, :ignore_adversarial_query
3329
+
3330
+ # Specifies whether to filter out queries that are not summary-seeking. The
3331
+ # default value is `false`. Google employs search-query classification to detect
3332
+ # summary-seeking queries. No summary is returned if the search query is
3333
+ # classified as a non-summary seeking query. For example, `why is the sky blue`
3334
+ # and `Who is the best soccer player in the world?` are summary-seeking queries,
3335
+ # but `SFO airport` and `world cup 2026` are not. They are most likely
3336
+ # navigational queries. If this field is set to `true`, we skip generating
3337
+ # summaries for non-summary seeking queries and return fallback messages instead.
3338
+ # Corresponds to the JSON property `ignoreNonSummarySeekingQuery`
3339
+ # @return [Boolean]
3340
+ attr_accessor :ignore_non_summary_seeking_query
3341
+ alias_method :ignore_non_summary_seeking_query?, :ignore_non_summary_seeking_query
3342
+
3343
+ # Specifies whether to include citations in the summary. The default value is `
3344
+ # false`. When this field is set to `true`, summaries include in-line citation
3345
+ # numbers. Example summary including citations: BigQuery is Google Cloud's fully
3346
+ # managed and completely serverless enterprise data warehouse [1]. BigQuery
3347
+ # supports all data types, works across clouds, and has built-in machine
3348
+ # learning and business intelligence, all within a unified platform [2, 3]. The
3349
+ # citation numbers refer to the returned search results and are 1-indexed. For
3350
+ # example, [1] means that the sentence is attributed to the first search result.
3351
+ # [2, 3] means that the sentence is attributed to both the second and third
3352
+ # search results.
3353
+ # Corresponds to the JSON property `includeCitations`
3354
+ # @return [Boolean]
3355
+ attr_accessor :include_citations
3356
+ alias_method :include_citations?, :include_citations
3357
+
3358
+ # Language code for Summary. Use language tags defined by BCP47.
3359
+ # Corresponds to the JSON property `languageCode`
3360
+ # @return [String]
3361
+ attr_accessor :language_code
3362
+
3363
+ # The number of top results to generate the summary from. If the number of
3364
+ # results returned is less than `summaryResultCount`, the summary is generated
3365
+ # from all of the results. At most five results can be used to generate a
3366
+ # summary.
3367
+ # Corresponds to the JSON property `summaryResultCount`
3368
+ # @return [Fixnum]
3369
+ attr_accessor :summary_result_count
3370
+
3371
+ def initialize(**args)
3372
+ update!(**args)
3373
+ end
3374
+
3375
+ # Update properties of this object
3376
+ def update!(**args)
3377
+ @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
3378
+ @ignore_non_summary_seeking_query = args[:ignore_non_summary_seeking_query] if args.key?(:ignore_non_summary_seeking_query)
3379
+ @include_citations = args[:include_citations] if args.key?(:include_citations)
3380
+ @language_code = args[:language_code] if args.key?(:language_code)
3381
+ @summary_result_count = args[:summary_result_count] if args.key?(:summary_result_count)
3382
+ end
3383
+ end
3384
+
3385
+ # The specification that uses customized query embedding vector to do semantic
3386
+ # document retrieval.
3387
+ class GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec
3388
+ include Google::Apis::Core::Hashable
3389
+
3390
+ # The embedding vector used for retrieval. Limit to 1.
3391
+ # Corresponds to the JSON property `embeddingVectors`
3392
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector>]
3393
+ attr_accessor :embedding_vectors
3394
+
3395
+ def initialize(**args)
3396
+ update!(**args)
3397
+ end
3398
+
3399
+ # Update properties of this object
3400
+ def update!(**args)
3401
+ @embedding_vectors = args[:embedding_vectors] if args.key?(:embedding_vectors)
3402
+ end
3403
+ end
3404
+
3405
+ # Embedding vector.
3406
+ class GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector
3407
+ include Google::Apis::Core::Hashable
3408
+
3409
+ # Embedding field path in schema.
3410
+ # Corresponds to the JSON property `fieldPath`
3411
+ # @return [String]
3412
+ attr_accessor :field_path
3413
+
3414
+ # Query embedding vector.
3415
+ # Corresponds to the JSON property `vector`
3416
+ # @return [Array<Float>]
3417
+ attr_accessor :vector
3418
+
3419
+ def initialize(**args)
3420
+ update!(**args)
3421
+ end
3422
+
3423
+ # Update properties of this object
3424
+ def update!(**args)
3425
+ @field_path = args[:field_path] if args.key?(:field_path)
3426
+ @vector = args[:vector] if args.key?(:vector)
3427
+ end
3428
+ end
3429
+
3430
+ # A facet specification to perform faceted search.
3431
+ class GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec
3432
+ include Google::Apis::Core::Hashable
3433
+
3434
+ # Enables dynamic position for this facet. If set to true, the position of this
3435
+ # facet among all facets in the response is determined automatically. If dynamic
3436
+ # facets are enabled, it is ordered together. If set to false, the position of
3437
+ # this facet in the response is the same as in the request, and it is ranked
3438
+ # before the facets with dynamic position enable and all dynamic facets. For
3439
+ # example, you may always want to have rating facet returned in the response,
3440
+ # but it's not necessarily to always display the rating facet at the top. In
3441
+ # that case, you can set enable_dynamic_position to true so that the position of
3442
+ # rating facet in response is determined automatically. Another example,
3443
+ # assuming you have the following facets in the request: * "rating",
3444
+ # enable_dynamic_position = true * "price", enable_dynamic_position = false * "
3445
+ # brands", enable_dynamic_position = false And also you have a dynamic facets
3446
+ # enabled, which generates a facet `gender`. Then the final order of the facets
3447
+ # in the response can be ("price", "brands", "rating", "gender") or ("price", "
3448
+ # brands", "gender", "rating") depends on how API orders "gender" and "rating"
3449
+ # facets. However, notice that "price" and "brands" are always ranked at first
3450
+ # and second position because their enable_dynamic_position is false.
3451
+ # Corresponds to the JSON property `enableDynamicPosition`
3452
+ # @return [Boolean]
3453
+ attr_accessor :enable_dynamic_position
3454
+ alias_method :enable_dynamic_position?, :enable_dynamic_position
3455
+
3456
+ # List of keys to exclude when faceting. By default, FacetKey.key is not
3457
+ # excluded from the filter unless it is listed in this field. Listing a facet
3458
+ # key in this field allows its values to appear as facet results, even when they
3459
+ # are filtered out of search results. Using this field does not affect what
3460
+ # search results are returned. For example, suppose there are 100 documents with
3461
+ # the color facet "Red" and 200 documents with the color facet "Blue". A query
3462
+ # containing the filter "color:ANY("Red")" and having "color" as FacetKey.key
3463
+ # would by default return only "Red" documents in the search results, and also
3464
+ # return "Red" with count 100 as the only color facet. Although there are also
3465
+ # blue documents available, "Blue" would not be shown as an available facet
3466
+ # value. If "color" is listed in "excludedFilterKeys", then the query returns
3467
+ # the facet values "Red" with count 100 and "Blue" with count 200, because the "
3468
+ # color" key is now excluded from the filter. Because this field doesn't affect
3469
+ # search results, the search results are still correctly filtered to return only
3470
+ # "Red" documents. A maximum of 100 values are allowed. Otherwise, an `
3471
+ # INVALID_ARGUMENT` error is returned.
3472
+ # Corresponds to the JSON property `excludedFilterKeys`
3473
+ # @return [Array<String>]
3474
+ attr_accessor :excluded_filter_keys
3475
+
3476
+ # Specifies how a facet is computed.
3477
+ # Corresponds to the JSON property `facetKey`
3478
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey]
3479
+ attr_accessor :facet_key
3480
+
3481
+ # Maximum of facet values that should be returned for this facet. If unspecified,
3482
+ # defaults to 20. The maximum allowed value is 300. Values above 300 are
3483
+ # coerced to 300. If this field is negative, an `INVALID_ARGUMENT` is returned.
3484
+ # Corresponds to the JSON property `limit`
3485
+ # @return [Fixnum]
3486
+ attr_accessor :limit
3487
+
3488
+ def initialize(**args)
3489
+ update!(**args)
3490
+ end
3491
+
3492
+ # Update properties of this object
3493
+ def update!(**args)
3494
+ @enable_dynamic_position = args[:enable_dynamic_position] if args.key?(:enable_dynamic_position)
3495
+ @excluded_filter_keys = args[:excluded_filter_keys] if args.key?(:excluded_filter_keys)
3496
+ @facet_key = args[:facet_key] if args.key?(:facet_key)
3497
+ @limit = args[:limit] if args.key?(:limit)
3498
+ end
3499
+ end
3500
+
3501
+ # Specifies how a facet is computed.
3502
+ class GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey
3503
+ include Google::Apis::Core::Hashable
3504
+
3505
+ # True to make facet keys case insensitive when getting faceting values with
3506
+ # prefixes or contains; false otherwise.
3507
+ # Corresponds to the JSON property `caseInsensitive`
3508
+ # @return [Boolean]
3509
+ attr_accessor :case_insensitive
3510
+ alias_method :case_insensitive?, :case_insensitive
3511
+
3512
+ # Only get facet values that contains the given strings. For example, suppose "
3513
+ # category" has three values "Action > 2022", "Action > 2021" and "Sci-Fi > 2022"
3514
+ # . If set "contains" to "2022", the "category" facet only contains "Action >
3515
+ # 2022" and "Sci-Fi > 2022". Only supported on textual fields. Maximum is 10.
3516
+ # Corresponds to the JSON property `contains`
3517
+ # @return [Array<String>]
3518
+ attr_accessor :contains
3519
+
3520
+ # Set only if values should be bucketed into intervals. Must be set for facets
3521
+ # with numerical values. Must not be set for facet with text values. Maximum
3522
+ # number of intervals is 30.
3523
+ # Corresponds to the JSON property `intervals`
3524
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaInterval>]
3525
+ attr_accessor :intervals
3526
+
3527
+ # Required. Supported textual and numerical facet keys in Document object, over
3528
+ # which the facet values are computed. Facet key is case-sensitive.
3529
+ # Corresponds to the JSON property `key`
3530
+ # @return [String]
3531
+ attr_accessor :key
3532
+
3533
+ # The order in which documents are returned. Allowed values are: * "count desc",
3534
+ # which means order by SearchResponse.Facet.values.count descending. * "value
3535
+ # desc", which means order by SearchResponse.Facet.values.value descending. Only
3536
+ # applies to textual facets. If not set, textual values are sorted in [natural
3537
+ # order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals
3538
+ # are sorted in the order given by FacetSpec.FacetKey.intervals.
3539
+ # Corresponds to the JSON property `orderBy`
3540
+ # @return [String]
3541
+ attr_accessor :order_by
3542
+
3543
+ # Only get facet values that start with the given string prefix. For example,
3544
+ # suppose "category" has three values "Action > 2022", "Action > 2021" and "Sci-
3545
+ # Fi > 2022". If set "prefixes" to "Action", the "category" facet only contains "
3546
+ # Action > 2022" and "Action > 2021". Only supported on textual fields. Maximum
3547
+ # is 10.
3548
+ # Corresponds to the JSON property `prefixes`
3549
+ # @return [Array<String>]
3550
+ attr_accessor :prefixes
3551
+
3552
+ # Only get facet for the given restricted values. Only supported on textual
3553
+ # fields. For example, suppose "category" has three values "Action > 2022", "
3554
+ # Action > 2021" and "Sci-Fi > 2022". If set "restricted_values" to "Action >
3555
+ # 2022", the "category" facet only contains "Action > 2022". Only supported on
3556
+ # textual fields. Maximum is 10.
3557
+ # Corresponds to the JSON property `restrictedValues`
3558
+ # @return [Array<String>]
3559
+ attr_accessor :restricted_values
3560
+
3561
+ def initialize(**args)
3562
+ update!(**args)
3563
+ end
3564
+
3565
+ # Update properties of this object
3566
+ def update!(**args)
3567
+ @case_insensitive = args[:case_insensitive] if args.key?(:case_insensitive)
3568
+ @contains = args[:contains] if args.key?(:contains)
3569
+ @intervals = args[:intervals] if args.key?(:intervals)
3570
+ @key = args[:key] if args.key?(:key)
3571
+ @order_by = args[:order_by] if args.key?(:order_by)
3572
+ @prefixes = args[:prefixes] if args.key?(:prefixes)
3573
+ @restricted_values = args[:restricted_values] if args.key?(:restricted_values)
3574
+ end
3575
+ end
3576
+
3577
+ # Specifies the image query input.
3578
+ class GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery
3579
+ include Google::Apis::Core::Hashable
3580
+
3581
+ # Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.
3582
+ # Corresponds to the JSON property `imageBytes`
3583
+ # @return [String]
3584
+ attr_accessor :image_bytes
3585
+
3586
+ def initialize(**args)
3587
+ update!(**args)
3588
+ end
3589
+
3590
+ # Update properties of this object
3591
+ def update!(**args)
3592
+ @image_bytes = args[:image_bytes] if args.key?(:image_bytes)
3593
+ end
3594
+ end
3595
+
3596
+ # Specification to determine under which conditions query expansion should occur.
3597
+ class GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec
3598
+ include Google::Apis::Core::Hashable
3599
+
3600
+ # The condition under which query expansion should occur. Default to Condition.
3601
+ # DISABLED.
3602
+ # Corresponds to the JSON property `condition`
3603
+ # @return [String]
3604
+ attr_accessor :condition
3605
+
3606
+ # Whether to pin unexpanded results. If this field is set to true, unexpanded
3607
+ # products are always at the top of the search results, followed by the expanded
3608
+ # results.
3609
+ # Corresponds to the JSON property `pinUnexpandedResults`
3610
+ # @return [Boolean]
3611
+ attr_accessor :pin_unexpanded_results
3612
+ alias_method :pin_unexpanded_results?, :pin_unexpanded_results
3613
+
3614
+ def initialize(**args)
3615
+ update!(**args)
3616
+ end
3617
+
3618
+ # Update properties of this object
3619
+ def update!(**args)
3620
+ @condition = args[:condition] if args.key?(:condition)
3621
+ @pin_unexpanded_results = args[:pin_unexpanded_results] if args.key?(:pin_unexpanded_results)
3622
+ end
3623
+ end
3624
+
3625
+ # The specification for query spell correction.
3626
+ class GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec
3627
+ include Google::Apis::Core::Hashable
3628
+
3629
+ # The mode under which spell correction should take effect to replace the
3630
+ # original search query. Default to Mode.AUTO.
3631
+ # Corresponds to the JSON property `mode`
3632
+ # @return [String]
3633
+ attr_accessor :mode
3634
+
3635
+ def initialize(**args)
3636
+ update!(**args)
3637
+ end
3638
+
3639
+ # Update properties of this object
3640
+ def update!(**args)
3641
+ @mode = args[:mode] if args.key?(:mode)
3642
+ end
3643
+ end
3644
+
3645
+ # Response message for SearchService.Search method.
3646
+ class GoogleCloudDiscoveryengineV1betaSearchResponse
3647
+ include Google::Apis::Core::Hashable
3648
+
3649
+ # Controls applied as part of the Control service.
3650
+ # Corresponds to the JSON property `appliedControls`
3651
+ # @return [Array<String>]
3652
+ attr_accessor :applied_controls
3653
+
3654
+ # A unique search token. This should be included in the UserEvent logs resulting
3655
+ # from this search, which enables accurate attribution of search model
3656
+ # performance.
3657
+ # Corresponds to the JSON property `attributionToken`
3658
+ # @return [String]
3659
+ attr_accessor :attribution_token
3660
+
3661
+ # Contains the spell corrected query, if found. If the spell correction type is
3662
+ # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
3663
+ # original query is used for search.
3664
+ # Corresponds to the JSON property `correctedQuery`
3665
+ # @return [String]
3666
+ attr_accessor :corrected_query
3667
+
3668
+ # Results of facets requested by user.
3669
+ # Corresponds to the JSON property `facets`
3670
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseFacet>]
3671
+ attr_accessor :facets
3672
+
3673
+ # Guided search result. The guided search helps user to refine the search
3674
+ # results and narrow down to the real needs from a broaded search results.
3675
+ # Corresponds to the JSON property `guidedSearchResult`
3676
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResult]
3677
+ attr_accessor :guided_search_result
3678
+
3679
+ # A token that can be sent as SearchRequest.page_token to retrieve the next page.
3680
+ # If this field is omitted, there are no subsequent pages.
3681
+ # Corresponds to the JSON property `nextPageToken`
3682
+ # @return [String]
3683
+ attr_accessor :next_page_token
3684
+
3685
+ # Information describing query expansion including whether expansion has
3686
+ # occurred.
3687
+ # Corresponds to the JSON property `queryExpansionInfo`
3688
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseQueryExpansionInfo]
3689
+ attr_accessor :query_expansion_info
3690
+
3691
+ # The URI of a customer-defined redirect page. If redirect action is triggered,
3692
+ # no search is performed, and only redirect_uri and attribution_token are set in
3693
+ # the response.
3694
+ # Corresponds to the JSON property `redirectUri`
3695
+ # @return [String]
3696
+ attr_accessor :redirect_uri
3697
+
3698
+ # A list of matched documents. The order represents the ranking.
3699
+ # Corresponds to the JSON property `results`
3700
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult>]
3701
+ attr_accessor :results
3702
+
3703
+ # Summary of the top N search result specified by the summary spec.
3704
+ # Corresponds to the JSON property `summary`
3705
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseSummary]
3706
+ attr_accessor :summary
3707
+
3708
+ # The estimated total count of matched items irrespective of pagination. The
3709
+ # count of results returned by pagination may be less than the total_size that
3710
+ # matches.
3711
+ # Corresponds to the JSON property `totalSize`
3712
+ # @return [Fixnum]
3713
+ attr_accessor :total_size
3714
+
3715
+ def initialize(**args)
3716
+ update!(**args)
3717
+ end
3718
+
3719
+ # Update properties of this object
3720
+ def update!(**args)
3721
+ @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
3722
+ @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
3723
+ @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
3724
+ @facets = args[:facets] if args.key?(:facets)
3725
+ @guided_search_result = args[:guided_search_result] if args.key?(:guided_search_result)
3726
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3727
+ @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
3728
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
3729
+ @results = args[:results] if args.key?(:results)
3730
+ @summary = args[:summary] if args.key?(:summary)
3731
+ @total_size = args[:total_size] if args.key?(:total_size)
3732
+ end
3733
+ end
3734
+
3735
+ # A facet result.
3736
+ class GoogleCloudDiscoveryengineV1betaSearchResponseFacet
3737
+ include Google::Apis::Core::Hashable
3738
+
3739
+ # Whether the facet is dynamically generated.
3740
+ # Corresponds to the JSON property `dynamicFacet`
3741
+ # @return [Boolean]
3742
+ attr_accessor :dynamic_facet
3743
+ alias_method :dynamic_facet?, :dynamic_facet
3744
+
3745
+ # The key for this facet. E.g., "colors" or "price". It matches SearchRequest.
3746
+ # FacetSpec.FacetKey.key.
3747
+ # Corresponds to the JSON property `key`
3748
+ # @return [String]
3749
+ attr_accessor :key
3750
+
3751
+ # The facet values for this field.
3752
+ # Corresponds to the JSON property `values`
3753
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseFacetFacetValue>]
3754
+ attr_accessor :values
3755
+
3756
+ def initialize(**args)
3757
+ update!(**args)
3758
+ end
3759
+
3760
+ # Update properties of this object
3761
+ def update!(**args)
3762
+ @dynamic_facet = args[:dynamic_facet] if args.key?(:dynamic_facet)
3763
+ @key = args[:key] if args.key?(:key)
3764
+ @values = args[:values] if args.key?(:values)
3765
+ end
3766
+ end
3767
+
3768
+ # A facet value which contains value names and their count.
3769
+ class GoogleCloudDiscoveryengineV1betaSearchResponseFacetFacetValue
3770
+ include Google::Apis::Core::Hashable
3771
+
3772
+ # Number of items that have this facet value.
3773
+ # Corresponds to the JSON property `count`
3774
+ # @return [Fixnum]
3775
+ attr_accessor :count
3776
+
3777
+ # A floating point interval.
3778
+ # Corresponds to the JSON property `interval`
3779
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaInterval]
3780
+ attr_accessor :interval
3781
+
3782
+ # Text value of a facet, such as "Black" for facet "colors".
3783
+ # Corresponds to the JSON property `value`
3784
+ # @return [String]
3785
+ attr_accessor :value
3786
+
3787
+ def initialize(**args)
3788
+ update!(**args)
3789
+ end
3790
+
3791
+ # Update properties of this object
3792
+ def update!(**args)
3793
+ @count = args[:count] if args.key?(:count)
3794
+ @interval = args[:interval] if args.key?(:interval)
3795
+ @value = args[:value] if args.key?(:value)
3796
+ end
3797
+ end
3798
+
3799
+ # Guided search result. The guided search helps user to refine the search
3800
+ # results and narrow down to the real needs from a broaded search results.
3801
+ class GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResult
3802
+ include Google::Apis::Core::Hashable
3803
+
3804
+ # Suggested follow-up questions.
3805
+ # Corresponds to the JSON property `followUpQuestions`
3806
+ # @return [Array<String>]
3807
+ attr_accessor :follow_up_questions
3808
+
3809
+ # A list of ranked refinement attributes.
3810
+ # Corresponds to the JSON property `refinementAttributes`
3811
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResultRefinementAttribute>]
3812
+ attr_accessor :refinement_attributes
3813
+
3814
+ def initialize(**args)
3815
+ update!(**args)
3816
+ end
3817
+
3818
+ # Update properties of this object
3819
+ def update!(**args)
3820
+ @follow_up_questions = args[:follow_up_questions] if args.key?(:follow_up_questions)
3821
+ @refinement_attributes = args[:refinement_attributes] if args.key?(:refinement_attributes)
3822
+ end
3823
+ end
3824
+
3825
+ # Useful attribute for search result refinements.
3826
+ class GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResultRefinementAttribute
3827
+ include Google::Apis::Core::Hashable
3828
+
3829
+ # Attribute key used to refine the results e.g. 'movie_type'.
3830
+ # Corresponds to the JSON property `attributeKey`
3831
+ # @return [String]
3832
+ attr_accessor :attribute_key
3833
+
3834
+ # Attribute value used to refine the results e.g. 'drama'.
3835
+ # Corresponds to the JSON property `attributeValue`
3836
+ # @return [String]
3837
+ attr_accessor :attribute_value
3838
+
3839
+ def initialize(**args)
3840
+ update!(**args)
3841
+ end
3842
+
3843
+ # Update properties of this object
3844
+ def update!(**args)
3845
+ @attribute_key = args[:attribute_key] if args.key?(:attribute_key)
3846
+ @attribute_value = args[:attribute_value] if args.key?(:attribute_value)
3847
+ end
3848
+ end
3849
+
3850
+ # Information describing query expansion including whether expansion has
3851
+ # occurred.
3852
+ class GoogleCloudDiscoveryengineV1betaSearchResponseQueryExpansionInfo
3853
+ include Google::Apis::Core::Hashable
3854
+
3855
+ # Bool describing whether query expansion has occurred.
3856
+ # Corresponds to the JSON property `expandedQuery`
3857
+ # @return [Boolean]
3858
+ attr_accessor :expanded_query
3859
+ alias_method :expanded_query?, :expanded_query
3860
+
3861
+ # Number of pinned results. This field will only be set when expansion happens
3862
+ # and SearchRequest.QueryExpansionSpec.pin_unexpanded_results is set to true.
3863
+ # Corresponds to the JSON property `pinnedResultCount`
3864
+ # @return [Fixnum]
3865
+ attr_accessor :pinned_result_count
3866
+
3867
+ def initialize(**args)
3868
+ update!(**args)
3869
+ end
3870
+
3871
+ # Update properties of this object
3872
+ def update!(**args)
3873
+ @expanded_query = args[:expanded_query] if args.key?(:expanded_query)
3874
+ @pinned_result_count = args[:pinned_result_count] if args.key?(:pinned_result_count)
3875
+ end
3876
+ end
3877
+
3878
+ # Represents the search results.
3879
+ class GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult
3880
+ include Google::Apis::Core::Hashable
3881
+
3882
+ # Document captures all raw metadata information of items to be recommended or
3883
+ # searched.
3884
+ # Corresponds to the JSON property `document`
3885
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDocument]
3886
+ attr_accessor :document
3887
+
3888
+ # Document.id of the searched Document.
3889
+ # Corresponds to the JSON property `id`
3890
+ # @return [String]
3891
+ attr_accessor :id
3892
+
3893
+ # Google provided available scores.
3894
+ # Corresponds to the JSON property `modelScores`
3895
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaDoubleList>]
3896
+ attr_accessor :model_scores
3897
+
3898
+ def initialize(**args)
3899
+ update!(**args)
3900
+ end
3901
+
3902
+ # Update properties of this object
3903
+ def update!(**args)
3904
+ @document = args[:document] if args.key?(:document)
3905
+ @id = args[:id] if args.key?(:id)
3906
+ @model_scores = args[:model_scores] if args.key?(:model_scores)
3907
+ end
3908
+ end
3909
+
3910
+ # Summary of the top N search result specified by the summary spec.
3911
+ class GoogleCloudDiscoveryengineV1betaSearchResponseSummary
3912
+ include Google::Apis::Core::Hashable
3913
+
3914
+ # Additional summary-skipped reasons. This provides the reason for ignored cases.
3915
+ # If nothing is skipped, this field is not set.
3916
+ # Corresponds to the JSON property `summarySkippedReasons`
3917
+ # @return [Array<String>]
3918
+ attr_accessor :summary_skipped_reasons
3919
+
3920
+ # The summary content.
3921
+ # Corresponds to the JSON property `summaryText`
3922
+ # @return [String]
3923
+ attr_accessor :summary_text
3924
+
3925
+ def initialize(**args)
3926
+ update!(**args)
3927
+ end
3928
+
3929
+ # Update properties of this object
3930
+ def update!(**args)
3931
+ @summary_skipped_reasons = args[:summary_skipped_reasons] if args.key?(:summary_skipped_reasons)
3932
+ @summary_text = args[:summary_text] if args.key?(:summary_text)
3933
+ end
3934
+ end
3935
+
3936
+ # Defines text input.
3937
+ class GoogleCloudDiscoveryengineV1betaTextInput
3938
+ include Google::Apis::Core::Hashable
3939
+
3940
+ # Defines context of the conversation
3941
+ # Corresponds to the JSON property `context`
3942
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaConversationContext]
3943
+ attr_accessor :context
3944
+
3945
+ # Text input.
3946
+ # Corresponds to the JSON property `input`
3947
+ # @return [String]
3948
+ attr_accessor :input
3949
+
3950
+ def initialize(**args)
3951
+ update!(**args)
3952
+ end
3953
+
3954
+ # Update properties of this object
3955
+ def update!(**args)
3956
+ @context = args[:context] if args.key?(:context)
3957
+ @input = args[:input] if args.key?(:input)
3958
+ end
3959
+ end
3960
+
3961
+ # A transaction represents the entire purchase transaction.
3962
+ class GoogleCloudDiscoveryengineV1betaTransactionInfo
3963
+ include Google::Apis::Core::Hashable
3964
+
3965
+ # All the costs associated with the products. These can be manufacturing costs,
3966
+ # shipping expenses not borne by the end user, or any other costs, such that: *
3967
+ # Profit = value - tax - cost
3968
+ # Corresponds to the JSON property `cost`
3969
+ # @return [Float]
3970
+ attr_accessor :cost
3971
+
3972
+ # Required. Currency code. Use three-character ISO-4217 code.
3973
+ # Corresponds to the JSON property `currency`
3974
+ # @return [String]
3975
+ attr_accessor :currency
3976
+
3977
+ # The total discount(s) value applied to this transaction. This figure should be
3978
+ # excluded from TransactionInfo.value For example, if a user paid
3979
+ # TransactionInfo.value amount, then nominal (pre-discount) value of the
3980
+ # transaction is the sum of TransactionInfo.value and TransactionInfo.
3981
+ # discount_value This means that profit is calculated the same way, regardless
3982
+ # of the discount value, and that TransactionInfo.discount_value can be larger
3983
+ # than TransactionInfo.value: * Profit = value - tax - cost
3984
+ # Corresponds to the JSON property `discountValue`
3985
+ # @return [Float]
3986
+ attr_accessor :discount_value
3987
+
3988
+ # All the taxes associated with the transaction.
3989
+ # Corresponds to the JSON property `tax`
3990
+ # @return [Float]
3991
+ attr_accessor :tax
3992
+
3993
+ # The transaction ID with a length limit of 128 characters.
3994
+ # Corresponds to the JSON property `transactionId`
3995
+ # @return [String]
3996
+ attr_accessor :transaction_id
3997
+
3998
+ # Required. Total non-zero value associated with the transaction. This value may
3999
+ # include shipping, tax, or other adjustments to the total value that you want
4000
+ # to include.
4001
+ # Corresponds to the JSON property `value`
4002
+ # @return [Float]
4003
+ attr_accessor :value
4004
+
4005
+ def initialize(**args)
4006
+ update!(**args)
4007
+ end
4008
+
4009
+ # Update properties of this object
4010
+ def update!(**args)
4011
+ @cost = args[:cost] if args.key?(:cost)
4012
+ @currency = args[:currency] if args.key?(:currency)
4013
+ @discount_value = args[:discount_value] if args.key?(:discount_value)
4014
+ @tax = args[:tax] if args.key?(:tax)
4015
+ @transaction_id = args[:transaction_id] if args.key?(:transaction_id)
4016
+ @value = args[:value] if args.key?(:value)
4017
+ end
4018
+ end
4019
+
4020
+ # Metadata for UpdateSchema LRO.
4021
+ class GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata
4022
+ include Google::Apis::Core::Hashable
4023
+
4024
+ # Operation create time.
4025
+ # Corresponds to the JSON property `createTime`
4026
+ # @return [String]
4027
+ attr_accessor :create_time
4028
+
4029
+ # Operation last update time. If the operation is done, this is also the finish
4030
+ # time.
4031
+ # Corresponds to the JSON property `updateTime`
4032
+ # @return [String]
4033
+ attr_accessor :update_time
4034
+
4035
+ def initialize(**args)
4036
+ update!(**args)
4037
+ end
4038
+
4039
+ # Update properties of this object
4040
+ def update!(**args)
4041
+ @create_time = args[:create_time] if args.key?(:create_time)
4042
+ @update_time = args[:update_time] if args.key?(:update_time)
2125
4043
  end
2126
4044
  end
2127
4045