Vault 使用多种内部规则来查找与搜索词匹配的正确文档,并以最相关的方式对它们进行排序。本文解释了我们用于查找和排序文档的“幕后”逻辑。如果您未看到本应看到的文档,或者文档未按正确的顺序显示,了解搜索算法的基础知识可能有助于您更有效地找到文档。

默认情况下,Vault 总是搜索以输入的搜索字符串开头的词。例如,搜索 ind 会返回 independent,而非 findrescind。您可以使用引号超控此行为,那样将执行精确匹配搜索。

特殊精确匹配文本字段

有些字段,例如校验和,使用称为“文本(精确匹配)”的字段类型。对于这种类型的字段,Vault 在搜索时仅匹配搜索词与文档的字段值精确匹配(包括大小写)的结果。此字段类型仅用于很少搜索的字段,或者只有查找精确匹配才有意义的情况。

停用词

停用词是指在语言中极其常用的词,如果在搜索中包含它们将会返回许多不相关的结果。对于每种语言,Vault 都有停用词列表。对于英语,停用词包括类似 andtheon 这样的词。当搜索词中包含这些词时,Vault 在执行搜索时会将其删除。您可以使用引号强制包含这些词。请参阅停用词完整列表

对字母数字和带标点的字段进行搜索

Vault 可将搜索词分隔成不同的段。此过程叫作“词语切分”。下表解释了 Vault 如何分割搜索词:

词语切分规则原搜索词经过词语切分的搜索词
除去前导和尾随标点Report (FDA)Report, FDA
除去和保留前导零00086700008670, 8670
按标点(连字符、下划线、句号、省略号等)切分CholeCap-300mg/400iuCholeCap, 300mg, 400iu
按空格切分109839 CC US109839, CC, US
按数字切分CC356CC, 356
大小写转换GludactaBrochureGludacta, Brochure
保留标点之间的字符串GL-45RLC-JAGL, 45RLC, JA
全部连在一起CA-MDD-415ACAMDD415A

当您对包含任何上述内容的文档字段执行搜索时,我们建议您:

  • 在已知完整字段值时使用完整字段值进行搜索:CA-MDD-415A
  • 避免仅使用术语的末尾进行搜索,例如 9A-SOP 将不会找到 129A-SOP。
  • 搜索短语时使用双引号:"Report FDA"
  • 只有在原搜索词中包含前导零时才能使用前导零。前导零不会从搜索词中删除,因此当原搜索词为 0123 时,将不会匹配 000123。

由于我们使用“开头为”搜索,Vault 只会在包含了开头内容的句段中查找部分匹配项。例如,搜索 DD415A,就不会匹配 MDD415A 作为搜索结果。

特殊字符

Vault 允许用户在文本字段中输入常见的特殊字符(@、#、$、Δ 等)。当特殊字符是字母数字字符串的一部分(例如,53.4%#wonderdrug)时以及它们单独使用时,Vault 搜索都可以找到特殊字符的匹配项。

但是,特殊字符支持仅适用于元数据字段。在对文档或附件内容编制索引以进行全文搜索时,Vault 会将内容中的特殊字符当成分割搜索词的信号。下面的示例显示了 Vault 是如何根据同一字符串的出现位置(在文档内容中或是文档元数据中)来以不同的方式进行处理的。

字符串出现位置编入索引的字符串
wonderdruginfo@veeva.com文档字段wonderdruginfo@veeva.com
wonderdruginfo@veeva.com文档源文件wonderdruginfo, veeva, com

引号

要搜索精确匹配项,可以给搜索词加上双引号。(单引号将不会改变 Vault 的搜索方式。)您还可以给单个搜索词加上引号,例如文档编号。这样将会对单词和词序强制进行精确匹配。例如,搜索 "reduced blood pressure" 将不会返回包含短语 blood pressure reduced 的文档。请注意,这将会阻止搜索词分割。

同义词

如果管理员配置搜索同义词,Vault 会根据管理员创建的词库扩展搜索结果。当您搜索在词库中被列为条目的术语时,Vault 还会显示包含该条目的任何同义词的结果。您的管理员还可以选择每个条目是否是多向的。如果条目是多向的,Vault 还会扩展同义词搜索以包含该条目。

搜索运算符

当输入多个搜索词而不使用引号时,Vault 将使用“OR”运算符执行搜索。“OR”运算符会从所有文档中找到包含至少一个搜索词的匹配项。匹配多个搜索词的文档会出现在搜索结果更靠前的位置。请参阅下文以了解关于结果排序的详细信息。

跨文档版本匹配

Vault 可以在所有文档版本之间匹配搜索条件,但是只有在您拥有查看文档权限的最新版本与搜索条件匹配时才会返回文档。

当您因属于多个组而分配了多个与文档相关的角色时,Vault 可能不会返回最新的文档版本。如果您的搜索条件仅匹配先前文档版本,且该版本是分配给您的角色之一可访问的最新版本,则会发生这种情况。

搜索和结果示例

下表显示了每个文档的版本,以及 Thomas 是否拥有查看文档权限。

文档编号版本和状态查看权限匹配详细信息
SOP-10.1 – 草稿匹配
0.2 – 审查中
1.0 – 已批准对于用户为最新
SOP-21.0 – 已批准
1.1 – 草稿对于用户为最新且匹配
1.2 – 审查中

Thomas 使用“高级搜索”功能执行文档类型 = SOP状态 = 草稿的搜索。对于此搜索,Vault 将返回下面的结果:

  • SOP-1:无匹配
  • SOP-2:v1.1 匹配

结果排序

搜索结果按相关性的顺序返回。这不会影响在搜索中找到了哪些文档,只是会影响 Vault 显示这些文档的顺序。对于相关性排序,Vault 使用各种标准决定哪些文档在搜索结果中出现得更靠前。

  • 搜索词频率:多次匹配单个搜索词的文档出现得更靠前。
  • 搜索词接近度:对于有多个搜索词的搜索,先显示包含所有搜索词的文档,随后是包含搜索词少一些的文档。如果所有匹配词位置接近(例如,在同一文档字段内),文档也会出现得更靠前。
  • 精确匹配:如果文档包含精确搜索词匹配项,而非匹配部分字语,则也会出现得更靠前。
  • 文档名称字段:如果搜索词与文档名称字段中的字词匹配,则该文档会出现得更靠前。
  • 类别字段:如果搜索词与类别字段(文档类型的一部分)中的字词匹配,则该文档会出现得更靠前。

默认情况下,Vault 根据您的 Vault 基本语言执行搜索。要使用多语言搜索,管理员必须启用多语言文档处理,它会向您的 Vault 添加语言标准文档字段。Vault 自动填充语言字段,但是您可以随时编辑它以更新文档的语言。语言字段必须设置为正确的语言,以使 Vault 的语言特定搜索功能正常工作。

用户执行搜索时,Vault 会通过合并语言特定元素,例如单词分隔符、停止词(忽略英语中的“a”和“the”)以及词干,来遵循文档语言。语言字段会影响 Vault 对文档内容和元数据进行的搜索。