google-cloud-discovery_engine-v1beta 0.2.1 → 0.4.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/discovery_engine/v1beta/completion_service/client.rb +9 -3
  3. data/lib/google/cloud/discovery_engine/v1beta/completion_service/rest/client.rb +9 -3
  4. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/client.rb +925 -0
  5. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/credentials.rb +47 -0
  6. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/paths.rb +176 -0
  7. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest/client.rb +763 -0
  8. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest/service_stub.rb +450 -0
  9. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service/rest.rb +52 -0
  10. data/lib/google/cloud/discovery_engine/v1beta/conversational_search_service.rb +55 -0
  11. data/lib/google/cloud/discovery_engine/v1beta/document_service/client.rb +6 -5
  12. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/client.rb +6 -5
  13. data/lib/google/cloud/discovery_engine/v1beta/document_service/rest/operations.rb +42 -0
  14. data/lib/google/cloud/discovery_engine/v1beta/rest.rb +2 -1
  15. data/lib/google/cloud/discovery_engine/v1beta/schema_service/rest/operations.rb +42 -0
  16. data/lib/google/cloud/discovery_engine/v1beta/search_service/client.rb +14 -12
  17. data/lib/google/cloud/discovery_engine/v1beta/search_service/rest/client.rb +14 -12
  18. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/client.rb +5 -5
  19. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/client.rb +5 -5
  20. data/lib/google/cloud/discovery_engine/v1beta/user_event_service/rest/operations.rb +42 -0
  21. data/lib/google/cloud/discovery_engine/v1beta/version.rb +1 -1
  22. data/lib/google/cloud/discovery_engine/v1beta.rb +2 -1
  23. data/lib/google/cloud/discoveryengine/v1beta/completion_service_pb.rb +1 -1
  24. data/lib/google/cloud/discoveryengine/v1beta/conversation_pb.rb +53 -0
  25. data/lib/google/cloud/discoveryengine/v1beta/conversational_search_service_pb.rb +61 -0
  26. data/lib/google/cloud/discoveryengine/v1beta/conversational_search_service_services_pb.rb +67 -0
  27. data/lib/google/cloud/discoveryengine/v1beta/import_config_pb.rb +1 -1
  28. data/lib/google/cloud/discoveryengine/v1beta/search_service_pb.rb +4 -1
  29. data/lib/google/cloud/discoveryengine/v1beta/user_event_pb.rb +1 -1
  30. data/lib/google/cloud/discoveryengine/v1beta/user_event_service_services_pb.rb +1 -1
  31. data/proto_docs/google/cloud/discoveryengine/v1beta/common.rb +1 -2
  32. data/proto_docs/google/cloud/discoveryengine/v1beta/completion_service.rb +15 -2
  33. data/proto_docs/google/cloud/discoveryengine/v1beta/conversation.rb +134 -0
  34. data/proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb +175 -0
  35. data/proto_docs/google/cloud/discoveryengine/v1beta/document.rb +6 -5
  36. data/proto_docs/google/cloud/discoveryengine/v1beta/document_service.rb +2 -1
  37. data/proto_docs/google/cloud/discoveryengine/v1beta/import_config.rb +22 -18
  38. data/proto_docs/google/cloud/discoveryengine/v1beta/search_service.rb +194 -44
  39. data/proto_docs/google/cloud/discoveryengine/v1beta/user_event.rb +37 -29
  40. data/proto_docs/google/cloud/discoveryengine/v1beta/user_event_service.rb +1 -1
  41. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  42. metadata +15 -2
@@ -44,11 +44,15 @@ module Google
44
44
  # have a valid
45
45
  # {::Google::Cloud::DiscoveryEngine::V1beta::Document#id Document.id}.
46
46
  # * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by
47
- # `input_uris` will become a document, with the ID set to the first 128
47
+ # `input_uris` becomes a document, with the ID set to the first 128
48
48
  # bits of SHA256(URI) encoded as a hex string.
