2011-12-28 29 views
2

私はsolr multi coreを作成しましたが、すべてのものが期待どおりに動作しています。しかし、私がSolrPhpClientを入れてサーバ(桟橋)にpingしようとすると、実行中の場所で実行されていないというエラーが表示されます。solingのpingマルチコア

私も下記のURLを試してみました:

http://localhost:8983/solr/core1/admin/ping、私は500エラーを取得します。

私もsolrconfig.xml

<requestHandler name="/core1/admin/ping" class="PingRequestHandler"> 
    <lst name="defaults"> 
     <str name="qt">standard</str> 
     <str name="q">solrpingquery</str> 
     <str name="echoParams">all</str> 
    </lst> 
    </requestHandler> 

に変更を加えることを試みたが、でもこれは動作しませんでした。

SolrPhpClientをマルチコアで動作させる方法はありますか。

ご協力いただければ幸いです。

答えて

2

が、これは古いです知っているが、それは他の誰かが、これをしようとすると、soneones問題を解決する可能性が役立つかもしれない:

<requestHandler name="/admin/ping" class="solr.PingRequestHandler"> 
    <lst name="invariants"> 
    <str name="q">solrpingquery</str> 
    </lst> 
    <lst name="defaults"> 
    <!--<str name="qt">standard</str>--> 
    <str name="echoParams">all</str> 
    <str name="df">user_namesearch</str> 
    </lst> 
    <!-- An optional feature of the PingRequestHandler is to configure the 
     handler with a "healthcheckFile" which can be used to enable/disable 
     the PingRequestHandler. 
     relative paths are resolved against the data dir 
     --> 
    <!-- <str name="healthcheckFile">server-enabled.txt</str> --> 
    </requestHandler> 

あなたのコアの1つで既存のフィールドのためにuser_namesearchを置き換えることを確認します。これは一般的なことであり、すべてのコアが共通のフィールドを共有しない場合、他のコアでは失敗します。フィールドがインデックスされていることを確認します。 solrserver:ポート/ Solrの-4.0.0 /あなたのコア名/管理/ピング

あなたはテストフィールドを作成したい場合は、スキーマのにこれを追加しようと訪れ行く確認するには

各コアの:

<field name="test" type="searchterms" indexed="true" stored="false" multiValued="true"/> 

私が今まで(私はについては、この記事であると考えている)のSolr 4.0に「一般」のやり方で仕事をするのpingを持っていません。テストは「コアごと」で、フィールドの選択は一般的な1つのafaikを設定します。

1

PHPでSolrClientのオプションを設定する場合、 'path'プロパティをコアのプロパティ(つまり 'solr/core1')に設定する必要があります。

次に、solrconfig.xmlのrequestHandlerで、名前を「/ admin/ping」に戻します。

これは問題を解決するはずです。