2012-07-18 32 views
12

मैं Solr कोर को फिर से लोड करने की कोशिश कर रहा हूँ के साथ पुनः लोड Solr कोर (संस्करण 3.6.0) निम्नलिखित वाक्य के माध्यम से:कर्ल

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> 

मुझे एक ही प्रतिक्रिया मिलती है जब मैं अपने ब्राउज़र पर ऐसा यूआरएल डालता हूं (अंतर QTime का मान है)।

मेरी समस्या यह है कि, यदि मैं ब्राउज़र से यूआरएल को कॉल करता हूं तो मैं लॉग जानकारी पर क्लिक कर सकता हूं कि रीलोड निष्पादित किया गया है, लेकिन अगर मैं इसे कर्ल कथन से कॉल करता हूं, तो मैं अपने लॉग में कुछ भी नहीं देख सकता जानकारी (जो कहने के लिए, कोई रीलोड प्रक्रिया निष्पादित नहीं की गई है)।

क्या मुझे कुछ कॉन्फ़िगरेशन डेटा बदलना है? यह निर्दिष्ट करने के लिए -एक उपयोग करने के लिए कॉल Solr सर्वर से आ रहा है नहीं कर रहा है की तरह लगता है ...

+0

आपका कर्ल अनुरोध ठीक लगता है, मैं नहीं दिख रहा है यही कारण है कि वहाँ के बीच एक अंतर हो सकता है ब्राउज़र अनुरोध और कर्ल अनुरोध, यहां तक ​​कि क्योंकि आपको कोई त्रुटि नहीं मिल रही है। – javanna

+0

@javanna, या तो कोई फर्क नहीं पड़ता। मैं कोशिश करूँगा '। – asuka

उत्तर

4

1.Try उपयोगकर्ता-एजेंट

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 नहीं कर सकते हैं कार्यकारी जे एस लिपियों

तो सुनिश्चित करें कि यह जेएस स्क्रिप्ट की वजह से नहीं है।

आप http संचार प्रक्रिया की जांच के लिए क्रोम या फ़ायरबग + फ़ायरफ़ॉक्स के डेवलपर टूल्स का उपयोग कर सकते हैं।

3. वायरसहार्क या एसएचएच का उपयोग यह जांचने के लिए करें कि "कॉल सोलर सर्वर पर पहुंच रही है या नहीं।"

मुझे उम्मीद है कि इससे मदद मिलती है। इस प्रकार डबल उद्धरण के साथ आदेश में यूआरएल को संलग्न करने

+0

जोड़ते समय कोई अंतर नहीं - एक एजेंट जो मैं देख सकता था। –

13

प्रयास करें:

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

आशा इस मदद करता है