49
49
  # * `custom`: One custom data JSON per row in arbitrary format that conforms
50
- # the defined {::Google::Cloud::DiscoveryEngine::V1beta::Schema Schema} of the
51
- # data store. This can only be used by the GENERIC Data Store vertical.
50
+ # to the defined {::Google::Cloud::DiscoveryEngine::V1beta::Schema Schema} of
51
+ # the data store. This can only be used by Gen App Builder.
52
+ # * `csv`: A CSV file with header conforming to the defined
53
+ # {::Google::Cloud::DiscoveryEngine::V1beta::Schema Schema} of the
54
+ # data store. Each entry after the header is imported as a Document.
55
+ # This can only be used by Gen App Builder.
52
56
  #
53
57
  # Supported values for user even imports:
54
58
  #
@@ -99,9 +103,9 @@ module Google
99
103
  # {::Google::Cloud::DiscoveryEngine::V1beta::Document#json_data Document.json_data}
100
104
  # or
101
105
  # {::Google::Cloud::DiscoveryEngine::V1beta::Document#struct_data Document.struct_data}.
102
- # * `custom`: One custom data per row in arbitrary format that conforms the
103
- # defined {::Google::Cloud::DiscoveryEngine::V1beta::Schema Schema} of the data
104
- # store. This can only be used by the GENERIC Data Store vertical.
106
+ # * `custom`: One custom data per row in arbitrary format that conforms to
107
+ # the defined {::Google::Cloud::DiscoveryEngine::V1beta::Schema Schema} of the
108
+ # data store. This can only be used by Gen App Builder.
105
109
  class BigQuerySource
106
110
  include ::Google::Protobuf::MessageExts
107
111
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -111,7 +115,7 @@ module Google
111
115
  # @!attribute [rw] gcs_prefix
112
116
  # @return [::String]
113
117
  # Cloud Storage prefix for import errors. This must be an empty,
114
- # existing Cloud Storage directory. Import errors will be written to
118
+ # existing Cloud Storage directory. Import errors are written to
115
119
  # sharded files in this directory, one per line, as a JSON-encoded
116
120
  # `google.rpc.Status` message.
117
121
  class ImportErrorConfig
@@ -122,13 +126,13 @@ module Google
122
126
  # Request message for the ImportUserEvents request.
123
127
  # @!attribute [rw] inline_source
124
128
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::ImportUserEventsRequest::InlineSource]
125
- # Required. The Inline source for the input content for UserEvents.
129
+ # The Inline source for the input content for UserEvents.
126
130
  # @!attribute [rw] gcs_source
127
131
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::GcsSource]
128
- # Required. Cloud Storage location for the input content.
132
+ # Cloud Storage location for the input content.
129
133
  # @!attribute [rw] bigquery_source
130
134
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::BigQuerySource]
131
- # Required. BigQuery input source.
135
+ # BigQuery input source.
132
136
  # @!attribute [rw] parent
133
137
  # @return [::String]
134
138
  # Required. Parent DataStore resource name, of the form
@@ -173,7 +177,7 @@ module Google
173
177
  extend ::Google::Protobuf::MessageExts::ClassMethods
174
178
  end
175
179
 
176
- # Metadata related to the progress of the Import operation. This will be
180
+ # Metadata related to the progress of the Import operation. This is
177
181
  # returned by the google.longrunning.Operation.metadata field.
178
182
  # @!attribute [rw] create_time
179
183
  # @return [::Google::Protobuf::Timestamp]
@@ -193,8 +197,8 @@ module Google
193
197
  extend ::Google::Protobuf::MessageExts::ClassMethods
194
198
  end
195
199
 
196
- # Metadata related to the progress of the ImportDocuments operation. This will
197
- # be returned by the google.longrunning.Operation.metadata field.
200
+ # Metadata related to the progress of the ImportDocuments operation. This is
201
+ # returned by the google.longrunning.Operation.metadata field.
198
202
  # @!attribute [rw] create_time
