相关性
相关性是指查询响应满足正在搜索信息的用户的程度。
查询响应的相关性取决于执行查询时的上下文。不同的用户可能在不同的上下文中使用单个搜索应用程序,而这些用户具有不同的需求和期望。例如,气候数据搜索引擎可能由研究长期气候趋势的大学研究员、有兴趣计算春季最后一次霜冻可能日期的农民、有兴趣了解降雨模式和洪水频率的土木工程师以及计划去某个地区度假并想知道该带什么东西的大学生使用。由于这些用户的动机各不相同,因此任何特定响应与查询的相关性也会有所不同。
查询响应的全面性应如何?与一般相关性一样,此问题的答案取决于搜索的上下文。在某些情况下,未在查询响应中找到特定文档的成本很高,例如响应传票的法律电子取证搜索,而在其他情况下则很低,例如在具有几十个或数百个蛋糕食谱的网站上搜索蛋糕食谱。在配置 Solr 时,你应将全面性与其他因素(例如及时性和易用性)进行权衡。
电子取证和食谱示例说明了与相关性相关的两个概念的重要性
-
精确度是返回结果中相关文档的百分比。
-
召回率是系统中返回的所有相关结果中相关结果的百分比。获得完美的召回率非常简单:只需针对每个查询返回集合中的每个文档即可。
回到上面的示例,对于电子取证搜索应用程序来说,100% 召回所有与传票相关的文档非常重要。但是,对于食谱应用程序来说,提供这种精度的程度则没那么重要。在某些情况下,在休闲环境中返回太多结果可能会让用户不知所措。在某些情况下,返回相关性更高的较少结果可能是最佳方法。
使用精确度和召回率的概念,可以对文档集合中不同用户和查询的相关性进行量化。一个完美的系统对每个用户和每个查询都具有 100% 精确度和 100% 召回率。换句话说,它将检索所有相关文档,而不会检索其他任何内容。在实际中,在讨论实际系统中的精确度和召回率时,通常会关注一定数量结果的精确度和召回率,最常见(也是最有用的)的是十个结果。
通过分面、查询过滤器和其他搜索组件,可以对 Solr 应用程序进行配置,使其具有帮助用户微调其搜索以返回对用户最相关结果的灵活性。也就是说,可以对 Solr 进行配置以平衡精确度和召回率,以满足特定用户群体的需求。
Solr 应用程序的配置应考虑
-
应用程序的各种用户的需求(除了严格的信息需求之外,还包括易用性和响应速度)
-
在这些用户的各种上下文中对他们有意义的类别(例如,日期、产品类别或地区)
-
文档的任何固有相关性(例如,确保官方产品说明或常见问题解答始终返回在搜索结果的顶部附近可能是有意义的)
-
文档的年龄是否重要(在某些情况下,最新文档可能始终是最重要的)
牢记所有这些因素,在 Solr 部署的规划阶段,勾勒出您认为搜索应用程序应该为示例查询返回的响应类型通常会有所帮助。一旦应用程序启动并运行,您可以采用一系列测试方法,例如焦点小组、内部测试、TREC 测试和 A/B 测试,以微调应用程序的配置,以最佳满足其用户的需求。
有关相关性的更多信息,请参阅 Grant Ingersoll 的博客文章调试搜索应用程序相关性问题。