2012-05-03 108 views
0

我必須運行一個很長的solr查詢。但是,當我嘗試它不會提供任何輸出,只有空白頁。他們的任何查詢長度限制/配置solr。我使用的是Apache服務器,沒有配置限制。SOLR查詢長度問題

如果我減少查詢長度它將工作。

另外我正在使用Curl進行連接。請幫我解決這個問題。

捲曲我使用

public static function getDataThroughCurl($url,$ch) 
{ 
    if (!function_exists('curl_init')){ 
     throw new CHttpException(404,'Sorry cURL is not installed'); 
    } 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_USERPWD, 'f48be786f212f1e35dd965b4675358123d838e53:X'); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json')); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, ''); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    $output = curl_exec($ch); 
    echo curl_error($ch); 
    return $output; 
} 
+0

檢查這是否解決您的查詢http://serverfault.com/questions/136249/how-do-we-increase-the-maximum-allowed-http-get-query-length-in-jetty – Raghuram

+0

否,我我使用的是Apache服務器。任何想法 ? –

+1

當你說「Apache服務器」時,你的意思是Tomcat嗎?在這種情況下,URL的預設最大長度是8k ... PS您的查詢非常冒犯。標記它... –

回答

0

您是否嘗試過使用GET? POST是搜索查詢的錯誤語義。我不確定Solr是否通常被配置爲回答POST。

此外,cURL返回哪些錯誤代碼?

我也有點困惑你爲什麼要發送用戶名和密碼。我從未見過Solr配置爲需要登錄。

調試此類事情的最佳方法是編寫查詢URL,然後從瀏覽器訪問Solr。畢竟它是一個HTTP服務器。這使得更容易看到會發生什麼。