All Products
Search
Document Center

Simple Log Service:CreateIndex

Last Updated:Oct 26, 2023

Creates indexes for a Logstore.

Usage notes

  • Host consists of a project name and a Log Service endpoint. You must specify a project in Host.
  • An AccessKey pair is created and obtained. For more information, see AccessKey pair.

    The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations in Log Service is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console. Make sure that the RAM user has the management permissions on Log Service resources. For more information, see Create a RAM user and authorize the RAM user to access Log Service.

  • The information that is required to query logs is obtained. The information includes the name of the project to which the logs belong, the region of the project, and the name of the Logstore to which the logs belong. For more information, see Manage a project and Manage a Logstore.
  • You can manage the configuration of your indexes. For example, you can create, update, and delete indexes for specific fields, and modify related parameters. The new index configuration takes effect only for the logs that are written after you update the index configuration. If you want to query and analyze historical logs, you must use the reindexing feature. For more information, see Reindex logs for a Logstore.
  • Query and analysis results vary based on the index configuration. You must create indexes based on your business requirements. If you create both full-text indexes and field indexes, the field indexes take precedence.
  • You can create indexes in the Log Service console with ease. For more information, see Create indexes.
  • If you create indexes, index traffic is generated.

Authentication resources

The following table describes the authorization information that is required for this operation. You can add the information to the Action element of a policy statement to grant a RAM user or a RAM role the permissions to call this operation.

Action

Resource

log:CreateIndexacs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName}

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request headers

This operation uses only common request headers and does not have operation-specific request headers. For more information, see Common request parameters.

Request syntax

POST /logstores/{logstore}/index HTTP/1.1

Request parameters

ParameterTypePositionRequiredExampleDescription
logstoreStringPathYesali-logstore-test

The name of the Logstore.

projectStringHostYesali-test-project

The name of the project.

ObjectBodyNo

The request body.

keysMapBodyNo

The configuration of field indexes. A field index is a key-value pair in which the key specifies the name of the field and the value specifies the index configuration of the field. You must specify at least one of the keys and line parameters.

ObjectBodyNo

The configuration of the field index.

caseSensitiveBooleanBodyNofalse

Specifies whether to enable case sensitivity. This parameter is required only when type is set to text. Valid values:

  • true
  • false (default)
chnBooleanBodyNofalse

Specifies whether to include Chinese characters. This parameter is required only when type is set to text.

  • true
  • false (default)
typeStringBodyYestext

The data type of the field value. Valid values: text, long, double, and json.

aliasStringBodyNoip

The alias of the field. Example: ip. An alias is used only in analytic statements. You must use the original field name in search statements.

tokenArray of StringBodyNo[","," ","'","\"",";","=","(",")","[","]","{","}","?","@","<",">","/",":","\n","\t","\r"]

The delimiters. This parameter is required only when type is set to text.

doc_valueBooleanBodyNotrue

Specifies whether to turn on Enable Analytics. Valid values:

  • true
  • false
lineObjectBodyNo

The configuration of full-text indexes. You must specify at least one of the keys and line parameters.

chnBooleanBodyNofalse

Specifies whether to include Chinese characters. Valid values:

  • true
  • false (default)
caseSensitiveBooleanBodyNofalse

Specifies whether to enable case sensitivity.

  • true
  • false (default)
tokenArray of StringBodyYes,, ., \r,\n,\t,?, @

The delimiters. You can specify the delimiters that you want to use.

include_keysArray of StringBodyNoincludeKey

The included fields. You cannot specify both the include_keys and exclude_keys parameters.

exclude_keysArray of StringBodyNoexcludeKey

The excluded fields. You cannot specify both the include_keys and exclude_keys parameters.

ttlIntegerBodyNo30

The log retention period. Unit: days.

max_text_lenIntegerBodyNo2048

The maximum length of a field value that can be retained. Unit: bytes. Default value: 2048. The default value is equal to 2 KB. You can change the value of the max_text_len parameter. Valid values: 64 to 16384.

Note If the length of a field value exceeds the value of this parameter, the field value is truncated, and the excess part is not involved in analysis.
log_reduceBooleanBodyNofalse

Specifies whether to turn on LogReduce. After you turn on LogReduce, either the whitelist or blacklist takes effect.

log_reduce_white_listArray of StringBodyNoa

The fields in the whitelist that you want to use to cluster logs.

log_reduce_black_listArray of StringBodyNob

The blacklist of fields that you want to use to cluster logs.

Response parameters

ParameterTypeExampleDescription
ServerStringnginx

The name of the server.

Content-TypeStringapplication/json

The format of the response body.

Content-LengthString0

The length of the response body.

ConnectionStringclose

Indicates whether the connection is persistent. Valid values:

  • close: The connection is non-persistent. A new TCP connection is established for each HTTP request.
  • keep-alive: The connection is persistent. After a TCP connection is established, the connection remains open, and no more time or bandwidth is consumed to establish new connections.
DateStringSun, 27 May 2018 08:25:04 GMT

The time when the response was returned.

x-log-requestidString5B0A6B60BB6EE39764D458B5

The request ID.

Examples

Sample requests

POST /logstores/ali-logstore-test/index HTTP/1.1
Host:ali-project-test.cn-hangzhou.log.aliyuncs.com
Content-Type:application/json

{
  "keys" : {
    "key" : {
      "caseSensitive" : false,
      "chn" : false,
      "type" : "text",
      "alias" : "myAlias",
      "token" : [ ",, ., \\r,\\n,\\t,?, @" ],
      "doc_value" : false
    }
  },
  "line" : {
    "chn" : false,
    "caseSensitive" : false,
    "token" : [ ",, ., \\r,\\n,\\t,?, @" ],
    "include_keys" : [ "includeKey" ],
    "exclude_keys" : [ "excludeKey" ]
  },
  "ttl" : 30,
  "max_text_len" : 2048,
  "log_reduce" : false,
  "log_reduce_white_list" : [ "a" ],
  "log_reduce_black_list" : [ "b" ]
}

Sample success responses

JSON format

HTTP/1.1 200 OK

Error codes

For a list of error codes, see Service error codes.

HttpStatusCode

ErrorCode

ErrorMessage

Description

400

IndexInfoInvalid

Required field token is lacking or of error format.

A required parameter is not specified, or the format is invalid.

400

IndexAlreadyExist

Logstore index is already created.

The specified index already exists.

400

ParameterInvalid

Index detail too long, should be less or equal than 65535.

The index configuration is excessively long.

404

ProjectNotExist

Project does not exist.

The specified project does not exist.

404

LogStoreNotExist

Logstore does not exist.

The specified Logstore does not exist.

500

InternalServerError

Specified Server Error Message.

An internal server error has occurred.

For more information, see Common error codes.