google-apis-discoveryengine_v1beta 0.19.0 → 0.20.0

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