-1

私はPythonを使ってRetreive-And-Rankサービスにアクセスしています。これまでのところ、私は自分の設定とドキュメントをアップロードし、関連ファイルのランカーを訓練しました。残っているのは、R-A-Rオブジェクトの「ランク」メソッドにいくつかのクエリ結果(Solr?から)を渡すことだけです。Pythonを取得しランク付けする:ランク付けメソッドにどのような「回答データ」を渡すのですか?

私の質問:これらの結果はどういったもので、どのような形になっていますか?そして、どうすればそれらにアクセスできますか?

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

それはIBMがで何に似ていますので、私はこれをやっている:

は、今私は、クエリを検索し、返された結果を用いて、get_pysolr_client()メソッドを使用してPySolrオブジェクトにアクセスしていますrank()メソッドはJava exampleにあります。しかし、私はエラーメッセージが表示されます:

AttributeError: 'Results' object has no attribute 'read' 

PySolrが「結果」オブジェクトを返すので、これが表示されます。

rank()メソッドを使用する代わりに、何を渡す必要がありますか?次のように

ランク方法についてRetrieve_and_Rank仕様です、と私はanswer_dataは、「ファイルのような」オブジェクトことになっていると思います:

def rank(self, ranker_id, answer_data, top_answers=10) 

答えて

0

回避策の一つは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 

これはdW Answersのrishavcに感謝します。

関連する問題