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

ModifyIndex

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

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

调用ModifyIndex接口修改索引配置。

使用说明

本接口用于修改日志主题的索引配置信息。调用频率限制为 20 次/s,超出频率限制会报错 ExceedQPSLimit。

说明

  • 全文索引与键值索引至少要开启一项,索引关闭时采集的日志数据将无法被检索。
  • 日志服务单词存在 32766 字符限制,对于全文或单词过长的日志,如果未开启分词符,可能导致日志被丢弃。
  • 配置索引后可以随时修改索引,修改索引时请注意:
    • 如果修改索引,新索引仅对修改之后采集到的新数据生效,已构建好的旧数据索引不会更新。
    • 检索和分析仅基于一种索引规则。因此,修改索引配置可能会导致之前相同的查询分析语句计算出不同结果,因为新的索引配置导致查询分析的数据范围发生了变化。

URI

请求方法
PUT

URI

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

传输协议

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__ 手动开启索引。其他预留字段的索引设置请参考预留字段

响应参数


示例

全文索引示例

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

全文索引和键值索引示例

PUT https://tls-{Region}.ivolces.com/ModifyIndex 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
                        }
                    }
                ]
            }
        }
    ]
}

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

PUT https://https://tls-{Region}.ivolces.com/ModifyIndex 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  
...
{}

错误码

错误码(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

索引已存在。

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__索引配置冲突。

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