0

IBM Web サイト ( https://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/retrieve-rank/get_start.shtml ) で利用可能なチュートリアルに従いましたが、同じものを適用しようとしています。 Javaでの手順ですが、ランカーのトレーニングを開始するときにいくつかの問題が発生します。

チュートリアルで提供されたデータ (クランフィールド データセット) を使用しましたが、ランカーはトレーニングを続け、開始から約 20 分後にランカーのステータスが「失敗」に変わりました。

curl で完全に動作するため、何かを見逃していると思いますが、コードの何が問題なのかわかりません。

public static void main(String[] args) {    
    String cluster_id = "", config_name = "config0", collection_name = "ibm_collection", ranker_id = "", ranker_name = "ranker0";
    String username = "<RAR_login>", password = "<RAR_password>";
    HttpSolrClient solrClient = null;

    //The RetrieveAndRankService class contains a RetrieveAndRank instance; it also contains some method to store results in ElasticSearch
    RetrieveAndRankService rars = new RetrieveAndRankService(username, password);
    rars.deleteAllCluster(rars.getService());


    //Create cluster
    try {
        SolrCluster cluster = rars.createSolrCluster("Cluster0", 0);
        cluster_id = cluster.getId();
        solrClient = rars.getSolrClient(rars.getService().getSolrUrl(cluster_id), username, password, cluster_id);

    }catch(Exception e) { e.printStackTrace(); }

    //Upload configuration
    rars.uploadSolrConfig(cluster_id, config_name, CRANFIELD_CONFIG);

    //Create configuration
    try {
        rars.createCollection(collection_name, config_name, solrClient);
    }catch(Exception e) {e.printStackTrace(); }

    //Indexing documents
    try {
        addJsonDocuments(solrClient, CRANFIELD_DATA, collection_name);
    }catch(Exception e) { e.printStackTrace(); }

    //Create and train ranker
    try {
        Ranker ranker = rars.getService().createRanker(ranker_name, new File(CRANFIELD_GT)).execute();
        ranker_id = ranker.getId();
        while (ranker.getStatus() == com.ibm.watson.developer_cloud.retrieve_and_rank.v1.model.Ranker.Status.TRAINING) {
            Thread.sleep(4000); // sleep 4 seconds
            ranker = rars.getService().getRankerStatus(ranker.getId()).execute();
            System.out.println(ranker.getStatusDescription());
            System.out.println("Training Ranker...");
        }
        System.out.println(ranker.getStatusDescription());
        rars.cleanupResources(solrClient, cluster_id, config_name, collection_name);
        rars.deleteAllCluster(rars.getService());
    }catch(Exception e) { e.printStackTrace(); }
}

結果は次のとおりです。

Creating cluster...
Creating cluster...
[...]
The following cluster have been created : {
"solr_cluster_id": "scb4bbcd66_5aa1_4862_9c8d_b1572846102c",
"cluster_name": "Cluster0",
"cluster_size": "",
"solr_cluster_status": "READY"
}
Uploading configuration...
Uploaded configuration !
Creating collection...
Collection created.
Adding documents done. Response Text is : {"responseHeader
{"status":0,"QTime":1655}}
"Training Ranker..."
"Training Ranker..."
"Training Ranker..."
[...]

すべての提案を歓迎します。お時間をいただきありがとうございます。

4

0 に答える 0