199
203
  # @return [::Google::Protobuf::Timestamp]
200
204
  # Operation create time.
@@ -249,7 +253,7 @@ module Google
249
253
  # `false`, {::Google::Cloud::DiscoveryEngine::V1beta::Document#id Document.id}s
250
254
  # have to be specified using
251
255
  # {::Google::Cloud::DiscoveryEngine::V1beta::ImportDocumentsRequest#id_field id_field},
252
- # otherwises, documents without IDs will fail to be imported.
256
+ # otherwise, documents without IDs fail to be imported.
253
257
  #
254
258
  # Only set this field when using
255
259
  # {::Google::Cloud::DiscoveryEngine::V1beta::GcsSource GcsSource} or
@@ -258,7 +262,7 @@ module Google
258
262
  # {::Google::Cloud::DiscoveryEngine::V1beta::GcsSource#data_schema GcsSource.data_schema}
259
263
  # or
260
264
  # {::Google::Cloud::DiscoveryEngine::V1beta::BigQuerySource#data_schema BigQuerySource.data_schema}
261
- # is `custom`. Otherwise, an INVALID_ARGUMENT error is thrown.
265
+ # is `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown.
262
266
  # @!attribute [rw] id_field
263
267
  # @return [::String]
264
268
  # The field in the Cloud Storage and BigQuery sources that indicates the
@@ -270,12 +274,12 @@ module Google
270
274
  # {::Google::Cloud::DiscoveryEngine::V1beta::BigQuerySource BigQuerySource} it is
271
275
  # the column name of the BigQuery table where the unique ids are stored.
272
276
  #
273
- # The values of the JSON field or the BigQuery column will be used as the
277
+ # The values of the JSON field or the BigQuery column are used as the
274
278
  # {::Google::Cloud::DiscoveryEngine::V1beta::Document#id Document.id}s. The JSON
275
279
  # field or the BigQuery column must be of string type, and the values must be
276
280
  # set as valid strings conform to
277
281
  # [RFC-1034](https://tools.ietf.org/html/rfc1034) with 1-63 characters.
278
- # Otherwise, documents without valid IDs will fail to be imported.
282
+ # Otherwise, documents without valid IDs fail to be imported.
279
283
  #
280
284
  # Only set this field when using
281
285
  # {::Google::Cloud::DiscoveryEngine::V1beta::GcsSource GcsSource} or
@@ -308,7 +312,7 @@ module Google
308
312
  # Indicates how imported documents are reconciled with the existing documents
309
313
  # created or imported before.
310
314
  module ReconciliationMode
311
- # Defaults to INCREMENTAL.
315
+ # Defaults to `INCREMENTAL`.
312
316
  RECONCILIATION_MODE_UNSPECIFIED = 0
313
317
 
314
318
  # Inserts new documents or updates existing documents.
@@ -40,11 +40,14 @@ module Google
40
40
  # @!attribute [rw] query
41
41
  # @return [::String]
42
42
  # Raw search query.
43
+ # @!attribute [rw] image_query
44
+ # @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::ImageQuery]
45
+ # Raw image query.
43
46
  # @!attribute [rw] page_size
44
47
  # @return [::Integer]
45
48
  # Maximum number of {::Google::Cloud::DiscoveryEngine::V1beta::Document Document}s
46
49
  # to return. If unspecified, defaults to a reasonable value. The maximum
47
- # allowed value is 100. Values above 100 will be coerced to 100.
50
+ # allowed value is 100. Values above 100 are coerced to 100.
48
51
  #
49
52
  # If this field is negative, an `INVALID_ARGUMENT` is returned.
50
53
  # @!attribute [rw] page_token
@@ -76,17 +79,18 @@ module Google
76
79
  # If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
77
80
  # @!attribute [rw] order_by
78
81
  # @return [::String]
