相关性

相关性是指查询响应满足正在搜索信息的用户需求的程度。

查询响应的相关性取决于执行查询的上下文。单个搜索应用程序可能被具有不同需求和期望的用户在不同上下文中使用。例如,气候数据的搜索引擎可能会被研究长期气候趋势的大学研究员、有兴趣计算春季最后一次霜冻可能日期的农民、对降雨模式和洪水频率感兴趣的土木工程师以及计划前往某个地区度假并想知道要带什么行李的大学生使用。由于这些用户的动机不同,任何特定响应对查询的相关性也会有所不同。

查询响应应该有多全面?像一般相关性一样,这个问题的答案取决于搜索的上下文。在某些情况下,例如响应传票的法律电子取证搜索,没有在响应查询时找到特定文档的成本很高,而在另一些情况下,例如在具有数十或数百个蛋糕食谱的网站上搜索蛋糕食谱,成本则非常低。在配置 Solr 时,您应该权衡全面性与其他因素,如及时性和易用性。

电子取证和食谱示例说明了与相关性相关的两个概念的重要性

  • 精确率是返回结果中相关的文档的百分比。

  • 召回率是系统中所有相关结果中返回的相关结果的百分比。获得完美的召回率是微不足道的:只需为每个查询返回集合中的每个文档即可。

回到上面的例子,对于电子取证搜索应用程序来说,100% 的召回率返回所有与传票相关的文档非常重要。然而,食谱应用程序提供这种程度的精度远没有那么重要。在某些情况下,在随意的情况下返回太多结果可能会让用户不知所措。在某些情况下,返回较少但相关可能性更高的结果可能是最佳方法。

利用精确率和召回率的概念,可以量化文档集合中用户和查询的相关性。一个完美的系统对于每个用户和每个查询都应该具有 100% 的精确率和 100% 的召回率。换句话说,它会检索所有相关的文档,而不会检索其他任何无关的文档。在实际应用中,当谈论真实系统中的精确率和召回率时,通常会关注特定数量结果的精确率和召回率,其中最常见(也最有用的)是十个结果。

通过分面、查询过滤器和其他搜索组件,可以灵活配置 Solr 应用程序,以帮助用户微调他们的搜索,从而为用户返回最相关的结果。也就是说,可以配置 Solr 来平衡精确率和召回率,以满足特定用户群体的需求。

Solr 应用程序的配置应考虑以下因素:

  • 应用程序各种用户的需求(除了严格的信息需求外,还可以包括易用性和响应速度)

  • 这些用户在其各种上下文中具有意义的类别(例如,日期、产品类别或地区)

  • 文档的任何固有相关性(例如,确保官方产品描述或常见问题解答始终返回在搜索结果的顶部附近可能是有意义的)

  • 文档的年龄是否很重要(在某些情况下,最新的文档可能始终是最重要的)

考虑到所有这些因素,在 Solr 部署的规划阶段,草拟您认为搜索应用程序应该为示例查询返回的响应类型通常很有帮助。一旦应用程序启动并运行,您可以使用一系列测试方法,例如焦点小组、内部测试、TREC 测试和 A/B 测试,来微调应用程序的配置,以最好地满足用户的需求。

有关相关性的更多信息,请参阅 Grant Ingersoll 的博客文章调试搜索应用程序相关性问题