使用前,需要您对地点云的存储结构、基础定义有所了解,以便您能更快上手。
基础 - 地点云存储结构
地点云就像一套关系型数据库系统,以表(table)为基本存储单元,开发者可创建多张表,以满足不同类型的数据存储、搜索需要。
表结构(structure)由 表名、表ID(table_id,用于调用API使用)以及表字段组成
字段分为:系统字段 和 自定义字段(x field)两类
a) 系统字段为地点云预设,不可更改,包含位置数据必须的名称、坐标信息,及功能性字段,如create_time
b) 自定义字段(x field):用户可根据自己业务需要,创建自字义字段,用于存储自定义数据、以及用于个性化搜索条件。自定义字段需要先设置后使用,通过地点云数据管理台进行设置
地点数据(data)以JSON结构体现,每条数据为一个对象,对象中的一级属性为系统字段数据,一级对象x下的子对象为自定义字段数据。
数据示例:
数据(字段)定义
如前文所述,每用户可创建多张地点云数据表,而每张表的具体字段结构定义如下。
表中“对应云搜索功能”列出了每个字段可支持的云搜索功能,方便对应,具体见云搜索API文档。
字段 | 类型 | 长度 | 必填 | 说明 | 对应云搜索功能 | |
---|---|---|---|---|---|---|
id | number | 32 | 只读 | 主键/标识,数据创建时自动生成,全库不重复 | 默认可filter,例: filter=id=5d36b87a6ce89813ed439db5 |
|
ud_id | string | 64 | -- | 即自定义ID(user defined id) ,若您已有库表数据ID或编号,可填入此字段,以便关联管理。 唯一性约束: 1.可在建表时设置是否启用ud_id的唯一性约束(表创建后不可更改) 2.启用唯一性约束后,ud_id值将不可重复,同时将支持通过ud_id进行数据的更新、删除,否则仅可用于搜索筛选 |
默认可filter,但仅支持等于,例: filter=ud_id=100225 |
|
title | string | 128 | 必填 | 地点名称 | 默认可keyword文本搜索,例: keyword=中关村 |
|
address | string | 256 | -- | 地址 | 默认可keyword文本搜索,例: keyword=北四环 |
|
location | object | 必填 | 坐标 | 用于周边搜索、矩形范围搜索, 例: /search/nearby?location=39,116&radius=5000 |
||
lat | number | 必填 | 纬度 | |||
lng | number | 必填 | 经度 | |||
polygon | string | -- | 多边形轮廓坐标串,格式: lat,lng;lat,lng;…… 限制外接矩形面积小于30万平方公里 (约比广西省稍大) |
可用于围栏搜索匹配(通过坐标查找所在区域),例: /search/contain?location=39,116 |
||
tel | string | 64 | -- | 联系电话,多个电话用半角英文分号;分隔 | 支持全字符筛选,如: filter=tel="63258661" |
|
create_time | number | 只读 | 创建时间 | 默认可筛选排序,如: filter=create_time>1563870479 |
||
update_time | number | 只读 | 修改时间 | filter=create_time<1563870479 | ||
province | string | 只读 | 省,系统自动生成 | 区域搜索 /search/region?region=北京市海淀区 |
||
city | string | 只读 | 市,系统自动生成 | |||
district | string | 只读 | 区,系统自动生成 | |||
adcode | number | 只读 | 行政区划代码 | |||
_distance | number | 只读 | 距离,单位:米,使用distance函数时会返回该字段 | |||
x | object | -- | 自定义字段: 1.须先定义后使用,在地点云数据管理台进行设置,也请参阅自定义字段说明 2.数据为json结构,仅支持一级,不可嵌套子对象 3.最多支持30个自定义字段,其中: a.数值(number)型字段,可设支持筛选排序的支持10个 b.字符串(string)型字段,可设支持文本搜索的支持5个 |
文本型关键词搜索示例: keyword=中关村 数值型筛选示例: filter=x.price<100 |
地点云数据的完整JSON示例:
表结构
数据表结构通过JSON方式描述,包括表名称、表注释以及自定义字段结构,其中系统字段如id,title,location等为系统预置,不会在表结构中出现 。
(通过数据管理台可管理表结构, 同时为地点云存储API也提供了表(结构)查询接口供您使用。)
自定义字段说明
表结构JSON中的x对象下即为自定义字段的设置,x下每个子对象即为一个自定义字段,其参数属性如下:
限制说明:每张表最多可创建30个自字义字段,其中可设置5个文本字段允许关键词搜索,10个数值字段允许筛选排序(is_index)。
字段属性 | 类型 | 说明 | ||
---|---|---|---|---|
x | object | 自定义字段定义,数据型,每个子对象是一个自定义字段 | ||
x_field_name | object | 对象名即字段名,如 price,格式要求:
a) 必须为英文、数字或下划线(第1个字段不能为数字) b) 最多64个字符(中文32个) c) 仅支持英文小写 d) 同一张表中的自定义字段不可重名 |
||
type | string | 字段类型,可选值: number:数值(double)型 string:字符串型,最大可存储4096个字节数据 注:字段创建后类型不可修改 |
||
default | string / number | 字段默认值,缺省时:string型为:””,number型为:0 注:若修改默认值,之前已有数据的默认值不会被更新 |
||
is_index | number | 数值(number)型字段,该字段是否允许 filter 筛选与排序,取值: 1:允许 0:[默认]不允许 字符(string)型字段,该字段是否允许 keyword(关键词) 搜索,取值: 1:允许 0:[默认]不允许 注:字段创建后本参数不可修改 |
||
comment | string | 字段注释,便于记忆与识别,最多256个字符(128个中文字符) | ||
create_time | number | 字段创建时间,创建后系统自动生成 | ||
update_time | number | 字段修改时间(指结构,不是数据) |