Hoarder项目搜索查询语言完全指南
前言
在信息爆炸的时代,如何高效管理个人收藏的书签成为一大挑战。Hoarder项目提供了一套强大的搜索查询语言,帮助用户从海量书签中快速定位所需内容。本文将全面解析这套查询语言的语法规则和使用技巧。
基础语法结构
Hoarder的搜索查询语言设计简洁而强大,遵循以下基础规则:
- 空格分隔:多个条件之间用空格分隔,默认执行AND逻辑运算
- 布尔运算符:支持使用
and
/or
进行显式逻辑运算 - 分组条件:使用圆括号
()
对条件进行分组 - 否定条件:在限定词前加
-
表示否定该条件
核心限定词详解
Hoarder提供了一系列限定词用于精确筛选书签,以下是完整参考表:
状态限定词
| 限定词 | 描述 | 示例 | |--------|------|------| | is:fav
| 收藏的书签 | is:fav
| | is:archived
| 已归档的书签 | -is:archived
| | is:tagged
| 带有标签的书签 | is:tagged
| | is:inlist
| 存在于列表中的书签 | is:inlist
|
类型限定词
| 限定词 | 描述 | 示例 | |--------|------|------| | is:link
| 链接类型的书签 | is:link
| | is:text
| 文本类型的书签 | is:text
| | is:media
| 媒体类型的书签 | is:media
|
属性限定词
| 限定词 | 描述 | 示例 | 特殊说明 | |--------|------|------|----------| | url:<value>
| URL包含指定字符串 | url:example.com
| 支持子字符串匹配 | | #<tag>
| 指定标签的书签 | #important
| 含空格的标签需加引号 | | list:<name>
| 指定列表中的书签 | list:reading
| 含空格的列表名需加引号 | | after:<date>
| 创建日期在指定日期之后 | after:2023-01-01
| 日期格式YYYY-MM-DD | | before:<date>
| 创建日期在指定日期之前 | before:2023-12-31
| 日期格式YYYY-MM-DD | | feed:<name>
| 来自特定RSS源的书签 | feed:Hackernews
| 区分大小写 | | age:<time-range>
| 基于创建时间的筛选 | age:<1d
| 支持d(天)、w(周)、m(月)、y(年) |
高级查询技巧
1. 复杂条件组合
通过布尔运算符和分组,可以构建复杂的查询条件:
# 查找2023年收藏的带有"重要"标签的书签
is:fav after:2023-01-01 before:2023-12-31 #important
# 查找已归档且在"阅读"列表或带有"工作"标签的书签
is:archived and (list:reading or #work)
# 查找未收藏且未归档的书签
-is:fav -is:archived
2. 时间范围查询
时间查询支持多种灵活方式:
# 精确日期范围查询
after:2023-01-01 before:2023-12-31
# 相对时间查询(最近7天内创建的书签)
age:<7d
# 组合使用
age:>1m age:<1y
3. 全文检索
任何不属于限定词的文本都将被视为全文搜索:
# 简单全文搜索
机器学习
# 结合限定词的全文搜索
深度学习 is:fav age:<1m
实用查询示例
-
日常工作查询:
# 查找带有"项目"标签且未归档的近期书签 #项目 -is:archived age:<2w
-
学习资料整理:
# 查找收藏的编程相关书签,排除已归档的 编程 is:fav -is:archived
-
内容清理:
# 查找6个月以上未使用的无标签书签 -is:tagged age:>6m
最佳实践建议
- 渐进式构建查询:从简单条件开始,逐步添加限定词
- 合理使用分组:复杂的逻辑关系使用括号明确优先级
- 善用否定条件:排除不需要的内容能显著提高查询效率
- 定期优化查询:将常用查询保存为智能列表
总结
Hoarder的搜索查询语言提供了强大的书签筛选能力,通过掌握本文介绍的各种限定词和组合技巧,用户可以轻松应对各种书签管理场景。建议读者结合实际需求,灵活运用这些查询方法,打造个性化的知识管理体系。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考