79
- # The order in which documents are returned. Document can be ordered by
82
+ # The order in which documents are returned. Documents can be ordered by
80
83
  # a field in an {::Google::Cloud::DiscoveryEngine::V1beta::Document Document}
81
- # object. Leave it unset if ordered by relevance. OrderBy expression is
84
+ # object. Leave it unset if ordered by relevance. `order_by` expression is
82
85
  # case-sensitive.
83
86
  #
84
- # If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
87
+ # If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
85
88
  # @!attribute [rw] user_info
86
89
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::UserInfo]
87
90
  # Information about the end user.
88
- # Highly recommended for analytics. The user_agent string in UserInfo will
89
- # be used to deduce device_type for analytics.
91
+ # Highly recommended for analytics.
92
+ # {::Google::Cloud::DiscoveryEngine::V1beta::UserInfo#user_agent UserInfo.user_agent}
93
+ # is used to deduce `device_type` for analytics.
90
94
  # @!attribute [rw] facet_specs
91
95
  # @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::FacetSpec>]
92
96
  # Facet specifications for faceted search. If empty, no facets are returned.
@@ -110,11 +114,11 @@ module Google
110
114
  # @!attribute [rw] query_expansion_spec
111
115
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::QueryExpansionSpec]
112
116
  # The query expansion specification that specifies the conditions under which
113
- # query expansion will occur.
117
+ # query expansion occurs.
114
118
  # @!attribute [rw] spell_correction_spec
115
119
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::SpellCorrectionSpec]
116
120
  # The spell correction specification that specifies the mode under
117
- # which spell correction will take effect.
121
+ # which spell correction takes effect.
118
122
  # @!attribute [rw] user_pseudo_id
119
123
  # @return [::String]
120
124
  # A unique identifier for tracking visitors. For example, this could be
@@ -133,12 +137,11 @@ module Google
133
137
  # characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
134
138
  # @!attribute [rw] content_search_spec
135
139
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::ContentSearchSpec]
136
- # The content search spec that configs the desired behavior of content
137
- # search.
140
+ # A specification for configuring the behavior of content search.
138
141
  # @!attribute [rw] safe_search
139
142
  # @return [::Boolean]
140
143
  # Whether to turn on safe search. This is only supported for
141
- # [ContentConfig.PUBLIC_WEBSITE][].
144
+ # website search.
142
145
  # @!attribute [rw] user_labels
143
146
  # @return [::Google::Protobuf::Map{::String => ::String}]
144
147
  # The user labels applied to a resource must meet the following requirements:
@@ -162,6 +165,16 @@ module Google
162
165
  include ::Google::Protobuf::MessageExts
163
166
  extend ::Google::Protobuf::MessageExts::ClassMethods
164
167
 
168
+ # Specifies the image query input.
169
+ # @!attribute [rw] image_bytes
170
+ # @return [::String]
171
+ # Base64 encoded image bytes. Supported image formats: JPEG, PNG, and
172
+ # BMP.
173
+ class ImageQuery
174
+ include ::Google::Protobuf::MessageExts
175
+ extend ::Google::Protobuf::MessageExts::ClassMethods
176
+ end
177
+
165
178
  # A facet specification to perform faceted search.
166
179
  # @!attribute [rw] facet_key
167
180
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::FacetSpec::FacetKey]
@@ -170,7 +183,7 @@ module Google
170
183
  # @return [::Integer]
171
184
  # Maximum of facet values that should be returned for this facet. If
172
185
  # unspecified, defaults to 20. The maximum allowed value is 300. Values
173
- # above 300 will be coerced to 300.
186
+ # above 300 are coerced to 300.
174
187
  #
175
188
  # If this field is negative, an `INVALID_ARGUMENT` is returned.
176
189
  # @!attribute [rw] excluded_filter_keys
@@ -207,15 +220,15 @@ module Google
207
220
  # @return [::Boolean]
208
221
  # Enables dynamic position for this facet. If set to true, the position of
