2012-05-03 78 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服务器。这使得更容易看到会发生什么。