eDiary 全局搜索
引言
随着日记与文档的不断积累,用户往往难以凭记忆准确定位到某篇特定内容所在的篇章及其写作时间。eDiary 提供的「全局搜索」功能,能够在全部日记与文档范围内检索用户指定的文本,并快速定位至命中位置。
本文以循序渐进的方式介绍全局搜索的使用方法:从最简单的单关键词搜索入手,逐步过渡到多关键词搜索及其组合规则,最后说明搜索选项、结果呈现与常见疑问。其中,多关键词搜索规则是本文的核心内容。
一、全局搜索的概念
「全局搜索」指在整个 eDiary 数据库中检索文本,即同时覆盖所有日记与所有文档,凡包含所检索文本的内容均会被返回。
它与「当前文章搜索」存在范围上的区别:
| 功能 | 检索范围 | 适用场景 |
|---|---|---|
| 当前文章搜索 | 仅当前正在编辑的文章 | 在单篇长文中反复定位某段内容 |
| 全局搜索 | 全部日记与全部文档 | 不记得具体时间或位置,需跨多篇内容检索 |
二、如何打开全局搜索
eDiary 提供了三个入口,用户可依据使用习惯选择。
入口一:顶栏搜索框
位于软件主界面顶部的搜索框。在框内输入检索文本后按 回车 键,即可立即执行全局搜索。
入口二:快捷键打开「高级搜索」对话框
- 按
Ctrl + F:在当前文章内搜索。 - 按
Shift + Ctrl + F:打开全局高级搜索对话框。 - 也可通过菜单「编辑 → 搜索」进入。
入口三:由当前文章搜索切换
在「当前文章搜索」对话框中点击「高级」按钮,亦可转入全局搜索。
三、第一步:最简单的全局搜索(单关键词)
全局搜索最简单的用法是只输入一个关键词。
以一个具体场景为例:假设用户记得曾在某篇日记中提到“北京”,但已不记得具体日期与篇章。此时只需:
- 在顶栏搜索框中输入
北京; - 按
回车键。
eDiary 将在全部日记与文档中检索包含“北京”的内容,并列出所有命中文章。
四、进阶:多关键词搜索
当单关键词返回的结果过多、不够精确时,可以引入多个关键词来缩小范围。eDiary 的多关键词搜索建立在三条基本规则之上,以下由简至繁逐一说明。
4.1 规则总览
| 检索意图 | 输入格式 | 含义 |
|---|---|---|
| 同时包含 A 与 B | A B(以空格分隔) |
多个包含关键词之间为「与」关系,须全部命中 |
| 排除某关键词 | -C(关键词前加减号) |
文章中出现该关键词则判定为不命中 |
| 检索完整短语 | "A B"(以双引号包裹) |
引号内的内容作为连续整体,不再拆分 |
| 排除完整短语 | -"A B" |
减号紧接于左引号之前 |
注意:多关键词之间仅以「空格」分隔,不使用逗号或分号。
4.2 空格表示“并且”(AND)
这是最基础也最常用的一条规则。以空格分隔的多个关键词,要求同时出现于同一篇文章中,该文章才判定为命中。
示例:输入
北京 美食
- 命中:文中同时包含“北京”与“美食”的文章。
- 不命中:仅含“北京”、但全文未出现“美食”的文章。
换言之,A B 表示“既包含 A,又包含 B”,而非“包含 A 或包含 B”。
4.3 减号表示“排除”(NOT)
在关键词前加一个减号 -,表示文章不得包含该关键词,常用于剔除无关干扰项。
示例:输入
项目 -周报
- 命中:提及“项目”但未出现“周报”的文章。
- 不命中:通篇为“项目周报”的文章(因出现了“周报”)。
4.4 双引号表示“完整短语”(Phrase)
若需检索的是一段连续出现的文字,而非两个彼此独立的词,应使用双引号将其括起。引号内部的空格不再作为分隔符,而是短语本身的组成部分。
示例:输入
"北京 天安门"
- 命中:连续出现“北京 天安门”这一词组的文章。
- 不命中:先提及“北京”、相隔数段后再提及“天安门”的文章(二者不连续)。
4.5 规则组合
上述三条规则可自由组合,从而构造高度精确的检索条件。
综合示例:输入
北京 -周报 "故宫 门票"语义为:包含“北京”、包含连续短语“故宫 门票”、且不包含“周报”。仅当三者同时满足时,文章才会出现在结果中。
4.6 大小写与全字匹配说明
- 默认不区分大小写:检索
Beijing亦可命中beijing、BEIJING。 - 全字匹配(可选):勾选「全字匹配」后,检索
cat仅匹配完整单词“cat”,而不会匹配“category”中的“cat”片段。
五、搜索选项
在「高级搜索」对话框中,除输入检索文本外,还提供若干选项用于进一步限定检索范围。
5.1 选项区
- 全字匹配:如上所述,仅匹配完整单词。
- 区分大小写:默认关闭。如需严格区分大小写,可勾选此项。
5.2 搜索范围区
用于指定检索所覆盖的内容:
- 全部日记和文档(默认)
- 全部日记
- 全部文档
- 当前节点下的全部文章(仅检索当前选中的分类或文件夹)
- 指定时间范围的日记:需配合时间下拉框使用
5.3 搜索对象区
用于指定在文章的哪些部分中进行检索:
- 文章内容(默认,检索正文)
- 文章标题(仅检索标题)
- 内容和标题(两者均检索)
5.4 搜索历史
“要查找的文本”输入框为下拉式控件,历史检索词会自动保留。下次搜索时可直接展开下拉列表选取,无需重复输入。
六、搜索结果呈现
执行检索(按回车或点击「确定」)后,eDiary 将列出所有命中文章。结果列表中包含以下信息:
- 日期与标题:日记显示为“[日期] 标题”,文档仅显示标题。
- 标签:文章所关联的全部标签。
- 匹配位置:命中发生于标题还是正文。
- 匹配次数:该文章中的命中总数(最多统计至 30 次,超出时显示“30+”)。
- 上下文片段:截取关键词附近的一段文字作为预览,使用户无需打开文章即可判断其相关性。
结果中的关键词加粗
在结果列表的预览片段中,命中的关键词以加粗形式显示,便于用户快速识别其语境。
跳转至命中位置
点击任意一条结果,eDiary 将执行以下操作:
- 打开该文章(默认为只读模式;按住
Alt可切换为可编辑模式); - 自动跳转至首个命中位置;
- 将正文内全部命中处以黄色高亮标识(只读模式下最多高亮 30 处),便于通读上下文。
七、常见问题
问:多个关键词之间是“与”还是“或”的关系? 答:“与”(AND)。以空格分隔的多个包含关键词须同时出现于文章中,方判定为命中,并非“满足其一即可”。
问:能否按标签或分类进行检索? 答:结果列表会展示文章的标签,但检索时不支持按标签过滤。可通过「范围」中的“当前节点下”选项,近似实现按分类检索。
问:是否支持正则表达式? 答:不支持。eDiary 的搜索为子串 / 短语匹配,前述的空格、减号、双引号规则已可满足日常检索需求。
问:移动端是否支持? 答:支持。移动端提供独立的全屏搜索界面,其多关键词规则(空格、减号、双引号)与桌面端一致;区别仅在于移动端始终不区分大小写,不提供“区分大小写”开关。