我正在使用 Python 访问 Retreive-And-Rank 服务。到目前为止,我已经上传了我的配置和文档,并在相关文件上训练了我的排名器。我想剩下的就是将一些查询结果(来自 Solr?)传递给我的 RAR 对象的“rank”方法。
我的问题:这些结果究竟是什么,它们以什么形式出现?我如何访问它们?
现在我正在使用 get_pysolr_client() 方法访问 PySolr 对象,然后搜索查询并使用返回的结果:
answer_data = pysolr.search(query)
rrv1.rank(<my_ranker_id>, answer_data, top_answers=10)
我这样做是因为它类似于 IBM 在Java 示例中的 rank() 方法中所做的。但我收到错误消息:
AttributeError: 'Results' object has no attribute 'read'
我得到这个是因为 PySolr 返回一个“结果”对象。
我应该将什么传递给 rank() 方法以使其工作?
rank 方法的 Retrieve_and_Rank 规范如下,我认为 answer_data 应该是一个“类文件”对象:
def rank(self, ranker_id, answer_data, top_answers=10)