我正在使用SOLR PHP客户端从solr服务查询数据。我的代码看起来类似于下面,因为我通过查询来搜索多个ID(在我的情况下,很多)。当我一次搜索太多ID时,问题就出现了。传入太多ID时,我会收到'Request Entity Too Large'。有没有办法解决这个问题?根据我在各种示例中看到的,语法似乎是'id:1或id:2或id:3等'。当搜索多个值时。这有不同的语法,可以减少传递到服务中的请求的大小?例如在SQL中,我们可以说'id in(1,2,3等)'。我们可以为SOLR查询做类似的事吗?PHP Solr客户端 - 请求实体太大
<?php
require_once('SolrPHPClient/Apache/Solr/Service.php');
$solr = new Apache_Solr_Service('localhost', '8983', '/solr');
$offset = 0;
$limit = 10;
$queries = array(
'id: 1 OR id: 2 OR id:3 OR id:4 OR id:5 OR id:6 or id:7 or id:8' // in my case, this list keeps growing and growing
);
foreach ($queries as $query) {
$response = $solr->search($query, $offset, $limit);
if ($response->getHttpStatus() == 200) {
print_r($response->getRawResponse());
}
else {
echo $response->getHttpStatusMessage();
}
}
?>
我也有类似的问题,但切换到像 viewPermGroupId搜索的另一个符号:(ANY或018f5984be10c58ac950f3de8223d76a或021132071593b65c1d9ea28d60ac57c3) 那是一个有点短.... – cljk