除了了解和利用搜索标记与搜索特性的基础知识,以返回更精确的 Vault 搜索(请参见搜索 Vault),管理员还可以通过修改 web.config 文件中的“搜索溢出系数”来控制用户收到的 Vault 搜索结果的“范围”。
“搜索溢出系数”用于确定搜索短语中的任意两个词语之间可以存在多少位置,并且仍被视为相匹配。这些位置的范围介于完全匹配的搜索字符串与此字符串的多个组合之间。
“溢出”是一个编辑距离,其中距离单位是指在查询短语中可以偏离位置并且在搜索中仍然能够捕获的标记移动数。例如,若要切换搜索中两个词语的顺序,需要两次移动。第一次移动将词语放在另一个词语的上方,第二次移动对它们进行重新排序。因此,若要允许对具有两个词语或标记的搜索字符串进行重新排序,溢出必须至少设置为 2。
简单来说,溢出系数可确定从在搜索结果中排除之前,允许的搜索标记顺序颠倒的程度。默认情况下,匹配越精确,优先级越高,但是该值可以直接影响搜索结果的总数。
从 Web.config 文件 (C:\Program Files\Autodesk\Vault Server 20xx) 中,找到以下两行:
!-- slop factor provided to lucene search --> <add key="SearchSlopFactor" value="10" />
默认情况下,溢出值设置为 10。最低可以将此值设置为 0(表示仅限精确匹配),也可以将此范围增加至所需的值。
示例 1:通过多个标记搜索
如果输入 A-055* 作为搜索条件并将溢出系数设为 10,那么将收到与以下内容类似的满足溢出系数设置的任意更多结果数量:
如果输入 A-055* 作为搜索条件,但是将溢出系数设为 6,那么将返回完全相同的结果,因为标记仍在溢出系数所设定的“编辑距离”内。
但是,如果输入 A-055* 作为搜索条件,但是将溢出系数设为 4,则结果将减少为 5。在结果中不再显示 B-055401-321.ipt 的原因是:B-055401-321-A.ipt 中的标记的分布范围太广,无法满足溢出限制或编辑距离。从第一个划线开始,必须将“A”移动 5 个位置以匹配 A-055*。
如果输入 A-055* 作为搜索条件,但是将溢出系数设为 2,则仅返回 4 个结果。
将忽略 B-321-055401-A.ipt,因为需要将“A”移动 3 个位置,以匹配搜索短语 A-055*。
最后,如果输入 A-055* 作为搜索条件,但是将溢出系数设为 0,则仅返回精确标记匹配。
示例 2:使用较少的标记进行搜索
如果使用较少的标记重复搜索,会出现什么情况?这一次将搜索 A055*。
如果输入 A055* 作为搜索条件并且将溢出系数设为 5,那么将收到 6 个结果,因为可以有效地减少移动标记所需的位置数量,从而获得匹配结果。不需要高溢出系数,便可返回 6 个结果:
如果输入 A055* 作为搜索条件并且将溢出系数设为 3,将收到 5 个结果。编辑距离再次短于上一示例中的距离,但是在 B-055401-321-A.ipt 被排除的前提下结果是相同的:
如果输入 A055* 作为搜索条件并且将溢出系数设为 1,将返回 2 个结果。
但是现在,在“-”字符被删除的情况下,如果将溢出系数设为 0 来搜索包含 A055* 的文件名,则不会返回任何结果,即,在此情形下,无完全匹配结果。