Shotnest

Shotnest · 资料库

理解子串命中的边界

在 Shotnest 搜索工具中,“order”能匹配“preorder reference”,因为搜索查找的是子串,而分类器会检查词的边界。

子串搜索与关键词边界

只要记录规范化后的文字在任何位置包含规范化后的查询,哪怕是在一个更长的词里面,搜索工具就会保留这条记录。order 就在 preorder 里面,所以记录 1 匹配,记录 2“delivery note”不匹配。分类器更严格:对拉丁字母和西里尔字母的关键词,它要求关键词前后紧挨着的不能是字母。因此,书架判断和搜索命中遵循的是不同的规则。

应用搜索对你输入的每个词同样按子串查找,它还会检查文字的第二种形式,即把被换行拆开的词连起来的形式,所以行末带连字符的词仍能被找到。

规范化在子串测试之前进行,所以搜索 cafe 也能找到更长的词中的 café。

输入值

搜索截屏中的文字
order
行文本记录
1preorder reference
2delivery note

结果

匹配记录
1
行文本记录
1preorder reference

缩小宽泛的匹配

  1. 搜索 order,留意记录 1 是通过 preorder 匹配的。
  2. 下结论之前,先读完整个匹配的词。
  3. 加上有辨识度的部分,比如订单号:“order #4471”只匹配包含它的记录。
  4. 打开截屏,查看匹配周围的背景。
查询 order · 记录 preorder reference、delivery note
匹配的记录:1
查询 order #4471 · 加入第三条记录“Order #4471 shipped”
匹配的记录:3

很短的查询会匹配得很广。搜索 pay 会同时匹配“Repayment schedule”和“Pay now”,所以工具返回记录 1 和 2。

对子串命中的误读

匹配不等于分类

子串命中告诉你某些字符出现在哪里。它不告诉你这条记录讲的是什么。用下方链接的搜索工具找出候选,然后逐一阅读。

子串匹配也不管字符在哪一行。请在截屏中读匹配到的那一行本身,而不是整条记录。