Skip to content

Create Default Type Index



POST /api/v1/log_index_cfg/add

Overview

Create a default storage type index configuration.

Body Request Parameters

Parameter Name Type Required Description
name string Y Index name
Example: xxx
Allow empty: False
Max length: 256
desc string Index description
Example: xxx
Allow empty: False
Allow empty string: True
Max length: 1024
extend json Frontend custom data
Allow empty: True
duration string Data retention period
Allow empty: False
Example: 7d
storagePolicy json Long-term storage policy, only workspaces with scopedb storage for logs can enable this; unlimited version does not support; enterprise version supports custom long-term storage duration, logging max 1800d, rp max 3600d; includes longStorageEnabled and longStorageDuration
Example: {'longStorageEnabled': True, 'longStorageDuration': '180d'}
Allow empty: False
directIndex boolean Native direct-write index, default false, added in 2025-06-25 iteration
Allow empty: False
isFullLineIndex int Whether it is a full-line index; 0/false means keep message field index, 1/true means full-line index, default 0; only workspaces with scopedb storage for logs can set to 1
Allow empty: False
setting json Related configuration information
Allow empty: False
setting.hot_retention int Volcengine storage, Standard storage - Hot storage
Allow empty: False
setting.cold_retention int Volcengine storage, Infrequent Access storage - Cold data
Allow empty: False
setting.archive_retention int Volcengine storage, Archive storage - Archived data
Allow empty: False

Parameter Supplementary Explanation

1. Request Parameter Description

Parameter Name type Required Description
name String Required Index name
desc String Index description
extend Json Extended information for frontend display
duration Json Total index storage duration, example: 60d
directIndex Boolean Native direct-write index, default false, added in 2025-06-25 iteration
setting Json When logs use Volcengine storage, index configuration information

2. Parameter Description in setting

Parameter Name type Required Description
hot_retention int Required Standard storage - Hot data, must be whole days in hours Unit: hour h
cold_retention int Infrequent Access storage - Cold data, must be whole days in hours Unit: hour h
archive_retention int Archive storage - Archived data, must be whole days in hours Unit: hour h

2.1. Volcengine storage duration limits:
Standard storage: i.e., hot data storage, data range: 1-1800 days. If Infrequent Access storage exists, then data range: 7-1800 days; if Archive storage exists, then data range: 30-1800 days.
Infrequent Access storage: Cold data storage, data range: 30-1800 days.
Archive storage: i.e., archived data storage, data range: 60-1800 days.
2.2. Volcengine storage duration limits:
Total storage duration (Standard storage + Infrequent Access storage + Archive storage) cannot exceed 1800 days.


3. Parameter Description in extend

Parameter Name type Required Description
matchMode String Matching mode, optional values: basic, advanced; defaults to basic if omitted
filters Array[dict] Basic matching filter condition list, native direct-write index does not need configuration, recommended to pass empty array in advanced mode
advancedFilter Dict Advanced matching condition tree, takes effect when matchMode=advanced
extendFields Array Index extended field information
extendFields[*].tag String Yes Key field name
extendFields[*].alias String Key field alias
services String Matching service

4. Main Structure Description of extend.filters

Parameter Name type Required Description
condition string Relationship with the previous filter condition, optional values:and, or; default: and
name string Field name to filter
operation string Operator, optional values: in, not_in
value array Value list
value[#] string/int/boolean Can be string/numeric/boolean type

5. Main Structure Description of extend.advancedFilter

Parameter Name type Required Description
type string Yes Root node fixed as group
condition string Yes Relationship between child nodes within the current group, optional values: and, or
filters array Yes Child node list, elements can be rule or group
filters[#].type string Yes Node type, optional values: rule, group
filters[#].name string Required for rule Log field name
filters[#].operation string Required for rule Operator, optional values: =, !=, in, not_in, match, not_match, wildcard, not_wildcard, regexp, not_regexp, >, <, >=, <=, exist, not_exist
filters[#].value array Required for rule Value list, use empty array for exist / not_exist

When matchMode=advanced, the backend generates conditions in DQL where style, e.g., IN, NOT IN, = match('xxx'), = wildcard('xxx'); basic filters still maintain the historical generation format.


Request Example

curl 'https://openapi.guance.com/api/v1/log_index_cfg/add' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: zh' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--data-raw '{"name":"test_index","duration":"14d","isFullLineIndex":0,"extend":{"filters":[{"condition":"and","name":"host","operation":"in","value":["custom_host1"]}]}}' \
--compressed

Response

{
    "code": 200,
    "content": {
        "conditions": "{  `host` in [ 'custom_host1' ] }",
        "createAt": 1698751853,
        "creator": "xxx",
        "deleteAt": -1,
        "duration": "14d",
        "extend": {
            "filters": [
                {
                    "condition": "and",
                    "name": "host",
                    "operation": "in",
                    "value": [
                        "custom_host1"
                    ]
                }
            ]
        },
        "exterStoreName": "",
        "exterStoreProject": "",
        "externalResourceAccessCfgUUID": "",
        "id": null,
        "isBindCustomStore": 0,
        "isFullLineIndex": 0,
        "isPublicNetworkAccess": 0,
        "name": "test_index",
        "queryType": "logging",
        "region": "",
        "setting": {},
        "sortNo": III,
        "status": 0,
        "storeType": "",
        "updateAt": 1698751853,
        "updator": "xxx",
        "uuid": "lgim_xxxx32",
        "workspaceUUID": "wksp_xxxx32"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-600346C3-6C89-4391-9CA3-2152D10149D8"
} 

Feedback

Is this page helpful? ×