一些限制性问题

文章的分页不完备的情况

当文章的 status 设定为 draft 等非 public 性质的时候,它们在按照 -date (日期降序) 排序时会排在最后面,虽然是隐藏的,但实际上会计算到参与分页的对象总数。这是 FarBox 纯 Key-Value 性质的数据库结构决定了,不会单独针对 status 做额外的索引。

简而言之,非 public 性质的文章数量小于当前每页的文章数,是没有问题的;如果出现问题,现象是尾页的内容为空。

长文章不显示在文章列表中?

FarBox 中的数据原子叫 record,它单个最大容量为 500K,一篇文章转为 record 的时候,会增加其它信息,比如 原始文本、编译为 HTML 的内容、metadata 等。
一般情况下,500K 是足够的,超过这个尺寸的文章,不再被视为 post 类型,而是 file 类型。file 类型在内容尺寸较小时会压缩文本后存储于数据库,较大时会转入云存储。

1K 大约等于 300 汉字,500K 大约为 15 万汉字;但实际情况不然,加上 Markdown 编译后的 HTML 内容会扩容到约 3 倍,也就相当于 5 万汉字了。而 5 万汉字也仅仅是参考值,如果是诗歌类型这种十来字就要换行的,扩容比会更大,500K 的 record 能承载 2 万字就比较勉强了。
为什么不允许更大的 record 容量呢?如果是自己 fork 源码来部署 FarBox 的,可以调整这个 max_size,但默认情况不会再调整。FarBox 的基础引擎不是只为文章而运行的,有些场景下的应用单个 record 的尺寸可能远小于 1K,超过 500K 对于 record 在数据库中存储、查询、模板引擎的渲染,会产生比较明显的性能压力。

如何批量删除文件

FarBox 的服务端不会提供这个功能的支持,请再客户端中删除后并同步,即可批量删除。

Comments
Write a Comment