You need to enable JavaScript to run this app.
导航

CreateIndex

最近更新时间2023.11.13 16:31:26

首次发布时间2022.05.11 11:26:48

调用 CreateIndex 接口创建索引。

使用说明

本接口用于创建日志主题的索引。调用频率限制为 20 次/s,超出频率限制会报错 ExceedQPSLimit。

说明

  • 全文索引与键值索引至少要开启一项,索引关闭时采集的日志数据将无法被检索。
  • 日志服务单词存在 32766 字符限制,对于全文或单词过长的日志,如果未开启分词符,可能导致日志被丢弃。
  • 某个字段开启键值索引但未开启统计时,如果未配置分词符或者包含中文,则字段不分词。
  • 某个字段开启键值索引和统计时,分词符属性不生效。

URI

请求方法
POST

URI

https://tls-{Region}.ivolces.com/CreateIndex

传输协议

HTTPS

请求参数

参数
参数类型
是否必选
示例值
说明

TopicId

String

必选

4a*********

日志主题 ID。

FullText

FullTextInfo

可选

/

全文索引配置。详细信息请参考 FullTextInfo

说明

  • 此字段为 null 或者未配置,表示不开启全文索引。
  • 全文索引配置和键值索引配置至少配置一项,即 FullText 和 KeyValue 之间应至少指定一个参数。

KeyValue

Array of KeyValueInfo

可选

/

键值索引配置。详细信息请参考 KeyValueInfo

说明

  • 此字段数组长度为 0 或者未配置,表示不开启键值索引。
  • 全文索引配置和键值索引配置至少配置一项,即 FullText 和 KeyValue 之间应至少指定一个参数。

UserInnerKeyValue

Array of KeyValueInfo

可选

/

预留字段索引配置。数据结构请参考 KeyValueInfo

说明

  • 此字段数组长度为 0 或者未配置,表示不开启预留字段索引。
  • 不能同时开启全文索引和预留字段 __content__ 的键值索引,即如果通过 UserInnerKeyValue 参数设置__content__ 索引,则不能同时设置参数 FullText。
  • 预留字段中,目前仅支持为 __content__ 手动开启索引。其他预留字段的索引设置请参考预留字段

响应参数

参数
类型
示例值
描述

TopicId

String

3***********

日志主题 ID。

示例

请求示例

全文索引示例

POST https://tls-{Region}.ivolces.com/CreateIndex HTTP/1.1
Content-Type: application/json
...
{
    "TopicId": "3***********",
    "FullText": {
        "Delimiter": ",-;",
        "CaseSensitive": false,
        "IncludeChinese": false
    }
}

全文索引和键值索引示例

POST https://https://tls-{Region}.ivolces.com/CreateIndex HTTP/1.1
Content-Type: application/json
...
{
    "TopicId":"39********",
    "FullText":{
        "Delimiter":",-;"
    },
    "KeyValue":[
        {
            "Key":"test1",
            "Value":{
                "ValueType":"text",
                "Delimiter":"",
                "CaseSensitive":true,
                "IncludeChinese":false,
                "SqlFlag":false
            }
        },
        {
            "Key":"test2",
            "Value":{
                "ValueType":"long",
                "Delimiter":"",
                "CaseSensitive":false,
                "IncludeChinese":false,
                "SqlFlag":true
            }
        },
        {
            "Key":"test3",
            "Value":{
                "ValueType":"json",
                "Delimiter":"",
                "CaseSensitive":false,
                "IncludeChinese":false,
                "SqlFlag":true,
                "JsonKeys":[
                    {
                        "Key":"key1",
                        "Value":{
                            "ValueType":"text",
                            "SqlFlag":true
                        }
                    },
                    {
                        "Key":"key2",
                        "Value":{
                            "ValueType":"long",
                            "SqlFlag":true
                        }
                    },
                    {
                        "Key":"key3.key4.key5",
                        "Value":{
                            "ValueType":"double",
                            "SqlFlag":true
                        }
                    }
                ]
            }
        }
    ]
}

键值索引和预留字段索引示例

