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