搜索

搜索框
按 ⌘ 加 L 聚焦工具栏中的搜索框,⌘ 加 K 是备用快捷键。结果随输入更新。
| 按键 | 作用 |
|---|---|
| ↑ ↓ | 选择结果 |
| ↩ | 打开选中的结果;结果还没出来时,出来后打开第一条 |
| ⌘ 加 ↩ | 在新标签页打开 |
| Esc | 回到正文,查询保留 |
在结果上点右键可以“在新标签页打开”或“复制链接”。搜索框为空、或查询里只有筛选条件时,中间一栏显示当前范围的“目录”,而不是搜索结果。
搜索范围
工具栏下方的范围栏决定默认在哪里搜:
- 搜索方案:保存的范围,见搜索方案。
- 版本:例如“PG18 · 18.6”。选“默认版本”回到 PG 18;选“常规版本”搜索全部默认和常规版本。历史版本和开发版不在其中,在阅读区“版本”弹出框中打开“专家模式”后,这一项变为“全部已启用版本”,搜索也包含它们。
- 语言:中文、English 或全部语言。
- 资料类别:由左侧栏决定。“手册”只搜手册,“全部资料”包括 Wiki,点某个 Wiki 集合则只搜该集合。
新窗口的默认语言和版本在“设置 › 通用 › 默认搜索范围”中修改;设了默认搜索方案时以方案为准。
搜索语法
查询由关键词、版本前缀和筛选条件组成,顺序不限。前缀和筛选只作用于本次查询,并优先于范围栏。它们以“仅本次查询”标签显示在范围栏中,点标签可以单独移除;“清除筛选”移除全部筛选,保留关键词。
版本前缀
| 写法 | 含义 |
|---|---|
pg18: | PG 18。大小写不限,PG18: 相同 |
pg96:、pg9.6: | PG 9.6。10 以前的版本可以省略点号 |
[email protected]: | 指定内容版本 18.6;本机装的不是这个小版本时提示未安装,不用其他小版本代替 |
pg: | 默认版本,目前是 PG 18 |
pgdevel: | 开发版,目前是 20devel |
前缀后面可以不加空格,pg18:vacuum 等于 pg18: vacuum。
筛选条件
| 筛选 | 取值 | 作用 |
|---|---|---|
lang: | en、zh-Hans | 只搜这种语言的正文 |
branch: | 版本号,如 18、9.6 | 只搜这个版本;与版本前缀同时写时必须一致 |
domain: | manual、wiki、release、security、capability、provenance | 只搜手册、Wiki、发布、安全、能力或来源资料 |
collection: | Wiki 集合键,如 guc、func、sqlstate、psql、waitevent | 只搜这个 Wiki 集合 |
kind: | 集合键或 domain: 的取值 | 写集合键等于 collection:,写资料类型等于 domain: |
project: | postgresql,可写 pg | 目前只有这一个项目 |
左侧栏选的是“手册”时,搜索限定在手册内,collection:guc 不会有结果。先在侧栏选“全部资料”,或在查询里加 domain:wiki;更直接的办法是在侧栏点该集合。
其他规则:
- 同一种筛选写了两个不同的值,或版本前缀与
branch:指向不同版本,搜索会报错,不会替你挑一个。 - 中文输入法打出的全角冒号
:和全角字母、数字可以直接用。 - 不是筛选名的冒号按普通文字处理。粘贴报错时不必删掉
ERROR:、DETAIL:、错误:的冒号;x::int、localhost:5432也原样保留。 - 用英文双引号括起的短语要求在原文中连续出现。
- 查询最多 256 个字符。超过 32 个词时只用前 32 个,结果栏上方会提示。
示例
| 查询 | 含义 |
|---|---|
work_mem | 找配置参数,名称完全一致的条目排在最前 |
PG96: vacuum | 在 PG 9.6 中搜 vacuum |
[email protected]: max_connections lang:en | 在 18.6 英文手册中找 max_connections |
SELECT branch:18 lang:en | 在 PG 18 英文资料中找 SELECT |
->>、@@ | 运算符,标点原样参与匹配 |
\d+、\dC | psql 命令,区分大小写,只做精确匹配 |
23505 | SQLSTATE 代码,按字符串匹配 |
复制延迟、事务隔离 | 中文词语,按相邻两字匹配 |
锁 | 单个汉字,只匹配标题和名称 |
domain:wiki SELECT | 只在 Wiki 中找 SELECT |
匹配规则
结果先按名称匹配,再按标题和正文匹配。大致顺序是:名称、命令或定义完全一致,别名,名称前缀,章节标题,标题相关的章节,最后是正文。每条结果的说明行末尾标出匹配方式:精确、别名、前缀、标题、相关章节、正文或标题/名称;悬停可以看到解释。
- 大小写:普通英文标识符不区分大小写,
WORK_MEM与work_mem相同。含标点的名称和 psql 命令区分大小写,\dC与\dc是两个命令。 - 反斜杠:查询中有以
\开头的词时,只做精确匹配,不退回正文搜索。 - 英文词形:3 个字母以上的单词同时匹配常见词形,
lock也匹配 locks、locked、locking。末尾还没输完的英文词按前缀匹配,例如transaction isol。 - 中文:连续的汉字按相邻两字切分,“事务隔离”拆成“事务”“务隔”“隔离”,这几组都出现才算命中,不要求相邻。需要连续出现时加英文双引号。
- 单个汉字:只输入一个字时(如
锁),只匹配标题和名称中含这个字的条目,结果标为“标题/名称”。和其他词一起出现的单字按词首近似匹配,结果栏会提示“单个汉字只按标题和词首匹配,输入完整词语更准确”。 - 语言:英文标识符在中文手册里原样存在,在中文范围内搜
work_mem也能命中中文手册。写了lang:en就不会返回中文正文。
多版本结果
搜索多个版本时,同一种语言下的同一个对象合成一组:Wiki 按同一概念,手册按同一章节标识。没有可靠对应关系的同名条目各自单列。
- 结果栏顶部显示“N 组 · M 个版本”。
- 分组标题下有版本摘要,点它或按 → 展开,按 ← 收起。
- 折叠时按 ↩ 打开组内排在最前的一条。组内先列范围栏选定的版本,其余从新到旧。
搜索方案
范围栏最左边的“搜索方案”菜单保存常用范围:版本、语言、资料类别,以及可选的搜索框提示语和触发词。
- 调好范围栏,在菜单中选“将当前范围存为方案…”。
- 在“设置 › 搜索”中编辑、停用或删除方案,并可以指定“新窗口默认方案”。
- 给方案加触发词后,在搜索框输入
sql:select或sql select,这一次就按触发词为sql的方案搜索 select。删掉触发词即恢复范围栏原来的范围。
每个方案最多 8 个触发词,以英文字母开头,最长 32 个字符;不能使用 pg 开头的词和 lang、branch 等筛选名。方案里的“在结果中显示片段”可以单独关闭片段结果。
没有结果时
结果栏显示“没有结果”和实际搜索的关键词(不含筛选),并给出几个操作,都会保留关键词:
- 清除筛选:查询中有筛选条件时出现。
- 清除查询。
- 调整范围 › 搜索全部版本:从单个版本扩大到全部版本。
- 调整范围 › 仅搜索 PG N:回到正在阅读的版本和语言。
搜索未安装或已停用的版本(例如在 Core 中写 pg96:)时,Crib 会说明该版本未安装或未启用,状态栏出现“查看 PG96”,打开资料库获取或启用。
最近搜索
点搜索框左侧的放大镜,菜单中列出最近 12 条查询,选“清除最近搜索”可清空。按 ↩ 或打开某条结果时记录当前查询。
片段与个人资料
- 匹配的片段显示在结果最上方的“片段”分组中,见片段。在“设置 › 片段”中关闭“在搜索结果中显示片段”即可隐藏。
- 侧栏选中“个人资料”下的分类时,搜索框改为筛选笔记、更正、书签或阅读历史,按标题、正文和标签做字面匹配,不分词。
网页搜索
本地没找到时,结果栏底部的“网页搜索”在默认浏览器中打开外部搜索。默认启用 Google 和 Stack Overflow,DuckDuckGo 默认关闭。发送的只有查询文字,筛选条件会先去掉。
在“设置 › 网页搜索”中可以添加、停用、拖动排序或恢复默认。地址必须以 https:// 开头,用 {query} 标出查询文字的位置。阅读区“更多”菜单中的“在网页中搜索选中文字”使用同一份列表。