blob: 040ba72c6557ddb2a343783475089029f6e27f32 [file] [edit]
// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.33.2
// source: google/cloud/discoveryengine/v1/control.proto
package discoveryenginepb
import (
reflect "reflect"
sync "sync"
unsafe "unsafe"
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// The attribute(or function) for which the custom ranking is to be
// applied.
type Control_BoostAction_InterpolationBoostSpec_AttributeType int32
const (
// Unspecified AttributeType.
Control_BoostAction_InterpolationBoostSpec_ATTRIBUTE_TYPE_UNSPECIFIED Control_BoostAction_InterpolationBoostSpec_AttributeType = 0
// The value of the numerical field will be used to dynamically update
// the boost amount. In this case, the attribute_value (the x value)
// of the control point will be the actual value of the numerical
// field for which the boost_amount is specified.
Control_BoostAction_InterpolationBoostSpec_NUMERICAL Control_BoostAction_InterpolationBoostSpec_AttributeType = 1
// For the freshness use case the attribute value will be the duration
// between the current time and the date in the datetime field
// specified. The value must be formatted as an XSD `dayTimeDuration`
// value (a restricted subset of an ISO 8601 duration value). The
// pattern for this is: `[nD][T[nH][nM][nS]]`.
// For example, `5D`, `3DT12H30M`, `T24H`.
Control_BoostAction_InterpolationBoostSpec_FRESHNESS Control_BoostAction_InterpolationBoostSpec_AttributeType = 2
)
// Enum value maps for Control_BoostAction_InterpolationBoostSpec_AttributeType.
var (
Control_BoostAction_InterpolationBoostSpec_AttributeType_name = map[int32]string{
0: "ATTRIBUTE_TYPE_UNSPECIFIED",
1: "NUMERICAL",
2: "FRESHNESS",
}
Control_BoostAction_InterpolationBoostSpec_AttributeType_value = map[string]int32{
"ATTRIBUTE_TYPE_UNSPECIFIED": 0,
"NUMERICAL": 1,
"FRESHNESS": 2,
}
)
func (x Control_BoostAction_InterpolationBoostSpec_AttributeType) Enum() *Control_BoostAction_InterpolationBoostSpec_AttributeType {
p := new(Control_BoostAction_InterpolationBoostSpec_AttributeType)
*p = x
return p
}
func (x Control_BoostAction_InterpolationBoostSpec_AttributeType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Control_BoostAction_InterpolationBoostSpec_AttributeType) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_discoveryengine_v1_control_proto_enumTypes[0].Descriptor()
}
func (Control_BoostAction_InterpolationBoostSpec_AttributeType) Type() protoreflect.EnumType {
return &file_google_cloud_discoveryengine_v1_control_proto_enumTypes[0]
}
func (x Control_BoostAction_InterpolationBoostSpec_AttributeType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Control_BoostAction_InterpolationBoostSpec_AttributeType.Descriptor instead.
func (Control_BoostAction_InterpolationBoostSpec_AttributeType) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 0, 0, 0}
}
// The interpolation type to be applied. Default will be linear
// (Piecewise Linear).
type Control_BoostAction_InterpolationBoostSpec_InterpolationType int32
const (
// Interpolation type is unspecified. In this case, it defaults to
// Linear.
Control_BoostAction_InterpolationBoostSpec_INTERPOLATION_TYPE_UNSPECIFIED Control_BoostAction_InterpolationBoostSpec_InterpolationType = 0
// Piecewise linear interpolation will be applied.
Control_BoostAction_InterpolationBoostSpec_LINEAR Control_BoostAction_InterpolationBoostSpec_InterpolationType = 1
)
// Enum value maps for Control_BoostAction_InterpolationBoostSpec_InterpolationType.
var (
Control_BoostAction_InterpolationBoostSpec_InterpolationType_name = map[int32]string{
0: "INTERPOLATION_TYPE_UNSPECIFIED",
1: "LINEAR",
}
Control_BoostAction_InterpolationBoostSpec_InterpolationType_value = map[string]int32{
"INTERPOLATION_TYPE_UNSPECIFIED": 0,
"LINEAR": 1,
}
)
func (x Control_BoostAction_InterpolationBoostSpec_InterpolationType) Enum() *Control_BoostAction_InterpolationBoostSpec_InterpolationType {
p := new(Control_BoostAction_InterpolationBoostSpec_InterpolationType)
*p = x
return p
}
func (x Control_BoostAction_InterpolationBoostSpec_InterpolationType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Control_BoostAction_InterpolationBoostSpec_InterpolationType) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_discoveryengine_v1_control_proto_enumTypes[1].Descriptor()
}
func (Control_BoostAction_InterpolationBoostSpec_InterpolationType) Type() protoreflect.EnumType {
return &file_google_cloud_discoveryengine_v1_control_proto_enumTypes[1]
}
func (x Control_BoostAction_InterpolationBoostSpec_InterpolationType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Control_BoostAction_InterpolationBoostSpec_InterpolationType.Descriptor instead.
func (Control_BoostAction_InterpolationBoostSpec_InterpolationType) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 0, 0, 1}
}
// Defines circumstances to be checked before allowing a behavior
type Condition struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Search only
// A list of terms to match the query on.
// Cannot be set when
// [Condition.query_regex][google.cloud.discoveryengine.v1.Condition.query_regex]
// is set.
//
// Maximum of 10 query terms.
QueryTerms []*Condition_QueryTerm `protobuf:"bytes,2,rep,name=query_terms,json=queryTerms,proto3" json:"query_terms,omitempty"`
// Range of time(s) specifying when condition is active.
//
// Maximum of 10 time ranges.
ActiveTimeRange []*Condition_TimeRange `protobuf:"bytes,3,rep,name=active_time_range,json=activeTimeRange,proto3" json:"active_time_range,omitempty"`
// Optional. Query regex to match the whole search query.
// Cannot be set when
// [Condition.query_terms][google.cloud.discoveryengine.v1.Condition.query_terms]
// is set. Only supported for Basic Site Search promotion serving controls.
QueryRegex string `protobuf:"bytes,4,opt,name=query_regex,json=queryRegex,proto3" json:"query_regex,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Condition) Reset() {
*x = Condition{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Condition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Condition) ProtoMessage() {}
func (x *Condition) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Condition.ProtoReflect.Descriptor instead.
func (*Condition) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{0}
}
func (x *Condition) GetQueryTerms() []*Condition_QueryTerm {
if x != nil {
return x.QueryTerms
}
return nil
}
func (x *Condition) GetActiveTimeRange() []*Condition_TimeRange {
if x != nil {
return x.ActiveTimeRange
}
return nil
}
func (x *Condition) GetQueryRegex() string {
if x != nil {
return x.QueryRegex
}
return ""
}
// Defines a conditioned behavior to employ during serving.
// Must be attached to a
// [ServingConfig][google.cloud.discoveryengine.v1.ServingConfig] to be
// considered at serving time. Permitted actions dependent on `SolutionType`.
type Control struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Actions are restricted by Vertical and Solution
//
// Required.
//
// Types that are valid to be assigned to Action:
//
// *Control_BoostAction_
// *Control_FilterAction_
// *Control_RedirectAction_
// *Control_SynonymsAction_
// *Control_PromoteAction_
Action isControl_Action `protobuf_oneof:"action"`
// Immutable. Fully qualified name
// `projects/*/locations/global/dataStore/*/controls/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. Human readable name. The identifier used in UI views.
//
// Must be UTF-8 encoded string. Length limit is 128 characters.
// Otherwise an INVALID ARGUMENT error is thrown.
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// Output only. List of all
// [ServingConfig][google.cloud.discoveryengine.v1.ServingConfig] IDs this
// control is attached to. May take up to 10 minutes to update after changes.
AssociatedServingConfigIds []string `protobuf:"bytes,3,rep,name=associated_serving_config_ids,json=associatedServingConfigIds,proto3" json:"associated_serving_config_ids,omitempty"`
// Required. Immutable. What solution the control belongs to.
//
// Must be compatible with vertical of resource.
// Otherwise an INVALID ARGUMENT error is thrown.
SolutionType SolutionType `protobuf:"varint,4,opt,name=solution_type,json=solutionType,proto3,enum=google.cloud.discoveryengine.v1.SolutionType" json:"solution_type,omitempty"`
// Specifies the use case for the control.
// Affects what condition fields can be set.
// Only applies to
// [SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_SEARCH].
// Currently only allow one use case per control.
// Must be set when solution_type is
// [SolutionType.SOLUTION_TYPE_SEARCH][google.cloud.discoveryengine.v1.SolutionType.SOLUTION_TYPE_SEARCH].
UseCases []SearchUseCase `protobuf:"varint,8,rep,packed,name=use_cases,json=useCases,proto3,enum=google.cloud.discoveryengine.v1.SearchUseCase" json:"use_cases,omitempty"`
// Determines when the associated action will trigger.
//
// Omit to always apply the action.
// Currently only a single condition may be specified.
// Otherwise an INVALID ARGUMENT error is thrown.
Conditions []*Condition `protobuf:"bytes,5,rep,name=conditions,proto3" json:"conditions,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Control) Reset() {
*x = Control{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Control) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Control) ProtoMessage() {}
func (x *Control) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Control.ProtoReflect.Descriptor instead.
func (*Control) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1}
}
func (x *Control) GetAction() isControl_Action {
if x != nil {
return x.Action
}
return nil
}
func (x *Control) GetBoostAction() *Control_BoostAction {
if x != nil {
if x, ok := x.Action.(*Control_BoostAction_); ok {
return x.BoostAction
}
}
return nil
}
func (x *Control) GetFilterAction() *Control_FilterAction {
if x != nil {
if x, ok := x.Action.(*Control_FilterAction_); ok {
return x.FilterAction
}
}
return nil
}
func (x *Control) GetRedirectAction() *Control_RedirectAction {
if x != nil {
if x, ok := x.Action.(*Control_RedirectAction_); ok {
return x.RedirectAction
}
}
return nil
}
func (x *Control) GetSynonymsAction() *Control_SynonymsAction {
if x != nil {
if x, ok := x.Action.(*Control_SynonymsAction_); ok {
return x.SynonymsAction
}
}
return nil
}
func (x *Control) GetPromoteAction() *Control_PromoteAction {
if x != nil {
if x, ok := x.Action.(*Control_PromoteAction_); ok {
return x.PromoteAction
}
}
return nil
}
func (x *Control) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Control) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *Control) GetAssociatedServingConfigIds() []string {
if x != nil {
return x.AssociatedServingConfigIds
}
return nil
}
func (x *Control) GetSolutionType() SolutionType {
if x != nil {
return x.SolutionType
}
return SolutionType_SOLUTION_TYPE_UNSPECIFIED
}
func (x *Control) GetUseCases() []SearchUseCase {
if x != nil {
return x.UseCases
}
return nil
}
func (x *Control) GetConditions() []*Condition {
if x != nil {
return x.Conditions
}
return nil
}
type isControl_Action interface {
isControl_Action()
}
type Control_BoostAction_ struct {
// Defines a boost-type control
BoostAction *Control_BoostAction `protobuf:"bytes,6,opt,name=boost_action,json=boostAction,proto3,oneof"`
}
type Control_FilterAction_ struct {
// Defines a filter-type control
// Currently not supported by Recommendation
FilterAction *Control_FilterAction `protobuf:"bytes,7,opt,name=filter_action,json=filterAction,proto3,oneof"`
}
type Control_RedirectAction_ struct {
// Defines a redirect-type control.
RedirectAction *Control_RedirectAction `protobuf:"bytes,9,opt,name=redirect_action,json=redirectAction,proto3,oneof"`
}
type Control_SynonymsAction_ struct {
// Treats a group of terms as synonyms of one another.
SynonymsAction *Control_SynonymsAction `protobuf:"bytes,10,opt,name=synonyms_action,json=synonymsAction,proto3,oneof"`
}
type Control_PromoteAction_ struct {
// Promote certain links based on predefined trigger queries.
PromoteAction *Control_PromoteAction `protobuf:"bytes,15,opt,name=promote_action,json=promoteAction,proto3,oneof"`
}
func (*Control_BoostAction_) isControl_Action() {}
func (*Control_FilterAction_) isControl_Action() {}
func (*Control_RedirectAction_) isControl_Action() {}
func (*Control_SynonymsAction_) isControl_Action() {}
func (*Control_PromoteAction_) isControl_Action() {}
// Matcher for search request query
type Condition_QueryTerm struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The specific query value to match against
//
// Must be lowercase, must be UTF-8.
// Can have at most 3 space separated terms if full_match is true.
// Cannot be an empty string.
// Maximum length of 5000 characters.
Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
// Whether the search query needs to exactly match the query term.
FullMatch bool `protobuf:"varint,2,opt,name=full_match,json=fullMatch,proto3" json:"full_match,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Condition_QueryTerm) Reset() {
*x = Condition_QueryTerm{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Condition_QueryTerm) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Condition_QueryTerm) ProtoMessage() {}
func (x *Condition_QueryTerm) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Condition_QueryTerm.ProtoReflect.Descriptor instead.
func (*Condition_QueryTerm) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{0, 0}
}
func (x *Condition_QueryTerm) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *Condition_QueryTerm) GetFullMatch() bool {
if x != nil {
return x.FullMatch
}
return false
}
// Used for time-dependent conditions.
type Condition_TimeRange struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Start of time range.
//
// Range is inclusive.
StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
// End of time range.
//
// Range is inclusive.
// Must be in the future.
EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Condition_TimeRange) Reset() {
*x = Condition_TimeRange{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Condition_TimeRange) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Condition_TimeRange) ProtoMessage() {}
func (x *Condition_TimeRange) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Condition_TimeRange.ProtoReflect.Descriptor instead.
func (*Condition_TimeRange) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{0, 1}
}
func (x *Condition_TimeRange) GetStartTime() *timestamppb.Timestamp {
if x != nil {
return x.StartTime
}
return nil
}
func (x *Condition_TimeRange) GetEndTime() *timestamppb.Timestamp {
if x != nil {
return x.EndTime
}
return nil
}
// Adjusts order of products in returned list.
type Control_BoostAction struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Constant value boost or custom ranking based boost specifications.
//
// Types that are valid to be assigned to BoostSpec:
//
// *Control_BoostAction_FixedBoost
// *Control_BoostAction_InterpolationBoostSpec_
BoostSpec isControl_BoostAction_BoostSpec `protobuf_oneof:"boost_spec"`
// Strength of the boost, which should be in [-1, 1]. Negative
// boost means demotion. Default is 0.0 (No-op).
//
// Deprecated: Marked as deprecated in google/cloud/discoveryengine/v1/control.proto.
Boost float32 `protobuf:"fixed32,1,opt,name=boost,proto3" json:"boost,omitempty"`
// Required. Specifies which products to apply the boost to.
//
// If no filter is provided all products will be boosted (No-op).
// Syntax documentation:
// https://cloud.google.com/retail/docs/filter-and-order
// Maximum length is 5000 characters.
// Otherwise an INVALID ARGUMENT error is thrown.
Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
// Required. Specifies which data store's documents can be boosted by this
// control. Full data store name e.g.
// projects/123/locations/global/collections/default_collection/dataStores/default_data_store
DataStore string `protobuf:"bytes,3,opt,name=data_store,json=dataStore,proto3" json:"data_store,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Control_BoostAction) Reset() {
*x = Control_BoostAction{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Control_BoostAction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Control_BoostAction) ProtoMessage() {}
func (x *Control_BoostAction) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Control_BoostAction.ProtoReflect.Descriptor instead.
func (*Control_BoostAction) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 0}
}
func (x *Control_BoostAction) GetBoostSpec() isControl_BoostAction_BoostSpec {
if x != nil {
return x.BoostSpec
}
return nil
}
func (x *Control_BoostAction) GetFixedBoost() float32 {
if x != nil {
if x, ok := x.BoostSpec.(*Control_BoostAction_FixedBoost); ok {
return x.FixedBoost
}
}
return 0
}
func (x *Control_BoostAction) GetInterpolationBoostSpec() *Control_BoostAction_InterpolationBoostSpec {
if x != nil {
if x, ok := x.BoostSpec.(*Control_BoostAction_InterpolationBoostSpec_); ok {
return x.InterpolationBoostSpec
}
}
return nil
}
// Deprecated: Marked as deprecated in google/cloud/discoveryengine/v1/control.proto.
func (x *Control_BoostAction) GetBoost() float32 {
if x != nil {
return x.Boost
}
return 0
}
func (x *Control_BoostAction) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
func (x *Control_BoostAction) GetDataStore() string {
if x != nil {
return x.DataStore
}
return ""
}
type isControl_BoostAction_BoostSpec interface {
isControl_BoostAction_BoostSpec()
}
type Control_BoostAction_FixedBoost struct {
// Optional. Strength of the boost, which should be in [-1, 1]. Negative
// boost means demotion. Default is 0.0 (No-op).
FixedBoost float32 `protobuf:"fixed32,4,opt,name=fixed_boost,json=fixedBoost,proto3,oneof"`
}
type Control_BoostAction_InterpolationBoostSpec_ struct {
// Optional. Complex specification for custom ranking based on customer
// defined attribute value.
InterpolationBoostSpec *Control_BoostAction_InterpolationBoostSpec `protobuf:"bytes,5,opt,name=interpolation_boost_spec,json=interpolationBoostSpec,proto3,oneof"`
}
func (*Control_BoostAction_FixedBoost) isControl_BoostAction_BoostSpec() {}
func (*Control_BoostAction_InterpolationBoostSpec_) isControl_BoostAction_BoostSpec() {}
// Specified which products may be included in results.
// Uses same filter as boost.
type Control_FilterAction struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Required. A filter to apply on the matching condition results.
//
// Required
// Syntax documentation:
// https://cloud.google.com/retail/docs/filter-and-order
// Maximum length is 5000 characters. Otherwise an INVALID
// ARGUMENT error is thrown.
Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
// Required. Specifies which data store's documents can be filtered by this
// control. Full data store name e.g.
// projects/123/locations/global/collections/default_collection/dataStores/default_data_store
DataStore string `protobuf:"bytes,2,opt,name=data_store,json=dataStore,proto3" json:"data_store,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Control_FilterAction) Reset() {
*x = Control_FilterAction{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Control_FilterAction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Control_FilterAction) ProtoMessage() {}
func (x *Control_FilterAction) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Control_FilterAction.ProtoReflect.Descriptor instead.
func (*Control_FilterAction) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 1}
}
func (x *Control_FilterAction) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
func (x *Control_FilterAction) GetDataStore() string {
if x != nil {
return x.DataStore
}
return ""
}
// Redirects a shopper to the provided URI.
type Control_RedirectAction struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Required. The URI to which the shopper will be redirected.
//
// Required.
// URI must have length equal or less than 2000 characters.
// Otherwise an INVALID ARGUMENT error is thrown.
RedirectUri string `protobuf:"bytes,1,opt,name=redirect_uri,json=redirectUri,proto3" json:"redirect_uri,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Control_RedirectAction) Reset() {
*x = Control_RedirectAction{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Control_RedirectAction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Control_RedirectAction) ProtoMessage() {}
func (x *Control_RedirectAction) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Control_RedirectAction.ProtoReflect.Descriptor instead.
func (*Control_RedirectAction) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 2}
}
func (x *Control_RedirectAction) GetRedirectUri() string {
if x != nil {
return x.RedirectUri
}
return ""
}
// Creates a set of terms that will act as synonyms of one another.
//
// Example: "happy" will also be considered as "glad", "glad" will also be
// considered as "happy".
type Control_SynonymsAction struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Defines a set of synonyms.
// Can specify up to 100 synonyms.
// Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is
// thrown.
Synonyms []string `protobuf:"bytes,1,rep,name=synonyms,proto3" json:"synonyms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Control_SynonymsAction) Reset() {
*x = Control_SynonymsAction{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Control_SynonymsAction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Control_SynonymsAction) ProtoMessage() {}
func (x *Control_SynonymsAction) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Control_SynonymsAction.ProtoReflect.Descriptor instead.
func (*Control_SynonymsAction) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 3}
}
func (x *Control_SynonymsAction) GetSynonyms() []string {
if x != nil {
return x.Synonyms
}
return nil
}
// Promote certain links based on some trigger queries.
//
// Example: Promote shoe store link when searching for `shoe` keyword.
// The link can be outside of associated data store.
type Control_PromoteAction struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Required. Data store with which this promotion is attached to.
DataStore string `protobuf:"bytes,1,opt,name=data_store,json=dataStore,proto3" json:"data_store,omitempty"`
// Required. Promotion attached to this action.
SearchLinkPromotion *SearchLinkPromotion `protobuf:"bytes,2,opt,name=search_link_promotion,json=searchLinkPromotion,proto3" json:"search_link_promotion,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Control_PromoteAction) Reset() {
*x = Control_PromoteAction{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Control_PromoteAction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Control_PromoteAction) ProtoMessage() {}
func (x *Control_PromoteAction) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Control_PromoteAction.ProtoReflect.Descriptor instead.
func (*Control_PromoteAction) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 4}
}
func (x *Control_PromoteAction) GetDataStore() string {
if x != nil {
return x.DataStore
}
return ""
}
func (x *Control_PromoteAction) GetSearchLinkPromotion() *SearchLinkPromotion {
if x != nil {
return x.SearchLinkPromotion
}
return nil
}
// Specification for custom ranking based on customer specified attribute
// value. It provides more controls for customized ranking than the simple
// (condition, boost) combination above.
type Control_BoostAction_InterpolationBoostSpec struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Optional. The name of the field whose value will be used to determine
// the boost amount.
FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
// Optional. The attribute type to be used to determine the boost amount.
// The attribute value can be derived from the field value of the
// specified field_name. In the case of numerical it is straightforward
// i.e. attribute_value = numerical_field_value. In the case of freshness
// however, attribute_value = (time.now() - datetime_field_value).
AttributeType Control_BoostAction_InterpolationBoostSpec_AttributeType `protobuf:"varint,2,opt,name=attribute_type,json=attributeType,proto3,enum=google.cloud.discoveryengine.v1.Control_BoostAction_InterpolationBoostSpec_AttributeType" json:"attribute_type,omitempty"`
// Optional. The interpolation type to be applied to connect the control
// points listed below.
InterpolationType Control_BoostAction_InterpolationBoostSpec_InterpolationType `protobuf:"varint,3,opt,name=interpolation_type,json=interpolationType,proto3,enum=google.cloud.discoveryengine.v1.Control_BoostAction_InterpolationBoostSpec_InterpolationType" json:"interpolation_type,omitempty"`
// Optional. The control points used to define the curve. The monotonic
// function (defined through the interpolation_type above) passes through
// the control points listed here.
ControlPoints []*Control_BoostAction_InterpolationBoostSpec_ControlPoint `protobuf:"bytes,4,rep,name=control_points,json=controlPoints,proto3" json:"control_points,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Control_BoostAction_InterpolationBoostSpec) Reset() {
*x = Control_BoostAction_InterpolationBoostSpec{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Control_BoostAction_InterpolationBoostSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Control_BoostAction_InterpolationBoostSpec) ProtoMessage() {}
func (x *Control_BoostAction_InterpolationBoostSpec) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Control_BoostAction_InterpolationBoostSpec.ProtoReflect.Descriptor instead.
func (*Control_BoostAction_InterpolationBoostSpec) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 0, 0}
}
func (x *Control_BoostAction_InterpolationBoostSpec) GetFieldName() string {
if x != nil {
return x.FieldName
}
return ""
}
func (x *Control_BoostAction_InterpolationBoostSpec) GetAttributeType() Control_BoostAction_InterpolationBoostSpec_AttributeType {
if x != nil {
return x.AttributeType
}
return Control_BoostAction_InterpolationBoostSpec_ATTRIBUTE_TYPE_UNSPECIFIED
}
func (x *Control_BoostAction_InterpolationBoostSpec) GetInterpolationType() Control_BoostAction_InterpolationBoostSpec_InterpolationType {
if x != nil {
return x.InterpolationType
}
return Control_BoostAction_InterpolationBoostSpec_INTERPOLATION_TYPE_UNSPECIFIED
}
func (x *Control_BoostAction_InterpolationBoostSpec) GetControlPoints() []*Control_BoostAction_InterpolationBoostSpec_ControlPoint {
if x != nil {
return x.ControlPoints
}
return nil
}
// The control points used to define the curve. The curve defined
// through these control points can only be monotonically increasing
// or decreasing(constant values are acceptable).
type Control_BoostAction_InterpolationBoostSpec_ControlPoint struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Optional. Can be one of:
// 1. The numerical field value.
// 2. The duration spec for freshness:
// The value must be formatted as an XSD `dayTimeDuration` value (a
// restricted subset of an ISO 8601 duration value). The pattern for
// this is: `[nD][T[nH][nM][nS]]`.
AttributeValue string `protobuf:"bytes,1,opt,name=attribute_value,json=attributeValue,proto3" json:"attribute_value,omitempty"`
// Optional. The value between -1 to 1 by which to boost the score if
// the attribute_value evaluates to the value specified above.
BoostAmount float32 `protobuf:"fixed32,2,opt,name=boost_amount,json=boostAmount,proto3" json:"boost_amount,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Control_BoostAction_InterpolationBoostSpec_ControlPoint) Reset() {
*x = Control_BoostAction_InterpolationBoostSpec_ControlPoint{}
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Control_BoostAction_InterpolationBoostSpec_ControlPoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Control_BoostAction_InterpolationBoostSpec_ControlPoint) ProtoMessage() {}
func (x *Control_BoostAction_InterpolationBoostSpec_ControlPoint) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_control_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Control_BoostAction_InterpolationBoostSpec_ControlPoint.ProtoReflect.Descriptor instead.
func (*Control_BoostAction_InterpolationBoostSpec_ControlPoint) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP(), []int{1, 0, 0, 0}
}
func (x *Control_BoostAction_InterpolationBoostSpec_ControlPoint) GetAttributeValue() string {
if x != nil {
return x.AttributeValue
}
return ""
}
func (x *Control_BoostAction_InterpolationBoostSpec_ControlPoint) GetBoostAmount() float32 {
if x != nil {
return x.BoostAmount
}
return 0
}
var File_google_cloud_discoveryengine_v1_control_proto protoreflect.FileDescriptor
const file_google_cloud_discoveryengine_v1_control_proto_rawDesc = "" +
"\n" +
"-google/cloud/discoveryengine/v1/control.proto\x12\x1fgoogle.cloud.discoveryengine.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/discoveryengine/v1/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xab\x03\n" +
"\tCondition\x12U\n" +
"\vquery_terms\x18\x02 \x03(\v24.google.cloud.discoveryengine.v1.Condition.QueryTermR\n" +
"queryTerms\x12`\n" +
"\x11active_time_range\x18\x03 \x03(\v24.google.cloud.discoveryengine.v1.Condition.TimeRangeR\x0factiveTimeRange\x12$\n" +
"\vquery_regex\x18\x04 \x01(\tB\x03\xe0A\x01R\n" +
"queryRegex\x1a@\n" +
"\tQueryTerm\x12\x14\n" +
"\x05value\x18\x01 \x01(\tR\x05value\x12\x1d\n" +
"\n" +
"full_match\x18\x02 \x01(\bR\tfullMatch\x1a}\n" +
"\tTimeRange\x129\n" +
"\n" +
"start_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" +
"\bend_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\"\xba\x15\n" +
"\aControl\x12Y\n" +
"\fboost_action\x18\x06 \x01(\v24.google.cloud.discoveryengine.v1.Control.BoostActionH\x00R\vboostAction\x12\\\n" +
"\rfilter_action\x18\a \x01(\v25.google.cloud.discoveryengine.v1.Control.FilterActionH\x00R\ffilterAction\x12b\n" +
"\x0fredirect_action\x18\t \x01(\v27.google.cloud.discoveryengine.v1.Control.RedirectActionH\x00R\x0eredirectAction\x12b\n" +
"\x0fsynonyms_action\x18\n" +
" \x01(\v27.google.cloud.discoveryengine.v1.Control.SynonymsActionH\x00R\x0esynonymsAction\x12_\n" +
"\x0epromote_action\x18\x0f \x01(\v26.google.cloud.discoveryengine.v1.Control.PromoteActionH\x00R\rpromoteAction\x12\x17\n" +
"\x04name\x18\x01 \x01(\tB\x03\xe0A\x05R\x04name\x12&\n" +
"\fdisplay_name\x18\x02 \x01(\tB\x03\xe0A\x02R\vdisplayName\x12F\n" +
"\x1dassociated_serving_config_ids\x18\x03 \x03(\tB\x03\xe0A\x03R\x1aassociatedServingConfigIds\x12Z\n" +
"\rsolution_type\x18\x04 \x01(\x0e2-.google.cloud.discoveryengine.v1.SolutionTypeB\x06\xe0A\x02\xe0A\x05R\fsolutionType\x12K\n" +
"\tuse_cases\x18\b \x03(\x0e2..google.cloud.discoveryengine.v1.SearchUseCaseR\buseCases\x12J\n" +
"\n" +
"conditions\x18\x05 \x03(\v2*.google.cloud.discoveryengine.v1.ConditionR\n" +
"conditions\x1a\xb6\b\n" +
"\vBoostAction\x12&\n" +
"\vfixed_boost\x18\x04 \x01(\x02B\x03\xe0A\x01H\x00R\n" +
"fixedBoost\x12\x8c\x01\n" +
"\x18interpolation_boost_spec\x18\x05 \x01(\v2K.google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpecB\x03\xe0A\x01H\x00R\x16interpolationBoostSpec\x12\x18\n" +
"\x05boost\x18\x01 \x01(\x02B\x02\x18\x01R\x05boost\x12\x1b\n" +
"\x06filter\x18\x02 \x01(\tB\x03\xe0A\x02R\x06filter\x12O\n" +
"\n" +
"data_store\x18\x03 \x01(\tB0\xe0A\x02\xfaA*\n" +
"(discoveryengine.googleapis.com/DataStoreR\tdataStore\x1a\xd9\x05\n" +
"\x16InterpolationBoostSpec\x12\"\n" +
"\n" +
"field_name\x18\x01 \x01(\tB\x03\xe0A\x01R\tfieldName\x12\x85\x01\n" +
"\x0eattribute_type\x18\x02 \x01(\x0e2Y.google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.AttributeTypeB\x03\xe0A\x01R\rattributeType\x12\x91\x01\n" +
"\x12interpolation_type\x18\x03 \x01(\x0e2].google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.InterpolationTypeB\x03\xe0A\x01R\x11interpolationType\x12\x84\x01\n" +
"\x0econtrol_points\x18\x04 \x03(\v2X.google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.ControlPointB\x03\xe0A\x01R\rcontrolPoints\x1ad\n" +
"\fControlPoint\x12,\n" +
"\x0fattribute_value\x18\x01 \x01(\tB\x03\xe0A\x01R\x0eattributeValue\x12&\n" +
"\fboost_amount\x18\x02 \x01(\x02B\x03\xe0A\x01R\vboostAmount\"M\n" +
"\rAttributeType\x12\x1e\n" +
"\x1aATTRIBUTE_TYPE_UNSPECIFIED\x10\x00\x12\r\n" +
"\tNUMERICAL\x10\x01\x12\r\n" +
"\tFRESHNESS\x10\x02\"C\n" +
"\x11InterpolationType\x12\"\n" +
"\x1eINTERPOLATION_TYPE_UNSPECIFIED\x10\x00\x12\n" +
"\n" +
"\x06LINEAR\x10\x01B\f\n" +
"\n" +
"boost_spec\x1a|\n" +
"\fFilterAction\x12\x1b\n" +
"\x06filter\x18\x01 \x01(\tB\x03\xe0A\x02R\x06filter\x12O\n" +
"\n" +
"data_store\x18\x02 \x01(\tB0\xe0A\x02\xfaA*\n" +
"(discoveryengine.googleapis.com/DataStoreR\tdataStore\x1a8\n" +
"\x0eRedirectAction\x12&\n" +
"\fredirect_uri\x18\x01 \x01(\tB\x03\xe0A\x02R\vredirectUri\x1a,\n" +
"\x0eSynonymsAction\x12\x1a\n" +
"\bsynonyms\x18\x01 \x03(\tR\bsynonyms\x1a\xcf\x01\n" +
"\rPromoteAction\x12O\n" +
"\n" +
"data_store\x18\x01 \x01(\tB0\xe0A\x02\xfaA*\n" +
"(discoveryengine.googleapis.com/DataStoreR\tdataStore\x12m\n" +
"\x15search_link_promotion\x18\x02 \x01(\v24.google.cloud.discoveryengine.v1.SearchLinkPromotionB\x03\xe0A\x02R\x13searchLinkPromotion:\xd3\x02\xeaA\xcf\x02\n" +
"&discoveryengine.googleapis.com/Control\x12Rprojects/{project}/locations/{location}/dataStores/{data_store}/controls/{control}\x12kprojects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/controls/{control}\x12dprojects/{project}/locations/{location}/collections/{collection}/engines/{engine}/controls/{control}B\b\n" +
"\x06actionB\xff\x01\n" +
"#com.google.cloud.discoveryengine.v1B\fControlProtoP\x01ZMcloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb\xa2\x02\x0fDISCOVERYENGINE\xaa\x02\x1fGoogle.Cloud.DiscoveryEngine.V1\xca\x02\x1fGoogle\\Cloud\\DiscoveryEngine\\V1\xea\x02\"Google::Cloud::DiscoveryEngine::V1b\x06proto3"
var (
file_google_cloud_discoveryengine_v1_control_proto_rawDescOnce sync.Once
file_google_cloud_discoveryengine_v1_control_proto_rawDescData []byte
)
func file_google_cloud_discoveryengine_v1_control_proto_rawDescGZIP() []byte {
file_google_cloud_discoveryengine_v1_control_proto_rawDescOnce.Do(func() {
file_google_cloud_discoveryengine_v1_control_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_discoveryengine_v1_control_proto_rawDesc), len(file_google_cloud_discoveryengine_v1_control_proto_rawDesc)))
})
return file_google_cloud_discoveryengine_v1_control_proto_rawDescData
}
var file_google_cloud_discoveryengine_v1_control_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_cloud_discoveryengine_v1_control_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_google_cloud_discoveryengine_v1_control_proto_goTypes = []any{
(Control_BoostAction_InterpolationBoostSpec_AttributeType)(0), // 0: google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.AttributeType
(Control_BoostAction_InterpolationBoostSpec_InterpolationType)(0), // 1: google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.InterpolationType
(*Condition)(nil), // 2: google.cloud.discoveryengine.v1.Condition
(*Control)(nil), // 3: google.cloud.discoveryengine.v1.Control
(*Condition_QueryTerm)(nil), // 4: google.cloud.discoveryengine.v1.Condition.QueryTerm
(*Condition_TimeRange)(nil), // 5: google.cloud.discoveryengine.v1.Condition.TimeRange
(*Control_BoostAction)(nil), // 6: google.cloud.discoveryengine.v1.Control.BoostAction
(*Control_FilterAction)(nil), // 7: google.cloud.discoveryengine.v1.Control.FilterAction
(*Control_RedirectAction)(nil), // 8: google.cloud.discoveryengine.v1.Control.RedirectAction
(*Control_SynonymsAction)(nil), // 9: google.cloud.discoveryengine.v1.Control.SynonymsAction
(*Control_PromoteAction)(nil), // 10: google.cloud.discoveryengine.v1.Control.PromoteAction
(*Control_BoostAction_InterpolationBoostSpec)(nil), // 11: google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec
(*Control_BoostAction_InterpolationBoostSpec_ControlPoint)(nil), // 12: google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.ControlPoint
(SolutionType)(0), // 13: google.cloud.discoveryengine.v1.SolutionType
(SearchUseCase)(0), // 14: google.cloud.discoveryengine.v1.SearchUseCase
(*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp
(*SearchLinkPromotion)(nil), // 16: google.cloud.discoveryengine.v1.SearchLinkPromotion
}
var file_google_cloud_discoveryengine_v1_control_proto_depIdxs = []int32{
4, // 0: google.cloud.discoveryengine.v1.Condition.query_terms:type_name -> google.cloud.discoveryengine.v1.Condition.QueryTerm
5, // 1: google.cloud.discoveryengine.v1.Condition.active_time_range:type_name -> google.cloud.discoveryengine.v1.Condition.TimeRange
6, // 2: google.cloud.discoveryengine.v1.Control.boost_action:type_name -> google.cloud.discoveryengine.v1.Control.BoostAction
7, // 3: google.cloud.discoveryengine.v1.Control.filter_action:type_name -> google.cloud.discoveryengine.v1.Control.FilterAction
8, // 4: google.cloud.discoveryengine.v1.Control.redirect_action:type_name -> google.cloud.discoveryengine.v1.Control.RedirectAction
9, // 5: google.cloud.discoveryengine.v1.Control.synonyms_action:type_name -> google.cloud.discoveryengine.v1.Control.SynonymsAction
10, // 6: google.cloud.discoveryengine.v1.Control.promote_action:type_name -> google.cloud.discoveryengine.v1.Control.PromoteAction
13, // 7: google.cloud.discoveryengine.v1.Control.solution_type:type_name -> google.cloud.discoveryengine.v1.SolutionType
14, // 8: google.cloud.discoveryengine.v1.Control.use_cases:type_name -> google.cloud.discoveryengine.v1.SearchUseCase
2, // 9: google.cloud.discoveryengine.v1.Control.conditions:type_name -> google.cloud.discoveryengine.v1.Condition
15, // 10: google.cloud.discoveryengine.v1.Condition.TimeRange.start_time:type_name -> google.protobuf.Timestamp
15, // 11: google.cloud.discoveryengine.v1.Condition.TimeRange.end_time:type_name -> google.protobuf.Timestamp
11, // 12: google.cloud.discoveryengine.v1.Control.BoostAction.interpolation_boost_spec:type_name -> google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec
16, // 13: google.cloud.discoveryengine.v1.Control.PromoteAction.search_link_promotion:type_name -> google.cloud.discoveryengine.v1.SearchLinkPromotion
0, // 14: google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.attribute_type:type_name -> google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.AttributeType
1, // 15: google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.interpolation_type:type_name -> google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.InterpolationType
12, // 16: google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.control_points:type_name -> google.cloud.discoveryengine.v1.Control.BoostAction.InterpolationBoostSpec.ControlPoint
17, // [17:17] is the sub-list for method output_type
17, // [17:17] is the sub-list for method input_type
17, // [17:17] is the sub-list for extension type_name
17, // [17:17] is the sub-list for extension extendee
0, // [0:17] is the sub-list for field type_name
}
func init() { file_google_cloud_discoveryengine_v1_control_proto_init() }
func file_google_cloud_discoveryengine_v1_control_proto_init() {
if File_google_cloud_discoveryengine_v1_control_proto != nil {
return
}
file_google_cloud_discoveryengine_v1_common_proto_init()
file_google_cloud_discoveryengine_v1_control_proto_msgTypes[1].OneofWrappers = []any{
(*Control_BoostAction_)(nil),
(*Control_FilterAction_)(nil),
(*Control_RedirectAction_)(nil),
(*Control_SynonymsAction_)(nil),
(*Control_PromoteAction_)(nil),
}
file_google_cloud_discoveryengine_v1_control_proto_msgTypes[4].OneofWrappers = []any{
(*Control_BoostAction_FixedBoost)(nil),
(*Control_BoostAction_InterpolationBoostSpec_)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_discoveryengine_v1_control_proto_rawDesc), len(file_google_cloud_discoveryengine_v1_control_proto_rawDesc)),
NumEnums: 2,
NumMessages: 11,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_google_cloud_discoveryengine_v1_control_proto_goTypes,
DependencyIndexes: file_google_cloud_discoveryengine_v1_control_proto_depIdxs,
EnumInfos: file_google_cloud_discoveryengine_v1_control_proto_enumTypes,
MessageInfos: file_google_cloud_discoveryengine_v1_control_proto_msgTypes,
}.Build()
File_google_cloud_discoveryengine_v1_control_proto = out.File
file_google_cloud_discoveryengine_v1_control_proto_goTypes = nil
file_google_cloud_discoveryengine_v1_control_proto_depIdxs = nil
}