Solr更新压缩请求

时间:2014-09-05 13:28:54

标签: solr http-compression

如果已有答案,我会提前道歉,但我还没找到......

我正在玩一个Solr实例,我正在索引数百万个文档,这些文档被分成json文件,每个文件有500K文件,大约60MB。压缩时缩小到仅6MB。 所以我想知道是否有办法发送压缩文件,即6M而不是60MB,一旦收到文件,在处理之前解压/缩小。

我已经浏览过sol wiki,但是solr插件是高级的,不推荐使用"

1 个答案:

答案 0 :(得分:0)

在考虑之后,我得出结论,创建一个处理压缩的REST端点会更简单,然后将数据本地传递给Solr,如下所示:

// Grab compressed data and uncompress
$data = file_get_contents('php://input');
$data = gzinflate(substr($data, 10, -8));

// Send to Solr
$ch = curl_init('localhost:8983/solr/update/json?commit=true&');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type:application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);

所以我不需要破解Solr