对象存储 面料和商品检索
- 对象存储只能在一个实体中编辑,可以在其他实体中应用,或搜索。因为对象存储保存在编辑实体的id
引用的方式有两种,
1) 直接应用,
在数据集的查询端指定ERI路径,
<OBJSTORE ERI=".KSDN.DATA" TYPE="2" COL="objid" VALIDTIME="" THUMBNAIL="TRUE"/>
2) 间接用用(在管理对象存储意外的对象中应用对象存储)
在DATA 属性中重新定义,但是不能编辑。 用于百度图片搜索需要。
<OSS TYPEID="1" TABLE="c_wldn" FIELD="objid" MINSIZE="1" MAXSIZE="3072" ACCEPT="image/*" THUMBNAIL="{"height":100,"width":100}" STORE="FILE">
<REF ERI=".KSDN.DATA" TYPE="2" /> 间接引用必须设定, 否则会导致意外的删除对对象
</OSS>
- 定义对象存储
对象存储是通过文件或者对象存储云服务来实现的图片和文件附件的存储。
在实体的DATA属性中定义的对象存储需求如下:
<ATTRIBUT CODE="DATA" NAME="数据定义" ….>
<OSS TYPEID="1" TABLE="t_cgdd" FIELD="objid" MINSIZE="50" MAXSIZE="1024" ACCEPT="image/*" THUMBNAIL="{"height":200,"width":200} STORE="FILE"/>
<OSS TYPEID="2" TABLE="t_cgdd" FIELD="objid1" ACCEPT=""/>
TYPEID 整数,用于识别类型,同一个实体中必须唯一。
TABLE 对象id存储的表名称
FIELD 存储对象id的字段名称,是s_objectstore 表的外键,包含外键关系。
[MINSIZE] 文件限制的最小值,单位k
[MAXSIZE] 文件限制的最大值,单位k
[ACCEPT] 上传的文件类型限制,同html中的file元素的的ACCEPT 属性
[THUMBNAIL] 图片文件的缩略图,在数据集中可以使用缩略图来查询,减少传输数据量。 是JSON定义的格式,包括属性height,width 即生成缩略图的大小。 对于非图片类型文件不需要设定
STORE="FILE" 可选项,如果指定了FILE 标识存储在服务器的目录中,否则需要对象存储服务
</ATTRIBUT>
举例:
<OSS TYPEID="1" TABLE="t_cgdd" FIELD="objid" MINSIZE="1" MAXSIZE="1024" ACCEPT="image/*" THUMBNAIL="{"height":200,"width":200}" STORE="FILE"/>
<OSS TYPEID="2" TABLE="t_cgdd" FIELD="objid1" ACCEPT="" STORE="FILE"/>
<OSS TYPEID="3" TABLE="t_cgddmx" FIELD="objid" MINSIZE="1" MAXSIZE="1024" ACCEPT="image/*" THUMBNAIL="{"height":200,"width":200}" STORE="FILE"/>
<OSS TYPEID="4" TABLE="t_cgddmx" FIELD="objid1" ACCEPT=""/>
<OSS TYPEID="1" TABLE="t_zcrk" FIELD="objid" ACCEPT="video/*" MINSIZE="0" MAXSIZE="3072" STORE="FILE"/>
- 数据集中显示图片
field_key 用于保存key
field_url保存文件目录中访问路径,查询后生成
<RETRIEVE TYPE="BASE">
<SQL>
Select …
t_cgdd.objid as objid,
s_objectstore.objkey as objid_key,
'' as objid_url,
t_cgdd.objid1 as objid1,
s_objectstore1.objkey as objid1_key,
'' as objid1_url
</SQL>
<OBJSTORE TYPE="1" COL="objid" VALIDTIME="" THUMBNAIL="TRUE" ERI='..DATA'/>
<IMAGESEARCH FIELD="objid" PARAM="objid" RATE="rate">
</IMAGESEARCH>
<OBJSTORE TYPE="1" COL="objid" VALIDTIME="" THUMBNAIL="TRUE"/>
ERI: ERI定义对象存储的属性,默认为本实体的 DATA属性,也可以是其他实体的DATA属性。
TYPE DATA中的定义类型,
COL : 存储objid对应的列名称,
必须包含三个字段, objid 标识的id,objid_key 标识对象的键值,objid_url 对象的url该字段由系统自动填充。
数据集列的定义格式中如下设定
显示格式,可以是图形,视频或者文件
<OBJECT TYPE="IMG" CODE="objid" X="240" Y="110" WIDTH="70" HEIGHT="130" SIZERATIO="25,25" READONLY="FALSE" VISIBLE="TRUE" LABEL=""/>
<OBJECT TYPE="VIDEO" CODE="objid" X="240" Y="110" WIDTH="70" HEIGHT="130" SIZERATIO="25,25" READONLY="FALSE" VISIBLE="TRUE" LABEL=""/>
<OBJECT TYPE="BLOB" CODE="objid1" X="390" Y="110" WIDTH="70" HEIGHT="130" SIZERATIO="50,25" READONLY="FALSE" VISIBLE="TRUE" LABEL=""/>
- 百度图片搜索,商品搜索
<IMAGESEARCH FIELD="objid" PARAM="objid" RATE="rate">
</IMAGESEARCH>
关于不了图片搜索见百度布料搜索
Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software