创建一个OpenSearch应用版本。
接口说明
- 若已存在同名标准版应用,则创建新版本;
- 在新建版本情况下,autoSwitch 和 realtimeShared 也是必填的;
- 在新建版本情况下,quota 是自动从上一个版本继承的;
- 在新建版本情况下,修改 quota 是无效的。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
opensearch:CreateApp | create |
|
| 无 |
请求语法
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 | 否 | 版本创建后是否自动切为在线版本
| false |
networkType | string | 否 | 可用区标识。可选值:
| 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 | 否 | 二级分列字段名称(当且仅当配置有 | field2 |
ttlField | object | 否 | 文档清理配置 | |
name | string | 否 | 文档时间字段 | text1 |
ttl | long | 否 | 存活时间(毫秒) | 1000 |
indexSortConfig | array<object> | 否 | 倒排索引配置 | |
object | 否 | |||
field | string | 否 | 排序字段 | field1 |
direction | string | 否 | 排序方式 | ASC; DESC; |
name | string | 否 | 宽表表名 | table_name |
schemas | array<object> | 否 | 多表应用结构 | |
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 | long | 否 | 存活时间(毫秒) | 1000 |
indexSortConfig | array<object> | 否 | 倒排索引配置 | |
object | 否 | |||
field | string | 否 | 排序字段 | field1 |
direction | string | 否 | 排序方式
| DESC |
name | string | 否 | 宽表表名 | table_name |
firstRanks | array<object> | 否 | 粗排配置 | |
object | 否 | 粗排配置 | ||
type | 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> | 否 | 数据源配置 | |
object | 否 | 数据源配置 | ||
tableName | string | 否 | 应用表名 | main |
type | string | 否 | 数据源类型
| rds |
fields | array<object> | 否 | 表字段映射信息 | |
object | 否 | 表字段映射信息 | { "id": "id" } | |
plugins | object | 否 | 字段数据处理插件 插件名称(name)
插件参数(parameters):
| { "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> | 否 | 搜索结果摘要配置 | |
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> | 否 | 查询意图理解配置 | |
object | 否 | 查询意图理解配置 | ||
name | string | 否 | 规则名称 | name |
domain | string | 否 | 行业类型
| 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":["spellcheck"],"algo":["pop"],"service":["suggest"]} |
请求体
字段 | 类型 | 是否必要 | 示例值 | 描述 |
---|---|---|---|---|
type | String | 是 | "standard" | 应用类型 - standard 标准版 - enhanced 高级版 |
schema | Object | 是 | 应用版本结构 参考: Schema | |
fetchFields | Array | 是 | ["id", "name"] | 默认展示字段 |
realtimeShared | Boolean | 是 | false | 是否共享实时流 |
autoSwitch | Boolean | 是 | false | 是否自动切上线 |
description | String | 否 | "demo" | 备注 |
quota | Object | 否 | 版本配额信息 参考: Quota | |
dataSources[] | Object | 否 | 数据源详情 参考: DataSource | |
firstRanks[] | Object | 否 | 粗排表达式配置详情 参考: FirstRank | |
secondRanks[] | Object | 否 | 精排表达式配置详情 参考: SecondRank | |
queryProcessors[] | Object | 否 | 查询意图理解规则配置详情 参考: QueryProcessor | |
summaries[] | Object | 否 | 搜索结果摘要设置 参考: Summary |
返回参数
示例
正常返回示例
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-26 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-05-30 | OpenAPI 入参发生变更 | 查看变更详情 |