概述
小书匠从 8.4.17
版本开始,支持高级的搜索语法,通过该功能,用户可以将自己在小书匠内的文章更精确的查询出来。
入口



语法
搜索语法由 文本段 和 条件段 组成。
文本段
文本段就是需要进行全文搜索的关键词,文本段内可以包含多个文本,文本之间用空格分开。
多关键词搜索时,关键词之间使用或
关系。即只要文章包含其中一个关键词,该文章就符合搜索结果。
如果想多个关键词进行与
关系处理,只需要将多个关键词用双引号包裹就可以。
文本段支持排除语法,只要在关键词前加 -
符号时,系统将过虑掉该关键词搜索出来的文章。
示例
- 搜索单个关键词
联网
- 1联网
- 搜索多个关键词
联网
和电脑
- 1联网 电脑
- 搜索包含
联网
, 但不包含公司
的文章
- 1联网 -公司
条件段
条件段就是可以根据文章的属性进行过滤搜索结果集的一段。条件段内可以包含多个条件,多个条件之间需要用空格分开。 多个条件结果集使用的是 与
关系,即必须同时满足多个条件的文章。
单个条件格式为 属性:属性值
目前系统支持的 属性 主要有 标签tag
, 分类category
,标识flag
,创建时间date
条件段支持排除语法,只要在 属性 前加 -
符号, 就可以将该条件过滤出来的文章排除出最终结果集。
注:
为了更好的理解条件段,可以先阅读过滤器这篇文章。大部值的属性,都是基于过滤器设计的。
标签 tag
格式
单个标签: tag:标签值
多个标签: tag:标签值[,标签值,标签值]
多个标签以逗号分开
示例
- 搜索标签是
工作日志
的文章
- 1tag:工作日志
- 搜索标签是
工作日志
和互联网
,但不包含标签电商
的文章,同时文章全文搜索需要包含联网
关键词
- 1联网 tag:工作日志,互联网 -tag:电商
分类 category
格式
category:分类值
分类属性还支持起始于
功能
category:xsjStartsWith##分类值
标识 flag
格式
flag:标识值
创建时间 date
格式
date:时间值
时间属性对应的时间值支持三种格式,精确时间,时间范围 和相对时间。
所有时间最小单位为天。
精确时间
格式
date:YYYYMMDD
示例
- 搜索 2020 年 2 月 11 日创建的所有文章
- 1date:20200211
时间范围
格式
date:YYYYMMDD/YYYYMMDD
示例
- 搜索在 2020 年 3 月 15日 到 2020 年 5 月 1 日之间的文章,文章需要包含关键字
工作
- 1工作 date:20200315/20200501
相对时间
格式
date:-[数值][单位符号]
注: 数值前面的 -
符号
单位符号支持
天:d, day
星期: w, week,weeks
月:mon, month, months,M
季:Q,Quarter,Quarters
年:y,year,years
今天: now
示例
- 最近1天的文章
- 1date:-1d
- 最近2个月的文章,但不包含2020年12月3日的文章
- 1date:-2M -date:20201203
注
- 在文本段或者条件段里,必须包含一个非排除语法生成的结果集。比如只有
-工作
这样的搜索,系统将返回空的文件列表。