CreateApp - 创建一个应用版本

创建一个OpenSearch应用版本。

接口说明

  • 若已存在同名标准版应用,则创建新版本;
  • 在新建版本情况下,autoSwitch 和 realtimeShared 也是必填的;
  • 在新建版本情况下,quota 是自动从上一个版本继承的;
  • 在新建版本情况下,修改 quota 是无效的。

调试

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

授权信息

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

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
opensearch:CreateAppcreate
  • App
    acs:opensearch:{#regionId}:{#accountId}:app-groups/{#AppGroupId}

请求语法

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

请求参数

名称类型必填描述示例值
appGroupIdentitystring

应用名称

my_app_group_name
dryRunboolean

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

true
bodyobject

请求 Body。

autoSwitchboolean

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

  • true
  • false
false
networkTypestring

可用区标识。可选值:

  • vpc
  • oxs
vpc
descriptionstring

版本描述

"版本描述"
schemaobject

单表应用结构

tablesobject

表结构

{ "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 } } }
indexesobject

索引结构

filterFieldsarray

属性字段集合

string

属性字段

id
searchFieldsobject

索引字段

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

一级分列字段名称

field1
routeFieldValuesarray

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

string

一级分列字段热点值

routeFieldValues
secondRouteFieldstring

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

field2
ttlFieldobject

文档清理配置

namestring

文档时间字段

text1
ttllong

存活时间(毫秒)

1000
indexSortConfigarray<object>

倒排索引配置

object
fieldstring

排序字段

field1
directionstring

排序方式

ASC; DESC;
namestring

宽表表名

table_name
schemasarray<object>

多表应用结构

object

单表应用结构

tablesobject

表结构

{ "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 } } }
indexesobject

索引结构

filterFieldsarray

属性字段集合

string

属性字段

id
searchFieldsobject

索引字段

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

一级分列字段名称

field1
routeFieldValuesarray

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

string

一级分列字段热点值

routeFieldValues
secondRouteFieldstring

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

field2
ttlFieldobject

文档清理配置

namestring

文档时间字段

text1
ttllong

存活时间(毫秒)

1000
indexSortConfigarray<object>

倒排索引配置

object
fieldstring

排序字段

field1
directionstring

排序方式

  • ASC
  • DESC
DESC
namestring

宽表表名

table_name
firstRanksarray<object>

粗排配置

object

粗排配置

typestring

表达式类型

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

粗排名称

test
descriptionstring

描述

描述
activeboolean

是否是默认表达式

False
metaany

表达式信息(Array 或 String)

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

精排配置

object

精排配置

metaany

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

"cate_id > 0 and cate_id < 1000"
namestring

精排名称

default
descriptionstring

描述

描述
activeboolean

是否是默认表达式

False
dataSourcesarray<object>

数据源配置

object

数据源配置

tableNamestring

应用表名

main
typestring

数据源类型

  • rds
  • odps
  • opensearch
  • polardb
rds
fieldsarray<object>

表字段映射信息

object

表字段映射信息

{ "id": "id" }
pluginsobject

字段数据处理插件

插件名称(name)

  • JsonKeyValueExtractor
  • MultiValueSpliter
  • KeyValueExtractor
  • StringCatenateExtractor
  • HTMLTagRemover

插件参数(parameters):

  • JsonKeyValueExtractor
  • MultiValueSpliter
  • KeyValueExtractor
  • StringCatenateExtractor
  • HTMLTagRemover
{ "name": "JsonKeyValueExtractor", "parameters": { "key": "my_field" } }
keyFieldstring

主键

id
schemaNamestring

宽表名称

table_name
parametersobject

数据源信息

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

搜索结果摘要配置

object

搜索结果摘要配置

namestring

分组名

default
metaarray<object>

摘要配置集合

object

摘要配置

fieldstring

字段

field1
leninteger

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

50
elementstring

飘红标签

em
ellipsisstring

片段链接符

...
snippetstring

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

1
fetchFieldsarray

默认展示字段

string

字段

field1
queryProcessorsarray<object>

查询意图理解配置

object

查询意图理解配置

namestring

规则名称

name
domainstring

行业类型

  • GENERAL 通用
  • ECOMMERCE 电商
  • IT_CONTENT IT 内容
ECOMMERCE
categorystring

行业垂类

""
processorsarray<object>

包含功能

object

包含功能

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

应用的索引范围

string

应用索引

default
activeboolean

是否默认规则

True
clusterobject

能力开放配置

maxTimeoutMSinteger

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

750
maxQueryClauseLengthinteger

query 字句最大长度

1024
domainobject

行业模型

namestring

行业类型

ecommerce
categorystring

行业垂类

general
functionsobject

已选择功能

  • 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
requestIdstring

请求 ID

ABCDEFG
resultobject

返回结果

idstring

应用 ID

12888
isCurrentboolean

是否是在线版本。

12333
clusterNamestring

集群名称

vpc_sh_domain_1
autoSwitchboolean

是否自动切换

true
typestring

应用类型

  • standard 标准版
  • enhanced 新高级版
standard
descriptionstring

应用描述

我的应用
statusstring

应用状态

  • OK
  • STOPPED 暂停
  • FROZEN 已冻结
  • INITIALIZING 版本初始化中
  • UNAVAILABLE 版本已失效
  • DATA_WAITING 等待数据初始化
  • DATA_PREPARING 数据初始化中
OK
schemaobject

单表应用结构

tablesobject

表结构。

{ "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 } } }
indexesobject

索引结构

filterFieldsarray

属性字段集合

filterFieldsstring

属性字段

id
searchFieldsobject

索引字段

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

一级分列字段名称

field1
routeFieldValuesarray

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

routeFieldValuesstring

一级分列字段热点值

routeFieldValues
secondRouteFieldstring

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

field2
ttlFieldobject

文档清理配置

namestring

文档时间字段

text1
ttllong

存活时间(毫秒)

1000
indexSortConfigarray<object>

倒排索引配置

indexSortConfigobject

倒排索引配置

fieldstring

排序字段

field1
directionstring

排序方式

  • ASC
  • DESC
DESC
namestring

宽表表名

test
progressPercentinteger

数据导入进度百分比

100
fetchFieldsarray

默认展示字段集合

fetchFieldsstring

默认展示字段

field1
quotaobject

版本配额

specstring

规格

  • opensearch.share.junior 入门型
  • opensearch.share.common 共享通用型
  • opensearch.share.compute 共享计算型
  • opensearch.share.storage 共享存储型
  • opensearch.private.common 独享通用型
  • opensearch.private.compute 独享计算型
  • opensearch.private.storage 独享存储型
opensearch.share.common
qpsinteger

搜索请求

5
docSizeinteger

存储容量

1
computeResourceinteger

计算资源

20
domainobject

行业模型

categorystring

行业垂类

-
namestring

行业类型

  • GENERAL 通用
  • ECOMMERCE 电商
  • IT_CONTENT IT 内容
GENERAL
functionsobject

已选择功能

servicearray

周边服务类

servicestring

周边服务类

suggest
qparray

查询分析类

qpstring

查询分析类

spellcheck
algoarray

排序策略类

algostring

排序策略类

pop
schemasarray<object>

多表应用结构

schemasobject

应用结构

tablesobject

表结构

{ "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 } } }
indexesobject

索引结构

filterFieldsarray

属性字段集合

filterFieldsstring

属性字段

field1
searchFieldsobject

索引字段

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

一级分列字段名称

field1
routeFieldValuesarray

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

routeFieldValuesstring

一级分列字段热点值

routeFieldValues
secondRouteFieldstring

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

field2
ttlFieldobject

文档清理配置

namestring

文档时间字段

fIeld1
ttllong

存活时间(毫秒)

1000
indexSortConfigarray<object>

倒排索引配置

indexSortConfigobject

倒排索引配置

fieldstring

排序字段

fIeld1
directionstring

排序方式

  • ASC
  • DESC
DESC
namestring

宽表表名

main
firstRanksarray<object>

粗排配置

firstRanksobject

粗排配置

typestring

表达式类型

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

STRING
namestring

粗排名称

test
descriptionstring

描述

描述
activeboolean

是否是默认表达式

False
metaany

表达式信息(Array 或 String)

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

精排配置

secondRanksobject

精排配置

metaany

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

"cate_id > 0 and cate_id < 1000"
namestring

精排名称

default
descriptionstring

描述

default
activeboolean

是否是默认表达式

False
dataSourcesarray<object>

数据源配置

dataSourcesobject

数据源配置

tableNamestring

应用表名

main
typestring

数据源类型

  • rds
  • odps
  • opensearch
  • polardb
rds
fieldsarray<object>

表字段映射信息

fieldsobject

表字段映射信息

{ "id": "id" }
pluginsobject

字段数据处理插件

插件名称(name)

  • JsonKeyValueExtractor
  • MultiValueSpliter
  • KeyValueExtractor
  • StringCatenateExtractor
  • HTMLTagRemover

插件参数(parameters):

  • JsonKeyValueExtractor
  • MultiValueSpliter
  • KeyValueExtractor
  • StringCatenateExtractor
  • HTMLTagRemover
{ "name": "JsonKeyValueExtractor", "parameters": { "key": "my_field" } }
keyFieldstring

主键

id
schemaNamestring

宽表名称

table_name
parametersobject

数据源信息

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

搜索结果摘要配置

summariesobject

搜索结果摘要配置

namestring

分组名

fefault
metaarray<object>

摘要配置集合

metaobject

摘要配置

fieldstring

字段

field1
leninteger

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

50
elementstring

飘红标签

em
ellipsisstring

片段链接符

...
snippetstring

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

5
queryProcessorsarray<object>

查询意图理解配置

queryProcessorsobject

查询意图理解配置

namestring

规则名称

test
domainstring

行业类型

  • GENERAL 通用
  • ECOMMERCE 电商
  • IT_CONTENT IT 内容
GENERAL
categorystring

行业垂类

""
processorsarray<object>

包含功能

processorsobject

包含功能

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

应用的索引范围

indexesstring

应用索引

id
activeboolean

是否默认规则

False
clusterobject

能力开放配置

maxTimeoutMSinteger

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

750
maxQueryClauseLengthinteger

query 字句最大长度

1024
interpretationsobject

LLM 表字段描述

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

prompt 配置

promptsobject

prompt 配置

{ "name" : "prompt_name", "isDefault" : false, "description":"描述", "prompt" : { "parameters" : [ { "name" : "docs", "value" : "doc内容的拼接方式,比如现在的 qwen的 '<article>\n${doc}\n</article>\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的 '<article>\n${doc}\n</article>\n"
            }
          ],
          "messages": [
            {
              "role": "role_name,这里是否需要限定只能是 system, user, assistant,还是可以让用户随意填写",
              "content": "用户设置的prompt内容,里面可以使用 ${parameter_key} 来表示期望动态替换的内容,具体替换规则参考下面说明"
            }
          ]
        }
      }
    ]
  }
}

错误码

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

变更历史

变更时间变更内容概要操作
2024-08-26OpenAPI 返回结构发生变更查看变更详情
2023-05-30OpenAPI 入参发生变更查看变更详情