2012-07-18 74 views
12

我試圖重新加載Solr的核心由下列句子的手段(3.6.0版本):刷新Solr的核心,捲曲

curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore 

當我執行它,我得到以下回應:

<?xml version="1.0" encoding="UTF-8"?> 
<response> 
    <lst name="responseHeader"> 
     <int name="status">0</int> 
     <int name="QTime">1316</int> 
    </lst> 
</response> 

當我在瀏覽器中放置這樣的URL時,我得到了類似的響應(差別是QTime的值)。

我的問題是,如果我從瀏覽器調用URL,我可以在日誌信息中看到重新加載被執行,但是如果我從CURL語句調用它,我看不到任何東西在我的日誌信息(也就是說,沒有執行重新加載過程)。

我必須更改一些配置數據嗎?這似乎是呼叫沒有抵達Solr的服務器...

+0

你捲曲的要求似乎確定,我不明白爲什麼有可能是之間的差異瀏覽器請求和curl請求,即使你沒有收到任何錯誤。 – javanna 2012-07-18 11:50:23

+0

@javanna,也沒有看到任何區別。我會繼續嘗試。 – asuka 2012-07-18 12:04:56

回答

4

1.Try使用-A指定的User-Agent

curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore 

2.Curl不能EXEC JS腳本

所以請確保它不是因爲js腳本。

您可以使用chrome或Firebug + Firefox的開發工具來檢查http通信過程。

3.使用wireshark或sth檢查「呼叫是否到達Solr服務器」。

我希望有幫助。

+0

添加-A代理時沒有區別,我可以看到。 – 2013-04-16 03:31:44

13

嘗試括在用雙引號的命令URL,如下所示:

curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=mycore" 

希望這有助於