209
222
  # this facet among all facets in the response is determined automatically.
210
- # It will be ordered together with dynamic facets if dynamic
211
- # facets is enabled. If set to false, the position of this facet in the
212
- # response will be the same as in the request, and it will be ranked before
223
+ # If dynamic facets are enabled, it is ordered together.
224
+ # If set to false, the position of this facet in the
225
+ # response is the same as in the request, and it is ranked before
213
226
  # the facets with dynamic position enable and all dynamic facets.
214
227
  #
215
228
  # For example, you may always want to have rating facet returned in
216
229
  # the response, but it's not necessarily to always display the rating facet
217
230
  # at the top. In that case, you can set enable_dynamic_position to true so
218
- # that the position of rating facet in response will be determined
231
+ # that the position of rating facet in response is determined
219
232
  # automatically.
220
233
  #
221
234
  # Another example, assuming you have the following facets in the request:
@@ -226,13 +239,13 @@ module Google
226
239
  #
227
240
  # * "brands", enable_dynamic_position = false
228
241
  #
229
- # And also you have a dynamic facets enable, which will generate a facet
230
- # 'gender'. Then the final order of the facets in the response can be
242
+ # And also you have a dynamic facets enabled, which generates a facet
243
+ # `gender`. Then the final order of the facets in the response can be
231
244
  # ("price", "brands", "rating", "gender") or ("price", "brands", "gender",
232
245
  # "rating") depends on how API orders "gender" and "rating" facets.
233
- # However, notice that "price" and "brands" will always be
234
- # ranked at 1st and 2nd position since their enable_dynamic_position are
235
- # false.
246
+ # However, notice that "price" and "brands" are always
247
+ # ranked at first and second position because their enable_dynamic_position
248
+ # is false.
236
249
  class FacetSpec
237
250
  include ::Google::Protobuf::MessageExts
238
251
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -245,7 +258,7 @@ module Google
245
258
  # which the facet values are computed. Facet key is case-sensitive.
246
259
  # @!attribute [rw] intervals
247
260
  # @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::Interval>]
248
- # Set only if values should be bucketized into intervals. Must be set
261
+ # Set only if values should be bucketed into intervals. Must be set
249
262
  # for facets with numerical values. Must not be set for facet with text
250
263
  # values. Maximum number of intervals is 30.
251
264
  # @!attribute [rw] restricted_values
@@ -253,22 +266,22 @@ module Google
253
266
  # Only get facet for the given restricted values. Only supported on
254
267
  # textual fields. For example, suppose "category" has three values
255
268
  # "Action > 2022", "Action > 2021" and "Sci-Fi > 2022". If set
256
- # "restricted_values" to "Action > 2022", the "category" facet will only
257
- # contain "Action > 2022". Only supported on textual fields. Maximum
269
+ # "restricted_values" to "Action > 2022", the "category" facet only
270
+ # contains "Action > 2022". Only supported on textual fields. Maximum
258
271
  # is 10.
259
272
  # @!attribute [rw] prefixes
260
273
  # @return [::Array<::String>]
261
274
  # Only get facet values that start with the given string prefix. For
262
275
  # example, suppose "category" has three values "Action > 2022",
263
276
  # "Action > 2021" and "Sci-Fi > 2022". If set "prefixes" to "Action", the
264
- # "category" facet will only contain "Action > 2022" and "Action > 2021".
277
+ # "category" facet only contains "Action > 2022" and "Action > 2021".
265
278
  # Only supported on textual fields. Maximum is 10.
266
279
  # @!attribute [rw] contains
267
280
  # @return [::Array<::String>]
268
281
  # Only get facet values that contains the given strings. For example,
269
282
  # suppose "category" has three values "Action > 2022",
270
283
  # "Action > 2021" and "Sci-Fi > 2022". If set "contains" to "2022", the
