Updates the indexes of a Logstore. This operation does not rebuild indexes.
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. After you update the index configuration, the new index configuration takes effect only for the logs that are written after the update. 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.
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 RAM policy statement to grant a RAM user or a RAM role the permissions to call this operation.
Action | Resource |
log:UpdateIndex | acs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName} |
Debugging
Request headers
This operation uses only common request headers. For more information, see Common request headers.
Request syntax
PUT /logstores/{logstore}/index HTTP/1.1
Request parameters
Parameter | Type | Position | Required | Example | Description |
project | String | Host | Yes | ali-test-project | The name of the project. |
logstore | String | Path | Yes | test-logstore | The name of the Logstore. |
Object | Body | Yes | The body of the request. | ||
keys | Map | Body | No | 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. | |
Object | Body | Yes | The configuration of the field index. | ||
caseSensitive | Boolean | Body | No | false | Specifies whether to enable case sensitivity.
|
chn | Boolean | Body | No | false | Specifies whether to include Chinese characters. This parameter is required only when type is set to text. Valid values:
|
type | String | Body | Yes | text | The data type of the field value. Valid values: text, json, double, and long. |
alias | String | Body | No | myAlias | The alias of the field. |
token | Array of String | Body | Yes | . | The delimiters that are used to split text. |
doc_value | Boolean | Body | Yes | false | Specifies whether to turn on Enable Analytics for the field. |
line | Object | Body | No | The configuration of full-text indexes. | |
chn | Boolean | Body | Yes | false | Specifies whether to include Chinese characters.
|
caseSensitive | Boolean | Body | Yes | true | Specifies whether to enable case sensitivity.
|
token | Array of String | Body | Yes | , | The delimiters that are used to split text. |
include_keys | Array of String | Body | No | includeField | The included fields. |
exclude_keys | Array of String | Body | No | excludeField | The excluded fields. |
ttl | Integer | Body | Yes | 30 | The data retention period. Unit: days. Valid values: 7, 30, and 90. |
max_text_len | Integer | Body | No | 2048 | The maximum length of a field value that can be retained. |
log_reduce | Boolean | Body | No | false | Specifies whether to turn on LogReduce. If you turn on LogReduce, only one of |
log_reduce_white_list | Array of String | Body | No | user | The fields in the whitelist. |
log_reduce_black_list | Array of String | Body | No | time | The fields in the blacklist. |
Response parameters
Parameter | Type | Example | Description |
Server | String | nginx | The name of the server. |
Content-Type | String | application/json | The type of the response body. |
Content-Length | String | 0 | The length of the response body. |
Connection | String | close | Indicates whether the connection is persistent. Valid values:
|
Date | String | Sun, 27 May 2018 08:25:04 GMT | The time when the response was returned. |
x-log-requestid | String | 5B0A6B60BB6EE39764D458B5 | The request ID. |
Examples
Sample requests
PUT /logstores/test-logstore/index HTTP/1.1
Host:ali-test-project.cn-hangzhou.log.aliyuncs.com
Content-Type:application/json
{
"keys" : {
"key" : {
"caseSensitive" : false,
"chn" : false,
"type" : "text",
"alias" : "myAlias",
"token" : [ "." ],
"doc_value" : false
}
},
"line" : {
"chn" : false,
"caseSensitive" : true,
"token" : [ "," ],
"include_keys" : [ "includeField" ],
"exclude_keys" : [ "excludeField" ]
},
"ttl" : 30,
"max_text_len" : 2048,
"log_reduce" : false,
"log_reduce_white_list" : [ "user" ],
"log_reduce_black_list" : [ "time" ]
}
Sample success responses
JSON
format
HTTP/1.1 200 OK
Error codes
For a list of error codes, see Service error codes.
HTTP status code | Error code | Error message | Description |
404 | ProjectNotExist | Project does not exist. | The specified project does not exist. |
404 | LogStoreNotExist | Logstore does not exist. | The specified Logstore does not exist. |
400 | ParameterInvalid | Index detail too long, should be less or equal than 65535. | The index configuration is excessively long. |
500 | InternalServerError | Specified Server Error Message. | An internal server error has occurred. |
For more information, see Common error codes.