// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Log.Outputs
{

    [OutputType]
    public sealed class StoreIndexFieldSearch
    {
        /// <summary>
        /// The alias of one field.
        /// </summary>
        public readonly string? Alias;
        /// <summary>
        /// Whether the case sensitive for the field. Default to false. It is valid when "type" is "text" or "json".
        /// </summary>
        public readonly bool? CaseSensitive;
        /// <summary>
        /// Whether to enable field analytics. Default to true.
        /// </summary>
        public readonly bool? EnableAnalytics;
        /// <summary>
        /// Whether includes the chinese for the field. Default to false. It is valid when "type" is "text" or "json".
        /// </summary>
        public readonly bool? IncludeChinese;
        /// <summary>
        /// Use nested index when type is json
        /// </summary>
        public readonly ImmutableArray<Outputs.StoreIndexFieldSearchJsonKey> JsonKeys;
        /// <summary>
        /// When using the json_keys field, this field is required.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// The string of several split words, like "\r", "#". It is valid when "type" is "text" or "json".
        /// </summary>
        public readonly string? Token;
        /// <summary>
        /// The type of one field. Valid values: ["long", "text", "double"]. Default to "long"
        /// </summary>
        public readonly string? Type;

        [OutputConstructor]
        private StoreIndexFieldSearch(
            string? alias,

            bool? caseSensitive,

            bool? enableAnalytics,

            bool? includeChinese,

            ImmutableArray<Outputs.StoreIndexFieldSearchJsonKey> jsonKeys,

            string name,

            string? token,

            string? type)
        {
            Alias = alias;
            CaseSensitive = caseSensitive;
            EnableAnalytics = enableAnalytics;
            IncludeChinese = includeChinese;
            JsonKeys = jsonKeys;
            Name = name;
            Token = token;
            Type = type;
        }
    }
}