271
- # "category" facet will only contain "Action > 2022" and "Sci-Fi > 2022".
284
+ # "category" facet only contains "Action > 2022" and "Sci-Fi > 2022".
272
285
  # Only supported on textual fields. Maximum is 10.
273
286
  # @!attribute [rw] case_insensitive
274
287
  # @return [::Boolean]
@@ -405,49 +418,144 @@ module Google
405
418
  end
406
419
  end
407
420
 
408
- # The specification that configs the desired behavior of the UCS content
409
- # search.
421
+ # A specification for configuring the behavior of content search.
410
422
  # @!attribute [rw] snippet_spec
411
423
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::ContentSearchSpec::SnippetSpec]
412
- # If there is no snippet spec provided, there will be no snippet in the
413
- # search result.
424
+ # If `snippetSpec` is not specified, snippets are not included in the
425
+ # search response.
414
426
  # @!attribute [rw] summary_spec
415
427
  # @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::ContentSearchSpec::SummarySpec]
416
- # If there is no summary spec provided, there will be no summary in the
428
+ # If `summarySpec` is not specified, summaries are not included in the
417
429
  # search response.
430
+ # @!attribute [rw] extractive_content_spec
431
+ # @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::ContentSearchSpec::ExtractiveContentSpec]
432
+ # If there is no extractive_content_spec provided, there will be no
433
+ # extractive answer in the search response.
418
434
  class ContentSearchSpec
419
435
  include ::Google::Protobuf::MessageExts
420
436
  extend ::Google::Protobuf::MessageExts::ClassMethods
421
437
 
422
- # The specification that configs the snippet in the search results.
438
+ # A specification for configuring snippets in a search response.
423
439
  # @!attribute [rw] max_snippet_count
424
440
  # @return [::Integer]
425
- # Max number of snippets returned in each search result.
426
- # If the matching snippets is less than the max_snippet_count, return all
427
- # of the snippets; otherwise, return the max_snippet_count.
428
- #
429
- # At most 5 snippets will be returned for each SearchResult.
441
+ # [DEPRECATED] This field is deprecated. To control snippet return, use
442
+ # `return_snippet` field. For backwards compatibility, we will return
443
+ # snippet if max_snippet_count > 0.
430
444
  # @!attribute [rw] reference_only
431
445
  # @return [::Boolean]
432
- # if true, only snippet reference is returned.
446
+ # [DEPRECATED] This field is deprecated and will have no affect on the
447
+ # snippet.
448
+ # @!attribute [rw] return_snippet
449
+ # @return [::Boolean]
450
+ # If `true`, then return snippet. If no snippet can be generated, we
451
+ # return "No snippet is available for this page." A `snippet_status` with
452
+ # `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.
433
453
  class SnippetSpec
434
454
  include ::Google::Protobuf::MessageExts
435
455
  extend ::Google::Protobuf::MessageExts::ClassMethods
436
456
  end
437
457
 
438
- # The specification that configs the summary in the search response.
458
+ # A specification for configuring a summary returned in a search
459
+ # response.
439
460
  # @!attribute [rw] summary_result_count
440
461
  # @return [::Integer]
441
- # The number of top results the summary should be generated from.
442
- # If the number of returned results is less than summary_result_count,
443
- # then the summary would be derived from all the results; otherwise, the
444
- # summary would be derived from the top results.
462
+ # The number of top results to generate the summary from. If the number
463
+ # of results returned is less than `summaryResultCount`, the summary is
464
+ # generated from all of the results.
445
465
  #
