Skip to main content

Schema 介绍

Schema 的类型

Schema 的类型分为实体(entity)和事件(event)。实体在模型中代表一个实体,例如一个个人或一家门店;事件则代表一个个发生的动作,必须带有时间戳,例如订单。

Schema 的参数

字段解释例子是否必须
_id数仓中的表名"product"必须
name名称"产品"必须
syno同义词,用数组表示,大小写无关["SKU"]可选
type取值为 entity 或 event"entity"必须
description描述"产品信息"可选
properties属性数组,见属性章节-必须
editable前端能否修改数据true/false可选
is_internal是否为内部数据,内部数据不参与前端展示true/false可选
hierarchy层级配置,详见 schema/hierarchy.md-可选
use_db_date_as_mtd是否使用数据库数据的最后一天作为 MTD/QTD/YTD 的 todaytrue/false可选
tag标签["产品"]可选
fallback问答失败后的模糊查询策略见下文 Fallback可选
drilldown手动配置智能归因维度见下文 Drilldown可选
modality模态,控制前端展示形态见此页面可选
alisa_rank当问答维度与指标相同情况下优先选用该 schema-可选
etlschema 级 ETL 配置方式见此页面可选
skip_learn跳过该表的学习流程true/false可选
order控制 Schema 在前端中的排序,越小越靠前1可选
main_predPredItem 字典,表示事件表的默认指标{"pred": "销售额", ...}可选
cache表级别缓存清理定时器,字典类型包含 cron 字段{"cron": "0 * * * *"}可选

较少使用的参数

字段解释例子是否必须
is_stage_for_event仅实体表可设,代表该实体表中的数据是事件表中的一个节点"progress"

注意事项

事件(event)类型的 Schema 必须且仅能拥有一个类型为 timestamp 的属性。

Fallback

当问答系统无法理解用户意图时,可以为某个 Schema 配置 fallback,从指定属性中做模糊匹配:

const schema = {
// ...
fallback: {
property: 'property 名称',
},
};

配置完成后,如果智能问答理解失败,系统会从该 schema 的 property 中模糊匹配。匹配成功以列表形式返回,失败则报出“无法理解问题”。

Drilldown

下钻维度配置分为菜单上的下钻维度和智能归因内的分析维度。

1. 菜单下钻维度

{
// ...
drilldown: [
{ _id: '产品_品类' },
{ _id: '店铺_地址', level: '省市' },
{ _id: '活动' },
{ _id: '渠道' },
],
}

2. 智能归因分析维度

{
// ...
analyzer: {
drilldown: [
{ _id: '产品_品类' },
{ _id: '店铺_地址', level: '省市' },
{ _id: '活动' },
{ _id: '渠道' },
],
},
}

Excel 自动生成表结构

可以从 Excel 模板生成 schema:

从 excel 导入表结构示例