概述
从 5.3.0 版本开始,小书匠提供第三方存储快速查询功能。查询支持 已加载查询 和 层级目录查询
由于第三方存储,数据都是异步从第三方服务商取得,不同的第三方服务商有各种不同的限制,比如数据最大抓取数,在规定时间内 api 请求数等限制,同时为了考虑小书匠客户端本身的性能,使用体验。小书匠不提供遍历第三方服务目录来进行文章标题的查询。而仅提供了 已加载查询 和 层级目录查询。
已加载查询
已加载查询,指的是在你当前展开过的所有节点内查询。
如何使用已加载查询
- 在文档目录管理区的下方,点击过滤图标 ,进行过滤查询模式
- 在出现的查询输入框,输入想要查询的文字,回车(或者点击旁边的放大镜按钮)
- 小书匠就会在您已经加载的列表基础上进行过滤查询。示例图片内,由于只加载了根目录的列表,
2017
,asdf
,good
都还没有加载过,所以点击查询时,得到的结果只有一条。如果我们在执行查询前,点击了2017
等目录,再次执行查询,就会把2017
目录下的文件列表也加入过滤查询范围。 - 点击输入框左边的取消图标,可以退出过滤查询模式
层级目录查询
层级目录查询提供了比已加载查询更加强大的过滤查询模式,用户可以通过它进行更加精细的查询,并且支持异步抓取第三方服务目录的查询。
如何使用层级目录查询
- 在文档目录管理区的下方,点击过滤图标 ,进行过滤查询模式
- 在出现的查询输入框,输入想要查询的文字,注意文字内必须包含
/
符号,用于目录层级深度的控制,回车(或者点击旁边的放大镜按钮),系统将自动触发层级目录查询。
- 层级目录查询系统会自动异步加载相关的目录,所以在进行层级目录查询时,最好提供比较准确的查询字符。如果你的某个目录下有很多的子目录,在使用层级目录查询时,提供的过滤字符匹配的子目录又比较多,就会造成很多的请求,如果超出第三方服务商在同一时间的请求限制,将会影响你后继的操作。
- 层级目录查询的过滤规则,可以在后面单独的小节里查看。
- 点击输入框左边的取消图标,可以退出过滤查询模式。
层级目录查询过滤规则
- 只要查询字符里包含
/
符号,查询时,系统就直接使用层级目录查询的算法。 - 查询字符之间的
/
符号,代表一个层级,也就是目录深度。 - 连续相同的
/
符号,系统只当成一个/
符号来处理,也就是当成一个层级,并且自动过滤掉所有空白字符。 比如g o //xs/ //w
, 系统会自动转换成go/xs/w
来过滤查询。 - 层级目录查询是从左到右的匹配查询过程,只有左边匹配成功了,才会再往下一层查询。比如
go/xs/w
,系统从根目录开始,在根目录的子目录下查找跟go
匹配的标题。这里匹配的结果是good
,然后才会在good
基础上进行下一层xs
的匹配。即使2017
目录下也有xs
相关的结果,但由于第一层已经未成功,所以 2017 目录下的列表是不会包含到过滤查询结果来的。 - 系统在层级目录查询时,如果匹配到的层级还没有加载,系统会向第三方服务商发送列表请求,得到新列表结果后,再继续过滤查询。
- 每一层的匹配使用的是类似数据库的
like
查询,也就是包含查询。 比如go/xs/w
, 系统就会在第一层里找标题包含go
字符的目录,然后在符合要求的基础上找第二层包含xs
字符的目录,以此类推下去。 - 系统只对标题进行匹配,不对正文内容,标签等进行匹配。