调用CreateIndex接口为指定Logstore创建索引。
接口说明
- 请求语法中Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。
-
已创建并获取AccessKey。更多信息,请参见访问密钥。
阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。RAM用户需具备操作日志服务资源的权限。具体操作,请参见创建RAM用户及授权。
- 已明确您查询日志所属的Project名称、所属地域、Logstore名称等。如何查询,请参见管理Project和管理Logstore。
- 索引配置(新增、编辑、删除字段,修改配置项等操作)只对新写入的日志生效。如果您要查询和分析历史日志,请重建索引。具体操作,请参见重建索引。
- 不同的索引配置,会产生不同的查询和分析结果,请根据您的需求,合理创建索引。如果您同时创建了全文索引和字段索引,以字段索引的配置为准。
- 控制台界面支持界面化配置索引,操作更便捷。具体操作,请参见创建索引。
- 创建索引,会产生索引流量。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求头
该接口使用公共请求头,无特殊请求头。请参见公共请求参数文档。
请求语法
POST /logstores/{logstore}/index HTTP/1.1
请求参数
名称 | 类型 | 位置 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|---|
logstore | String | Path | 是 | ali-logstore-test | Logstore名称。 |
project | String | Host | 是 | ali-test-project | Project名称。 |
Object | Body | 否 | 请求消息体。 |
||
keys | Map | Body | 否 | 字段索引配置,key为字段名称,value为字段索引配置。该参数和line必须至少指定一个。 |
|
Object | Body | 否 | 字段索引配置。 |
||
caseSensitive | Boolean | Body | 否 | false | 是否大小写敏感。仅当type参数取值为text时,必须设置。
|
chn | Boolean | Body | 否 | false | 是否包含中文。仅当type参数取值为text时,必须设置。
|
type | String | Body | 是 | text | 日志字段值(Value)的数据类型,可选值为text、long、double和json。 |
alias | String | Body | 否 | ip | 字段的别名,例如ip。别名仅用于分析语句,查询时仍需使用原始字段名称。 |
token | Array of String | Body | 否 | [","," ","'","\"",";","=","(",")","[","]","{","}","?","@","<",">","/",":","\n","\t","\r"] | 分词符列表。仅当type参数取值为text时,必须设置。 |
doc_value | Boolean | Body | 否 | true | 是否开启统计。
|
line | Object | Body | 否 | 全文索引配置。该参数和keys必须至少指定一个。 |
|
chn | Boolean | Body | 否 | false | 是否包含中文。
|
caseSensitive | Boolean | Body | 否 | false | 是否大小写敏感。
|
token | Array of String | Body | 是 | ,, ., \r,\n,\t,?, @ | 分词符列表。指定使用哪种分词符。 |
include_keys | Array of String | Body | 否 | includeKey | 创建全文索引的字段列表,不能与exclude_keys同时指定。 |
exclude_keys | Array of String | Body | 否 | excludeKey | 不创建全文索引的字段列表,不能与include_keys同时指定。 |
ttl | Integer | Body | 否 | 30 | 日志保存时间,单位为天。 |
max_text_len | Integer | Body | 否 | 2048 | 日志服务默认字段值的最大长度为2048字节,即2 KB。如果您需要修改字段值的最大长度,可设置统计字段(text)最大长度,取值范围为64~16384字节。 说明 当单个字段值长度超过最大长度时,超出部分被截断,不参与分析。 |
log_reduce | Boolean | Body | 否 | false | 是否开启日志聚类。开启后白名单与黑名单至多生效其中一个。 |
log_reduce_white_list | Array of String | Body | 否 | a | 日志聚类的聚类字段白名单。 |
log_reduce_black_list | Array of String | Body | 否 | b | 日志聚类的聚类字段黑名单。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Server | String | nginx | 服务器名称。 |
Content-Type | String | application/json | 返回的响应体的内容格式。 |
Content-Length | String | 0 | 响应内容长度。 |
Connection | String | close | 是否长链接。取值包括:
|
Date | String | Sun, 27 May 2018 08:25:04 GMT | 返回响应的时间。 |
x-log-requestid | String | 5B0A6B60BB6EE39764D458B5 | 服务端产生的标识,该请求的唯一ID。 |
示例
请求示例
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" ]
}
正常返回示例
JSON
格式
HTTP/1.1 200 OK
错误码
访问错误中心查看更多错误码。
HttpStatusCode |
ErrorCode |
ErrorMessage |
错误码描述 |
---|---|---|---|
400 |
IndexInfoInvalid |
Required field token is lacking or of error format. |
缺少必要的字段标记或格式配置错误。 |
400 |
IndexAlreadyExist |
Logstore index is already created. |
日志索引已经创建。 |
400 |
ParameterInvalid |
Index detail too long, should be less or equal than 65535. |
索引配置过长。 |
404 |
ProjectNotExist |
Project does not exist. |
Project不存在。 |
404 |
LogStoreNotExist |
Logstore does not exist. |
Logstore不存在。 |
500 |
InternalServerError |
Specified Server Error Message. |
内部服务调用错误。 |
更多信息,请参见通用错误码。