许多在线或本地数据源提供了强大的查询机制,但排名能力有限。 例如,PubMed允许用户提交表达力强的布尔关键字查询,但仅按日期对查询结果进行排名。 但是,用户通常希望通过信息检索(IR)排名功能衡量的相关性进行排名。 天真的方法是提交带有所有查询关键字的析取查询,检索所有返回的匹配文档,然后对它们重新排序。 不幸的是,由于析取查询返回的大量结果,这样的操作将非常昂贵。 在本文中,我们提出了一种算法,该算法可返回查询的最高结果,并根据IR样式的排名函数进行排名,同时在具有布尔查询接口的源之上运行,而布尔查询接口则没有排名功能(或对用户没有兴趣的排名功能)最终用户)。 该算法生成一系列联合查询,这些查询仅返回作为根据相关性指标进行高度排名的候选文档。 我们的方法也可以应用于其他设置,在这些设置中,一组因素(IR中的查询关键字)的排名是单调的,而源查询接口是这些因素的布尔表达式。 我们对PubMed数据库和TREC数据集的综合实验评估表明,与当前的基准方法相比,我们实现了数量级的提高