SOLR查询长度问题
问题描述:
我必须运行一个很长的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;
}
答
您是否尝试过使用GET? POST是搜索查询的错误语义。我不确定Solr是否通常被配置为回答POST。
此外,cURL返回哪些错误代码?
我也有点困惑你为什么要发送用户名和密码。我从未见过Solr配置为需要登录。
调试此类事情的最佳方法是编写查询URL,然后从浏览器访问Solr。毕竟它是一个HTTP服务器。这使得更容易看到会发生什么。
检查这是否解决您的查询http://serverfault.com/questions/136249/how-do-we-increase-the-maximum-allowed-http-get-query-length-in-jetty – Raghuram
否,我我使用的是Apache服务器。任何想法 ? –
当你说“Apache服务器”时,你的意思是Tomcat吗?在这种情况下,URL的预设最大长度是8k ... PS您的查询非常冒犯。标记它... –