我有一个面试问题:


有人告诉您目标查询的搜索引擎结果不满足其位置要求。您会如何测试?


您会如何测试?

我还是有一些想法:


您需要输入搜索查询的列表
每个查询都需要一个目标位置
您将每个目标位置与实际

相匹配,但这还不够。

评论

我只是添加您要测试的搜索/排名算法,而不是结果摘要的呈现方式或查询自动完成的方式。它们都可能影响最终的检索效果。

#1 楼

我不是搜索引擎专家,但是有很多因素会影响搜索结果的显示方式。查询本质上是起点,引擎如何解析查询很重要。同样,一些搜索引擎会基于自然语言算法来“重构”查询。返回结果的顺序通常取决于各种指标,例如受欢迎程度,匹配词的数量,关键字,标签等。此外,其中一些指标的权重要高于其他指标。

因此,问题本身并不能真正为您提供足够的上下文,或者该问题的目的是让您提出问题以得出更多上下文。有时,访调员会问一些模糊的问题,以查看被访者是否会在没有充分了解的情况下开始采取“暗中行动”(例如开始猛烈地解决问题并希望偶然找到解决方案,或者考虑问题并考虑周全地考虑潜在的解决方案)。

#2 楼

实际上,如何测试搜索引擎的问题是信息检索(IR)问题的一部分。我将仅列出几种评估/测试方法。

传统的IR方法

传统IR中的一种方法是准备测试设置,包括:


候选查询
索引页面的数据集
每个查询的预期结果集(包括预期排名)

接下来,您将通过运行您的查询获得实际结果搜索引擎搜索候选查询,并使用信息检索指标之一将实际结果与预期结果进行比较,例如精度/召回率或nDCG。这样可以定量回答您的搜索引擎相对于预期结果集(要求)的优劣。

显然,答案将是针对特定上下文的。它尤其取决于候选查询的选择,意图和措辞,索引页面的数据集以及判断预期结果的方式。那么背景是什么?

目标驱动/交互式IR方法

另一种方法,也许更实用,将涉及潜在用户,让他们评估给定查询的结果质量。他们可以带来自己的查询,也可以为他们定义查询。这些人可能是几个人或整个社区,您可以从中获得更多关于结果质量的隐式反馈(例如,单击的结果是预期结果)。

问题隔离

最后,问题可能不在于评估搜索引擎的整体质量,而仅在于缩小对该特定查询结果排名较低的原因。因此,我将遵循您遇到的问题:


您被告知目标查询的搜索引擎结果不满足其位置要求。


问自己:


其他排名最高的结果是什么?
他们为什么排名更高?我可以从结果片段中看出这一点吗?也许它们与查询关键字匹配但含义不同?那么也许措辞不正确?查询意图的另一种措词会改善结果吗?
同一个查询的措词可能有所不同,相同的措词背后可能有不同的查询意图。我真的知道这个查询背后的搜索者的意图吗?
究竟是什么要求?要增加赞助商页面?还是要对符合查询意图的较高页面进行排名?

可以帮助您重现其他类似查询的问题。

#3 楼

我在2004年为一家SEO公司工作。我们的目标是在Google的第一页或第二页上获取针对目标关键字的自然/有机搜索结果(自然/有机搜索结果是常规搜索结果,而不是Google赞助的结果)广告词)。该公司是一家初创企业,仅在当时它在搜索引擎市场上占有超过80%的份额,才决定专注于Google。研究表明,用户很少会通过Google的前两页来查找搜索结果。

我们测试结果的方法是在Google中输入目标关键字(关键字组合),然后查看列表是否出现在Google的第一页或第二页上,如果是,则显示为

如今,Google的定向广告已经发生了变化,因此人们可能会从不同的计算机收到不同的结果,并且如果他们登录到Google Plus,这可能会影响结果也是如此,所以我不知道是否有可能再对此进行测试。

评论


如此简单地将Google结果视为参考==预期结果?

– dzieciou
2012-10-16 18:52

#4 楼

因为问题中提到“查询的搜索结果不能满足其按位置的要求”,所以看起来测试目标是要确保在搜索算法上适当的基于排名/相关性的排序。为了进一步调试/深入研究,我可能会询问更多详细信息-是在单个字段上进行简单的文本搜索,还是涉及多个字段的组合,是否涉及任何非英语字符(变音符号等)。有时,某个结果可能会排名较低的原因可能是:搜索中省略了一些特殊字符,或者某些特定字段未编入索引,因此搜索忽略了这些字段。

我们可以通过以下方法进行测试:


使用相同的术语/查询以及其他字段组合
查看匹配图是否工作正常-即第一个搜索结果中的文档确实比搜索领域中的其他文档具有更多的“搜索词计数”-打开文档并进行计数将对此进行评估。
一次消除一个字符或一个域(对于多字段搜索)然后检查结果是否相关
使用术语的同义词(用于术语搜索),看看它是否显示doc并排名更高?
按日期或其他任何字段缩小搜索范围,并查看是否缩小的结果集将其排名更高

另一种方法是使用诸如Fiddler或Postman之类的工具调用Search API,然后将返回的排名与UI中的排名进行比较。有时在解析和加载客户端页面时,由于某些缓存问题,排序可能会变得混乱。