2011-12-28 34 views
2

我已經創建了一個solr多核心,每件事情都按預期工作。但是,當我把SolrPhpClient,並試圖ping服務器(碼頭)我收到錯誤,它沒有運行的地方,因爲它正在運行。ping多核的solr

我甚至嘗試瞭如下網址:

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> 

確保您更換user_namesearch爲現有領域的核心之一。這是一個普遍的問題,如果所有內核不共享一個公共字段,則其他內核將失敗。確保該字段已編入索引。

檢查就往:solrserver:端口/ Solr的-4.0.0 /你的內核名/管理/平

如果你想創建一個測試場,嘗試將此添加到架構的每個核心的:

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

我沒有得到平在「一般」的方式工作不斷上Solr的4.0(我相信這是一篇關於)。測試是'每個核心',場地選擇設置一個通用的afaik。

1

在PHP中爲SolrClient設置選項時,需要將'path'屬性設置爲核心屬性(即'solr/core1')。

然後在您的requestHandler in solrconfig.xml中將名稱重新設置爲'/ admin/ping'。

這應該可以解決您的問題。