POST https://https://tls-{Region}.ivolces.com/CreateIndex HTTP/1.1
Content-Type: application/json
...
{
    "TopicId":"39********",
    "KeyValue":[
        {
            "Key":"test1",
            "Value":{
                "ValueType":"text",
                "Delimiter":"",
                "CaseSensitive":true,
                "IncludeChinese":false,
                "SqlFlag":false
            }
        },
        {
            "Key":"test2",
            "Value":{
                "ValueType":"long",
                "Delimiter":"",
                "CaseSensitive":false,
                "IncludeChinese":false,
                "SqlFlag":true
            }
        },
        {
            "Key":"test3",
            "Value":{
                "ValueType":"json",
                "Delimiter":"",
                "CaseSensitive":false,
                "IncludeChinese":false,
                "SqlFlag":true,
                "JsonKeys":[
                    {
                        "Key":"key1",
                        "Value":{
                            "ValueType":"text",
                            "SqlFlag":true
                        }
                    },
                    {
                        "Key":"key2",
                        "Value":{
                            "ValueType":"long",
                            "SqlFlag":true
                        }
                    },
                    {
                        "Key":"key3.key4.key5",
                        "Value":{
                            "ValueType":"double",
                            "SqlFlag":true
                        }
                    }
                ]
            }
        }
    ],
    "UserInnerKeyValue": [
        {
            "Key": "__content__",
            "Value": {
                "ValueType": "json",
                "Delimiter": ",:-/ ",
                "CaseSensitive": false,
                "IncludeChinese": false,
                "SqlFlag": false,
                "JsonKeys": [
                    {
                        "Key": "name",
                        "Value": {
                            "ValueType": "text",
                            "SqlFlag": false
                        }
                    },
                    {
                        "Key": "age",
                        "Value": {
                            "ValueType": "long",
                            "SqlFlag": false
                        }
                    },
                    {
                        "Key": "education.master.college",
                        "Value": {
                            "ValueType": "text",
                            "SqlFlag": false
                        }
                    }
                ]
            }
        }
    ]
}

响应示例

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8  
...
{
    "TopicId":"39**********"
}

错误码

错误码(Code)
HTTP 状态码
错误信息(Message)
说明

InvalidArgument

400

Invalid argument key %s, value %s, please check argument.

参数不合法。

InvalidArgument

400

At least one of full-text indexing and key-value indexing must be turned on.

全文索引与键值索引至少要开启一项。

InvalidArgument

400

Index key value_type:%s conflict with [includeChinese:%t, casSensitive:%t, delimiter:%s], please check argument.

long/double 类型不支持配置包含中文、大小写敏感和分词符。

InvalidIndexJsonKeys

400

Non-JSON field %s configures JsonKeys, please check argument.

非 JSON 字段配置子字段

ConflictIndexJsonKeys

400

JsonKeys %s and %s have conflict prefix, please check argument.

JsonKeys键名存在前缀冲突

InvalidArgument

400

Index key sqlFlag:%t conflict with [includeChinese:%t, delimiter:%s], please check argument.

开启统计后,不支持配置包含中文和分词符。

IndexKeyValueQuotaExceed

400

Exceeded index key-value quota.

超过键值索引限额。

IndexKeyDuplicate

400

The %dth index key name:%s is duplicate, please check argument.

索引的键值名称重复。

InvalidArgument

400

Index key delimiter:%s conflict with includeChinese:%t, please check argument.

分词符和中分分词不能同时配置。

IndexKVNULL

400

Index key value index is open, but the key value list is null, please check argument.

键值索引配置的键值个数为 0。

TopicNotExist

404

Topic does not exist.

日志主题不存在。

IndexAlreadyExist

409

Index already exist

Index 已存在。

InternalServerError

500

We encountered an unexpected server error, please try again later.

服务器内部错误。

IndexInnerKeyUnSupport

400

key-value indexing for inner key: %v, doesn't support

不支持为 %v 字段设置预留字段索引。

IndexInnerKeyConflict

400

full-text indexing and content indexing can't be set together

全文索引与__content__索引配置冲突。

更多信息,请参考通用错误码