检索并排列Python:传递给Rank方法的“应答数据”是什么?

2024-06-25 22:46:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python访问retrieve和Rank服务。到目前为止,我已经上传了我的配置和文档,并对相关文件进行了培训。我想剩下的就是传递一些查询结果(来自Solr?)到我的R-A-R对象的“rank”方法中。在

我的问题是:这些结果到底是什么,它们是以什么形式出现的?我如何访问它们?在

现在,我使用get_PySolr_client()方法访问PySolr对象,然后搜索查询并使用返回的结果:

answer_data = pysolr.search(query)
rrv1.rank(<my_ranker_id>, answer_data, top_answers=10)

我这样做是因为它类似于IBM在Java example中的rank()方法。但我收到了错误信息:

^{pr2}$

我得到这个是因为PySolr返回一个“Results”对象。在

我应该将什么传递给rank()方法以使其工作?在

Rank方法的Retrieve_和_Rank规范如下,我认为answer_数据应该是“类似文件”的对象:

^{3}$

Tags: 文件对象方法answer文档clientdataget
1条回答
网友
1楼 · 发布于 2024-06-25 22:46:05

一种解决方法是调用pysolr的_send_request方法:

results = pysolr._send_request("GET", path="/fcselect?q=%s&ranker_id=%s&wt=json" %
                              (query_string, ranker_id))
for doc in json.loads(results)["response"]["docs"]:
    print doc

感谢rishavc在dW Answers上写的这篇文章。在

相关问题 更多 >