云原生高性能内容平台,基于Hertz + Go template + Bleve全文检索实现,100M内存即可完美运行
默认端口660
开发时需要先解压gpressdatadir/dict.zip
功能说明:
使用 Hertz + Go template + Bleve全文检索,不使用数据库
不使用struct对象,全部使用map保存数据,可以随时增加属性字段.记录所有字段的名称,类型,中文名,code
模型的字段属性也是map,应用的文章回把模型的map属性全部取出,和自己的map覆盖合并.
所有的数据结构都使用Map实现,不再使用struct.因使用Bleve做NoSQL数据库,所以map可以任意添加字段.
所有不需要分词的字符串,Mapping.Analyzer = keyword.Name 指定为keyword分词器.这样就可以类似数据库 name=value 作为精确的查询条件了.
值使用逗号(,)隔开,使用 commaAnalyzerName 分词器,实现类似sql in 的效果.
在IndexInfo表里设置indexType='module',记录所有的Module.只是记录,并不创建index,全部保存到context里,用于全局检索
ID默认使用时间戳(23位)+随机数(9位),全局唯一
codeName | 类型 | 中文名称 | 是否分词 | 备注 |
---|---|---|---|---|
id | string | 主键 | 否 | - |
code | string | 索引Code | 否 | - |
name | string | 索引名称 | 否 | - |
indexType | string | 索引类型 | 否 | index:索引. module:模型 |
createTime | time.Time | 创建时间 | - | 2006-01-02 15:04:05 |
ipdateTime | time.Time | 更新时间 | - | 2006-01-02 15:04:05 |
createUser | string | 创建人 | - | 初始化 system |
sortNo | int | 排序 | - | 正序 |
active | int | 是否有效 | - | 无效(0),正常显示(1),界面不显示(3) |
记录所有索引字段code和中文说明.
理论上所有的索引字段都可以放到这个表里,因为都是Map,就不需要再单独指定索引的字段了,可以动态创建Index(目前建议这样做)
codeName | 类型 | 中文名称 | 是否分词 | 备注 |
---|---|---|---|---|
ID | string | 主键 | 否 | - |
IndexCode | string | 索引代码 | 否 | 类似表名 user,site,pageTemplate,navMenu,module,content |
IndexName | string | 索引名称 | 否 | 类似表名中文说明 |
BusinessID | string | 业务ID | 否 | 处理业务记录临时增加的字段,意外情况 |
FieldCode | string | 字段代码 | 否 | - |
FieldName | string | 字段中文名称 | 否 | - |
FieldType | int | 字段类型 | - | 数字(1),日期(2),文本框(3),文本域(4),富文本(5),下拉框(6),单选(7),多选(8),上传图片(9),上传附件(10),轮播图(11),音频(12),视频(13) |
FieldFormat | string | 数据格式,用于日期或者数字 | 否 | - |
DefaultValue | string | 默认值 | 否 | - |
AnalyzerName | string | 分词器名称 | - | 为 '' 不设置 |
CreateTime | time.Time | 创建时间 | - | 2006-01-02 15:04:05 |
UpdateTime | time.Time | 更新时间 | - | 2006-01-02 15:04:05 |
CreateUser | string | 创建人 | - | 初始化 system |
SortNo | int | 排序 | - | 正序 |
Active | int | 是否有效 | - | 无效(0),正常显示(1),界面不显示(3) |
后台只有一个用户,账号admin 密码默认admin 可以自己修改.
codeName | 类型 | 中文名称 | 是否分词 | 备注 |
---|---|---|---|---|
id | string | 主键 | 否 | - |
account | string | 登录名称 | 否 | 默认admin |
passWord | string | 密码 | 否 | - |
userName | string | 中文名称 | 否 | - |
站点的信息,例如 title,logo,keywords,description等
codeName | 类型 | 中文名称 | 是否分词 | 备注 |
---|---|---|---|---|
id | string | 主键 | 否 | - |
title | string | 站点名称 | 否 | - |
keyword | string | 关键字 | 否 | - |
description | string | 站点描述 | 否 | - |
theme | string | 默认主题 | 否 | 默认使用default |
themePC | string | PC主题 | 否 | 先从cookie获取,如果没有从Header头取值,写入cookie,默认使用default |
themeWAP | string | 手机主题 | 否 | 先从cookie获取,如果没有从Header头取值,写入cookie,默认使用default |
themeWEIXIN | string | 微信主题 | 否 | 先从cookie获取,如果没有从Header头取值,写入cookie,默认使用default |
logo | string | logo | 否 | - |
favicon | string | Favicon | 否 | - |
后台只有一个用户,账号admin 密码默认admin 可以自己修改.
codeName | 类型 | 中文名称 | 是否分词 | 备注 |
---|---|---|---|---|
id | string | 主键 | 否 | - |
templateName | string | 模板名称 | 否 | - |
templatePath | string | 模板路径 | 否 | - |
sortNo | int | 排序 | - | 正序 |
active | int | 是否有效 | - | 无效(0),正常显示(1),界面不显示(3) |
codeName | 类型 | 中文名称 | 是否分词 | 备注 |
---|---|---|---|---|
id | string | 主键 | 否 | - |
menuName | string | 菜单名称 | 否 | - |
menuName | string | 菜单名称 | 否 | - |
hrefURL | string | 跳转路径 | 否 | - |
hrefTarget | string | 跳转方式 | 否 | _self,_blank,_parent,_top |
pid | string | 父菜单ID | 否 | 父菜单ID |
moduleID | string | module索引ID | 否 | 导航菜单下的文章默认使用的模型字段 |
comCode | string | 逗号隔开的全路径 | 否 | 逗号隔开的全路径 |
templateID | string | 模板Id | 否 | 当前导航页的模板 |
childTemplateID | string | 子页面模板Id | 否 | 子页面默认使用的模板,子页面如果不设置,默认使用这个模板 |
sortNo | int | 排序 | - | 正序 |
active | int | 是否有效 | - | 无效(0),正常显示(1),界面不显示(3) |
在indexInfo表里设置indexType='module',记录所有的Module.只是记录,并不创建index,全部保存到context里,用于全局检索
codeName | 类型 | 中文名称 | 是否分词 | 备注 |
---|---|---|---|---|
id | string | 主键 | 否 | - |
title | string | 文章标题 | 是 | - |
keyword | string | 关键字 | 是 | 使用 commaAnalyzerName 分词器,实现类似sql in 的效果. |
description | string | 站点描述 | 否 | - |
pageURL | string | 自身页面路径 | 否 | - |
subtitle | string | 副标题 | 是 | - |
content | string | 文章内容 | 是 | |
createTime | time.Time | 创建时间 | - | 2006-01-02 15:04:05 |
updateTime | time.Time | 更新时间 | - | 2006-01-02 15:04:05 |
createUser | string | 创建人 | - | 初始化 system |
sortNo | int | 排序 | - | 正序 |
active | int | 是否有效 | - | 无效(0),正常显示(1),界面不显示(3) |
文章内容表,默认使用 module_default 的模型字段
codeName | 类型 | 中文名称 | 是否分词 | 备注 |
---|---|---|---|---|
id | string | 主键 | 否 | - |
moduleID | string | 模型ID | 否 | 文章使用的模型字段 |
title | string | 文章标题 | 是 | - |
keyword | string | 关键字 | 是 | 使用 commaAnalyzerName 分词器,实现类似sql in 的效果. |
description | string | 站点描述 | 否 | - |
pageURL | string | 自身页面路径 | 否 | - |
subtitle | string | 副标题 | 是 | - |
navMenuID | string | 导航ID | 否 | - |
navMenuNames | string | 导航名称,逗号(,)隔开 | 是 | 使用 gseAnalyzerMapping 分词器. |
templateID | string | 模板Id | 否 | 模板 |
content | string | 文章内容 | 是 | |
createTime | time.Time | 创建时间 | - | 2006-01-02 15:04:05 |
updateTime | time.Time | 更新时间 | - | 2006-01-02 15:04:05 |
createUser | string | 创建人 | - | 初始化 system |
sortNo | int | 排序 | - | 正序 |
active | int | 是否有效 | - | 无效(0),正常显示(1),界面不显示(3) |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。