CreateApp - 创建一个应用版本

创建一个OpenSearch应用版本。

接口说明

  • 若已存在同名标准版应用,则创建新版本;

  • 在新建版本情况下,autoSwitch 和 realtimeShared 也是必填的;

  • 在新建版本情况下,quota 是自动从上一个版本继承的;

  • 在新建版本情况下,修改 quota 是无效的。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

opensearch:CreateApp

create

*App

acs:opensearch:{#regionId}:{#accountId}:app-groups/{#AppGroupId}

请求语法

POST /v4/openapi/app-groups/{appGroupIdentity}/apps HTTP/1.1

路径参数

名称

类型

必填

描述

示例值

appGroupIdentity

string

应用名称

my_app_group_name

请求参数

名称

类型

必填

描述

示例值

dryRun

boolean

是否 dryRun 创建(仅校验数据源是否合法)。取值:-true 是 -false 否

true

body

object

请求 Body。

autoSwitch

boolean

版本创建后是否自动切为在线版本

  • true

  • false

false

networkType

string

可用区标识。可选值:

  • vpc

  • oxs

vpc

description

string

版本描述

"版本描述"

schema

object

单表应用结构

tables

object

表结构

{ "primaryTable": true, "name": "main", "fields": { "id": { "name": "id", "type": "LITERAL", "primaryKey": true }, "title": { "name": "title", "type": "TEXT", "primaryKey": false }, "buy": { "name": "buy", "type": "INT", "primaryKey": false }, "cate_id": { "name": "cate_id", "type": "INT", "primaryKey": false }, "cate_name": { "name": "cate_name", "type": "LITERAL", "primaryKey": false } } }

indexes

object

索引结构

filterFields

array

属性字段集合

string

属性字段

id

searchFields

object

索引字段

{ "fields": ["title"], "analyzer": "chn_standard" }

routeField

string

一级分列字段名称

field1

routeFieldValues

array

一级分列字段热点值清单(配置后启用“二级分列”)

string

一级分列字段热点值

routeFieldValues

secondRouteField

string

二级分列字段名称(当且仅当配置有routeFieldValues时生效,默认使用宽表主键)

field2

ttlField

object

文档清理配置

name

string

文档时间字段

text1

ttl

integer

存活时间(毫秒)

1000

indexSortConfig

array<object>

倒排索引配置

object

field

string

排序字段

field1

direction

string

排序方式

ASC; DESC;

name

string

宽表表名

table_name

schemas

array<object>

多表应用结构

array<object>

单表应用结构

tables

object

表结构

{ "primaryTable": true, "name": "main", "fields": { "id": { "name": "id", "type": "LITERAL", "primaryKey": true }, "title": { "name": "title", "type": "TEXT", "primaryKey": false }, "buy": { "name": "buy", "type": "INT", "primaryKey": false }, "cate_id": { "name": "cate_id", "type": "INT", "primaryKey": false }, "cate_name": { "name": "cate_name", "type": "LITERAL", "primaryKey": false } } }

indexes

object

索引结构

filterFields

array

属性字段集合

string

属性字段

id

searchFields

object

索引字段

{ "fields": ["title"], "analyzer": "chn_standard" }

routeField

string

一级分列字段名称

field1

routeFieldValues

array

一级分列字段热点值清单(配置后启用“二级分列”)

string

一级分列字段热点值

routeFieldValues

secondRouteField

string

二级分列字段名称(当且仅当配置有 routeFieldValues 时生效,默认使用宽表主键)

field2

ttlField

object

文档清理配置

name

string

文档时间字段

text1

ttl

integer

存活时间(毫秒)

1000

indexSortConfig

array<object>

倒排索引配置

object

field

string

排序字段

field1

direction

string

排序方式

  • ASC

  • DESC

DESC

name

string

宽表表名

table_name

firstRanks

array<object>

粗排配置

object

粗排配置

type

string

表达式类型

  • STRUCT 结构化,

  • 默认值- STRING 自定义公式

STRING

name

string

粗排名称

test

description

string

描述

描述

active

boolean

是否是默认表达式

False

meta

any

表达式信息(Array 或 String)

String :"random()*100+now()"; Array: [ { "attribute": "static_bm25()", "arg": "", "weight": 10 } ]

secondRanks

array<object>

精排配置

object

精排配置

meta

any

精排表达式(可以编写包含字段、算分特征和数学函数的表达式,实现复杂的排序逻辑)

"cate_id > 0 and cate_id < 1000"

name

string

精排名称

default

description

string

描述

描述

active

boolean

是否是默认表达式

False

dataSources

array<object>

数据源配置

array<object>

数据源配置

tableName

string

应用表名

main

type

string

数据源类型

  • rds

  • odps

  • opensearch

  • polardb

rds

fields

array<object>

表字段映射信息

object

表字段映射信息

{ "id": "id" }

plugins

object

字段数据处理插件

插件名称(name)

  • JsonKeyValueExtractor

  • MultiValueSpliter

  • KeyValueExtractor

  • StringCatenateExtractor

  • HTMLTagRemover

插件参数(parameters):

  • JsonKeyValueExtractor

  • MultiValueSpliter

  • KeyValueExtractor

  • StringCatenateExtractor

  • HTMLTagRemover

{ "name": "JsonKeyValueExtractor", "parameters": { "key": "my_field" } }

keyField

string

主键

id

schemaName

string

宽表名称

table_name

parameters

object

数据源信息

{ "instanceId": "rds-instance-id", "dbName": "my_db", "dbTableName": "my_table", "dbUser": "my", "dbPassword": "my_passwd", "filter":"", "autoSync": true }

summaries

array<object>

搜索结果摘要配置

array<object>

搜索结果摘要配置

name

string

分组名

default

meta

array<object>

摘要配置集合

object

摘要配置

field

string

字段

field1

len

integer

片段长度。取值区间:[1-300]

50

element

string

飘红标签

em

ellipsis

string

片段链接符

...

snippet

string

片段数量。取值区间:[1-5]

1

fetchFields

array

默认展示字段

string

字段

field1

queryProcessors

array<object>

查询意图理解配置

array<object>

查询意图理解配置

name

string

规则名称

name

domain

string

行业类型

  • GENERAL 通用

  • ECOMMERCE 电商

  • IT_CONTENT IT 内容

ECOMMERCE

category

string

行业垂类

""

processors

array<object>

包含功能

object

包含功能

{ "name": "stop_word", "useSystemDictionary": true, "interventionDictionary": "my_dict", "ignoreSpace": true }

indexes

array

应用的索引范围

string

应用索引

default

active

boolean

是否默认规则

True

cluster

object

能力开放配置

maxTimeoutMS

integer

集群的超时时间,单位是 ms

750

maxQueryClauseLength

integer

query 字句最大长度

1024

domain

object

行业模型

name

string

行业类型

ecommerce

category

string

行业垂类

general

functions

object

已选择功能

  • qp 查询分析类

  • algo 排序策略类

  • service 周边服务类

{"qp":["spellcheck"],"algo":["pop"],"service":["suggest"]}

请求体

字段类型是否必要示例值描述
typeString"standard"应用类型
- standard 标准版
- enhanced 高级版
schemaObject应用版本结构
参考: Schema
fetchFieldsArray["id", "name"]默认展示字段
realtimeSharedBooleanfalse是否共享实时流
autoSwitchBooleanfalse是否自动切上线
descriptionString"demo"备注
quotaObject版本配额信息
参考: Quota
dataSources[]Object数据源详情
参考: DataSource
firstRanks[]Object粗排表达式配置详情
参考: FirstRank
secondRanks[]Object精排表达式配置详情
参考: SecondRank
queryProcessors[]Object查询意图理解规则配置详情
参考: QueryProcessor
summaries[]Object搜索结果摘要设置
参考: Summary

返回参数

名称

类型

描述

示例值

object

requestId

string

请求 ID

ABCDEFG

result

object

返回结果

{}

id

string

应用 ID

12888

isCurrent

boolean

是否是在线版本。

12333

clusterName

string

集群名称

vpc_sh_domain_1

autoSwitch

boolean

是否自动切换

true

type

string

应用类型

  • standard 标准版

  • enhanced 新高级版

standard

description

string

应用描述

我的应用

status

string

应用状态

  • OK

  • STOPPED 暂停

  • FROZEN 已冻结

  • INITIALIZING 版本初始化中

  • UNAVAILABLE 版本已失效

  • DATA_WAITING 等待数据初始化

  • DATA_PREPARING 数据初始化中

OK

schema

object

单表应用结构

tables

object

表结构。

{ "primaryTable": true, "name": "main", "fields": { "id": { "name": "id", "type": "LITERAL", "primaryKey": true }, "title": { "name": "title", "type": "TEXT", "primaryKey": false }, "buy": { "name": "buy", "type": "INT", "primaryKey": false }, "cate_id": { "name": "cate_id", "type": "INT", "primaryKey": false }, "cate_name": { "name": "cate_name", "type": "LITERAL", "primaryKey": false } } }

indexes

object

索引结构

filterFields

array

属性字段集合

string

属性字段

id

searchFields

object

索引字段

{ "fields": ["title"], "analyzer": "chn_standard" }

routeField

string

一级分列字段名称

field1

routeFieldValues

array

二级分列字段名称(当且仅当配置有 routeFieldValues 时生效,默认使用宽表主键)

string

一级分列字段热点值

routeFieldValues

secondRouteField

string

二级分列字段名称(当且仅当配置有 routeFieldValues 时生效,默认使用宽表主键)

field2

ttlField

object

文档清理配置

name

string

文档时间字段

text1

ttl

integer

存活时间(毫秒)

1000

indexSortConfig

array<object>

倒排索引配置

object

倒排索引配置

field

string

排序字段

field1

direction

string

排序方式

  • ASC

  • DESC

DESC

name

string

宽表表名

test

progressPercent

integer

数据导入进度百分比

100

fetchFields

array

默认展示字段集合

string

默认展示字段

field1

quota

object

版本配额

spec

string

规格

  • opensearch.share.junior 入门型

  • opensearch.share.common 共享通用型

  • opensearch.share.compute 共享计算型

  • opensearch.share.storage 共享存储型

  • opensearch.private.common 独享通用型

  • opensearch.private.compute 独享计算型

  • opensearch.private.storage 独享存储型

opensearch.share.common

qps

integer

搜索请求

5

docSize

integer

存储容量

1

computeResource

integer

计算资源

20

domain

object

行业模型

category

string

行业垂类

-

name

string

行业类型

  • GENERAL 通用

  • ECOMMERCE 电商

  • IT_CONTENT IT 内容

GENERAL

functions

object

已选择功能

service

array

周边服务类

string

周边服务类

suggest

qp

array

查询分析类

string

查询分析类

spellcheck

algo

array

排序策略类

string

排序策略类

pop

schemas

array<object>

多表应用结构

array<object>

应用结构

tables

object

表结构

{ "primaryTable": true, "name": "main", "fields": { "id": { "name": "id", "type": "LITERAL", "primaryKey": true }, "title": { "name": "title", "type": "TEXT", "primaryKey": false }, "buy": { "name": "buy", "type": "INT", "primaryKey": false }, "cate_id": { "name": "cate_id", "type": "INT", "primaryKey": false }, "cate_name": { "name": "cate_name", "type": "LITERAL", "primaryKey": false } } }

indexes

object

索引结构

filterFields

array

属性字段集合

string

属性字段

field1

searchFields

object

索引字段

{ "fields": ["title"], "analyzer": "chn_standard" }

routeField

string

一级分列字段名称

field1

routeFieldValues

array

一级分列字段热点值清单(配置后启用“二级分列”)

string

一级分列字段热点值

routeFieldValues

secondRouteField

string

二级分列字段名称(当且仅当配置有 routeFieldValues 时生效,默认使用宽表主键)

field2

ttlField

object

文档清理配置

name

string

文档时间字段

fIeld1

ttl

integer

存活时间(毫秒)

1000

indexSortConfig

array<object>

倒排索引配置

object

倒排索引配置

field

string

排序字段

fIeld1

direction

string

排序方式

  • ASC

  • DESC

DESC

name

string

宽表表名

main

firstRanks

array<object>

粗排配置

object

粗排配置

type

string

表达式类型

STRUCT 结构化, 默认值- STRING 自定义公式

STRING

name

string

粗排名称

test

description

string

描述

描述

active

boolean

是否是默认表达式

False

meta

any

表达式信息(Array 或 String)

String :"random()*100+now()"; Array: [ { "attribute": "static_bm25()", "arg": "", "weight": 10 } ]

secondRanks

array<object>

精排配置

object

精排配置

meta

any

精排表达式(可以编写包含字段、算分特征和数学函数的表达式,实现复杂的排序逻辑)

"cate_id > 0 and cate_id < 1000"

name

string

精排名称

default

description

string

描述

default

active

boolean

是否是默认表达式

False

dataSources

array<object>

数据源配置

array<object>

数据源配置

tableName

string

应用表名

main

type

string

数据源类型

  • rds

  • odps

  • opensearch

  • polardb

rds

fields

array<object>

表字段映射信息

object

表字段映射信息

{ "id": "id" }

plugins

object

字段数据处理插件

插件名称(name)

  • JsonKeyValueExtractor

  • MultiValueSpliter

  • KeyValueExtractor

  • StringCatenateExtractor

  • HTMLTagRemover

插件参数(parameters):

  • JsonKeyValueExtractor

  • MultiValueSpliter

  • KeyValueExtractor

  • StringCatenateExtractor

  • HTMLTagRemover

{ "name": "JsonKeyValueExtractor", "parameters": { "key": "my_field" } }

keyField

string

主键

id

schemaName

string

宽表名称

table_name

parameters

object

数据源信息

{ "instanceId": "rds-instance-id", "dbName": "my_db", "dbTableName": "my_table", "dbUser": "my", "dbPassword": "my_passwd", "filter":"", "autoSync": true }

summaries

array<object>

搜索结果摘要配置

array<object>

搜索结果摘要配置

name

string

分组名

fefault

meta

array<object>

摘要配置集合

object

摘要配置

field

string

字段

field1

len

integer

片段长度。取值区间:[1-300]

50

element

string

飘红标签

em

ellipsis

string

片段链接符

...

snippet

string

片段数量。取值区间:[1-5]

5

queryProcessors

array<object>

查询意图理解配置

array<object>

查询意图理解配置

name

string

规则名称

test

domain

string

行业类型

  • GENERAL 通用

  • ECOMMERCE 电商

  • IT_CONTENT IT 内容

GENERAL

category

string

行业垂类

""

processors

array<object>

包含功能

object

包含功能

{ "name": "stop_word", "useSystemDictionary": true, "interventionDictionary": "my_dict", "ignoreSpace": true }

indexes

array

应用的索引范围

string

应用索引

id

active

boolean

是否默认规则

False

cluster

object

能力开放配置

maxTimeoutMS

integer

集群的超时时间,单位是 ms

750

maxQueryClauseLength

integer

query 字句最大长度

1024

interpretations

object

LLM 表字段描述

{ "name": "longyu_llm_1", "schemas": [], "interpretations": [ { "table": "table1", "fields": [ { "name": "field1", "interpretation": "标题" }, { "name": "field2", "interpretation": "编号" } ] } ] }

prompts

array<object>

prompt 配置

object

prompt 配置

{ "name" : "prompt_name", "isDefault" : false, "description":"描述", "prompt" : { "parameters" : [ { "name" : "docs", "value" : "doc内容的拼接方式,比如现在的 qwen的 '

\n${doc}\n
\n" } ], "messages":[ { "role" : "role_name,这里是否需要限定只能是 system, user, assistant,还是可以让用户随意填写", "content" : "用户设置的prompt内容,里面可以使用 ${parameter_key} 来表示期望动态替换的内容,具体替换规则参考下面说明" } ] } }

示例

正常返回示例

JSON格式

{
  "requestId": "ABCDEFG",
  "result": {
    "id": "12888",
    "isCurrent": true,
    "clusterName": "vpc_sh_domain_1",
    "autoSwitch": true,
    "type": "standard",
    "description": "我的应用",
    "status": "OK",
    "schema": {
      "tables": {
        "primaryTable": true,
        "name": "main",
        "fields": {
          "id": {
            "name": "id",
            "type": "LITERAL",
            "primaryKey": true
          },
          "title": {
            "name": "title",
            "type": "TEXT",
            "primaryKey": false
          },
          "buy": {
            "name": "buy",
            "type": "INT",
            "primaryKey": false
          },
          "cate_id": {
            "name": "cate_id",
            "type": "INT",
            "primaryKey": false
          },
          "cate_name": {
            "name": "cate_name",
            "type": "LITERAL",
            "primaryKey": false
          }
        }
      },
      "indexes": {
        "filterFields": [
          "id"
        ],
        "searchFields": {
          "fields": [
            "title"
          ],
          "analyzer": "chn_standard"
        }
      },
      "routeField": "field1",
      "routeFieldValues": [
        "routeFieldValues"
      ],
      "secondRouteField": "field2\n",
      "ttlField": {
        "name": "text1\n",
        "ttl": 1000
      },
      "indexSortConfig": [
        {
          "field": "field1",
          "direction": "DESC"
        }
      ],
      "name": "test"
    },
    "progressPercent": 100,
    "fetchFields": [
      "field1"
    ],
    "quota": {
      "spec": "opensearch.share.common",
      "qps": 5,
      "docSize": 1,
      "computeResource": 20
    },
    "domain": {
      "category": "-",
      "name": "GENERAL",
      "functions": {
        "service": [
          "suggest\n\n"
        ],
        "qp": [
          "spellcheck"
        ],
        "algo": [
          "pop"
        ]
      }
    },
    "schemas": [
      {
        "tables": {
          "primaryTable": true,
          "name": "main",
          "fields": {
            "id": {
              "name": "id",
              "type": "LITERAL",
              "primaryKey": true
            },
            "title": {
              "name": "title",
              "type": "TEXT",
              "primaryKey": false
            },
            "buy": {
              "name": "buy",
              "type": "INT",
              "primaryKey": false
            },
            "cate_id": {
              "name": "cate_id",
              "type": "INT",
              "primaryKey": false
            },
            "cate_name": {
              "name": "cate_name",
              "type": "LITERAL",
              "primaryKey": false
            }
          }
        },
        "indexes": {
          "filterFields": [
            "field1"
          ],
          "searchFields": {
            "fields": [
              "title"
            ],
            "analyzer": "chn_standard"
          }
        },
        "routeField": "field1\n",
        "routeFieldValues": [
          "routeFieldValues"
        ],
        "secondRouteField": "field2",
        "ttlField": {
          "name": "fIeld1",
          "ttl": 1000
        },
        "indexSortConfig": [
          {
            "field": "fIeld1",
            "direction": "DESC"
          }
        ],
        "name": "main"
      }
    ],
    "firstRanks": [
      {
        "type": "STRING",
        "name": "test",
        "description": "描述",
        "active": true,
        "meta": "String :\"random()*100+now()\";\nArray: [\n    {\n      \"attribute\": \"static_bm25()\",\n      \"arg\": \"\",\n      \"weight\": 10\n    }\n  ]"
      }
    ],
    "secondRanks": [
      {
        "meta": "\"cate_id > 0 and cate_id < 1000\"\n",
        "name": "default\n",
        "description": "default\n",
        "active": true
      }
    ],
    "dataSources": [
      {
        "tableName": "main",
        "type": "rds",
        "fields": [
          {
            "id": "id"
          }
        ],
        "plugins": {
          "name": "JsonKeyValueExtractor",
          "parameters": {
            "key": "my_field"
          }
        },
        "keyField": "id",
        "schemaName": "table_name",
        "parameters": {
          "instanceId": "rds-instance-id",
          "dbName": "my_db",
          "dbTableName": "my_table",
          "dbUser": "my",
          "dbPassword": "my_passwd",
          "filter": "",
          "autoSync": true
        }
      }
    ],
    "summaries": [
      {
        "name": "fefault",
        "meta": [
          {
            "field": "field1",
            "len": 50,
            "element": "em",
            "ellipsis": "...",
            "snippet": "5"
          }
        ]
      }
    ],
    "queryProcessors": [
      {
        "name": "test",
        "domain": "GENERAL",
        "category": "\"\"",
        "processors": [
          {
            "name": "stop_word",
            "useSystemDictionary": true,
            "interventionDictionary": "my_dict",
            "ignoreSpace": true
          }
        ],
        "indexes": [
          "id"
        ],
        "active": true
      }
    ],
    "cluster": {
      "maxTimeoutMS": 750,
      "maxQueryClauseLength": 1024
    },
    "interpretations": {
      "name": "longyu_llm_1",
      "schemas": [],
      "interpretations": [
        {
          "table": "table1",
          "fields": [
            {
              "name": "field1",
              "interpretation": "标题"
            },
            {
              "name": "field2",
              "interpretation": "编号"
            }
          ]
        }
      ]
    },
    "prompts": [
      {
        "name": "prompt_name",
        "isDefault": false,
        "description": "描述",
        "prompt": {
          "parameters": [
            {
              "name": "docs",
              "value": "doc内容的拼接方式,比如现在的 qwen的 '\n${doc}\n\n"
            }
          ],
          "messages": [
            {
              "role": "role_name,这里是否需要限定只能是 system, user, assistant,还是可以让用户随意填写",
              "content": "用户设置的prompt内容,里面可以使用 ${parameter_key} 来表示期望动态替换的内容,具体替换规则参考下面说明"
            }
          ]
        }
      }
    ]
  }
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情