446
- # At most 5 results can be used for generating summary.
466
+ # At most five results can be used to generate a summary.
467
+ # @!attribute [rw] include_citations
468
+ # @return [::Boolean]
469
+ # Specifies whether to include citations in the summary. The default
470
+ # value is `false`.
471
+ #
472
+ # When this field is set to `true`, summaries include in-line citation
473
+ # numbers.
474
+ #
475
+ # Example summary including citations:
476
+ #
477
+ # BigQuery is Google Cloud's fully managed and completely serverless
478
+ # enterprise data warehouse [1]. BigQuery supports all data types, works
479
+ # across clouds, and has built-in machine learning and business
480
+ # intelligence, all within a unified platform [2, 3].
481
+ #
482
+ # The citation numbers refer to the returned search results and are
483
+ # 1-indexed. For example, [1] means that the sentence is attributed to
484
+ # the first search result. [2, 3] means that the sentence is attributed
485
+ # to both the second and third search results.
486
+ # @!attribute [rw] ignore_adversarial_query
487
+ # @return [::Boolean]
488
+ # Specifies whether to filter out adversarial queries. The default value
489
+ # is `false`.
490
+ #
491
+ # Google employs search-query classification to detect adversarial
492
+ # queries. No summary is returned if the search query is classified as an
493
+ # adversarial query. For example, a user might ask a question regarding
494
+ # negative comments about the company or submit a query designed to
495
+ # generate unsafe, policy-violating output. If this field is set to
496
+ # `true`, we skip generating summaries for adversarial queries and return
497
+ # fallback messages instead.
498
+ # @!attribute [rw] ignore_non_summary_seeking_query
499
+ # @return [::Boolean]
500
+ # Specifies whether to filter out queries that are not summary-seeking.
501
+ # The default value is `false`.
502
+ #
503
+ # Google employs search-query classification to detect summary-seeking
504
+ # queries. No summary is returned if the search query is classified as a
505
+ # non-summary seeking query. For example, `why is the sky blue` and `Who
506
+ # is the best soccer player in the world?` are summary-seeking queries,
507
+ # but `SFO airport` and `world cup 2026` are not. They are most likely
508
+ # navigational queries. If this field is set to `true`, we skip
509
+ # generating summaries for non-summary seeking queries and return
510
+ # fallback messages instead.
447
511
  class SummarySpec
448
512
  include ::Google::Protobuf::MessageExts
449
513
  extend ::Google::Protobuf::MessageExts::ClassMethods
450
514
  end
515
+
516
+ # A specification for configuring the extractive content in a search
517
+ # response.
518
+ # @!attribute [rw] max_extractive_answer_count
519
+ # @return [::Integer]
520
+ # The maximum number of extractive answers returned in each search
521
+ # result.
522
+ #
523
+ # An extractive answer is a verbatim answer extracted from the original
524
+ # document, which provides a precise and contextually relevant answer to
525
+ # the search query.
526
+ #
527
+ # If the number of matching answers is less than the
528
+ # `max_extractive_answer_count`, return all of the answers. Otherwise,
529
+ # return the `max_extractive_answer_count`.
530
+ #
531
+ # At most one answer is returned for each
532
+ # {::Google::Cloud::DiscoveryEngine::V1beta::SearchResponse::SearchResult SearchResult}.
533
+ # @!attribute [rw] max_extractive_segment_count
534
+ # @return [::Integer]
535
+ # The max number of extractive segments returned in each search result.
536
+ # Only applied if the
537
+ # [DataStore][google.cloud.discoveryengine.v1beta.DataStore] is set to
538
+ # [DataStore.ContentConfig.CONTENT_REQUIRED][google.cloud.discoveryengine.v1beta.DataStore.ContentConfig.CONTENT_REQUIRED]
539
+ # or
540
+ # [DataStore.solution_types][google.cloud.discoveryengine.v1beta.DataStore.solution_types]
541
+ # is
542
+ # [SOLUTION_TYPE_CHAT][google.cloud.discoveryengine.v1beta.SolutionType.SOLUTION_TYPE_CHAT].
543
+ #
544
+ # An extractive segment is a text segment extracted from the original
545
+ # document that is relevant to the search query, and, in general, more
546
+ # verbose than an extractive answer. The segment could then be used as
547
+ # input for LLMs to generate summaries and answers.
548
+ #
549
+ # If the number of matching segments is less than
550
+ # `max_extractive_segment_count`, return all of the segments. Otherwise,
551
+ # return the `max_extractive_segment_count`.
552
+ #
553
+ # Currently one segment is returned for each
554
+ # {::Google::Cloud::DiscoveryEngine::V1beta::SearchResponse::SearchResult SearchResult}.
555
+ class ExtractiveContentSpec
556
+ include ::Google::Protobuf::MessageExts
557
+ extend ::Google::Protobuf::MessageExts::ClassMethods
558
+ end
451
559
  end
452
560
 
453
561
  # @!attribute [rw] key
@@ -495,6 +603,14 @@ module Google
495
603
  # {::Google::Cloud::DiscoveryEngine::V1beta::UserEvent UserEvent} logs resulting
496
604
  # from this search, which enables accurate attribution of search model
497
605
  # performance.
606
+ # @!attribute [rw] redirect_uri
607
+ # @return [::String]
608
+ # The URI of a customer-defined redirect page. If redirect action is
609
+ # triggered, no search is performed, and only
610
+ # {::Google::Cloud::DiscoveryEngine::V1beta::SearchResponse#redirect_uri redirect_uri}
611
+ # and
612
+ # {::Google::Cloud::DiscoveryEngine::V1beta::SearchResponse#attribution_token attribution_token}
613
+ # are set in the response.
498
614
  # @!attribute [rw] next_page_token
499
615
  # @return [::String]
500
616
  # A token that can be sent as
@@ -571,6 +687,9 @@ module Google
571
687
  # @!attribute [rw] refinement_attributes
572
688
  # @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::SearchResponse::GuidedSearchResult::RefinementAttribute>]
573
689
  # A list of ranked refinement attributes.
690
+ # @!attribute [rw] follow_up_questions
691
+ # @return [::Array<::String>]
692
+ # Suggested follow-up questions.
574
693
  class GuidedSearchResult
575
694
  include ::Google::Protobuf::MessageExts
576
695
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -592,9 +711,40 @@ module Google
592
711
  # @!attribute [rw] summary_text
593
712
  # @return [::String]
594
713
  # The summary content.
714
+ # @!attribute [rw] summary_skipped_reasons
715
+ # @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::SearchResponse::Summary::SummarySkippedReason>]
716
+ # Additional summary-skipped reasons. This provides the reason for ignored
717
+ # cases. If nothing is skipped, this field is not set.
595
718
  class Summary
596
719
  include ::Google::Protobuf::MessageExts
597
720
  extend ::Google::Protobuf::MessageExts::ClassMethods
721
+
722
+ # An Enum for summary-skipped reasons.
723
+ module SummarySkippedReason
724
+ # Default value. The summary skipped reason is not specified.
725
+ SUMMARY_SKIPPED_REASON_UNSPECIFIED = 0
726
+
727
+ # The adversarial query ignored case.
728
+ #
729
+ # Only populated when
730
+ # {::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::ContentSearchSpec::SummarySpec#ignore_adversarial_query SummarySpec.ignore_adversarial_query}
731
+ # is set to `true`.
732
+ ADVERSARIAL_QUERY_IGNORED = 1
733
+
734
+ # The non-summary seeking query ignored case.
735
+ #
736
+ # Only populated when
737
+ # {::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::ContentSearchSpec::SummarySpec#ignore_non_summary_seeking_query SummarySpec.ignore_non_summary_seeking_query}
738
+ # is set to `true`.
739
+ NON_SUMMARY_SEEKING_QUERY_IGNORED = 2
740
+
741
+ # The out-of-domain query ignored case.
742
+ #
743
+ # Google skips the summary if there are no high-relevance search results.
744
+ # For example, the data store contains facts about company A but the
745
+ # user query is asking questions about company B.
746
+ OUT_OF_DOMAIN_QUERY_IGNORED = 3
747
+ end
598
748
  end
599
749
  end
600
750
  end