我有一个Feed发送到Search Appliance进行索引的内容,但是一个XML节点是base64compressed。看看GSA文档'通过压缩(zlib)然后对它们进行编码来构造自定义馈送。我尝试通过解码然后使用7zip打开它来反转该过程,但它不起作用。
理由:我在看这是因为GSA是EOL,我们正在转向Solr但暂时会继续使用一些GSA连接器(它们是开源的)。我需要查看索引到Search Appliance的内容的文本内容,以便构建一个合适的Solr模式。
我对GSA的经验很少,所以我可能会想到这一切都错了,不胜感激任何有关如何解决这个问题的建议。
谢谢!
答案 0 :(得分:0)
此代码将解码然后解压缩GSA Feed中的base64compressed项。
private byte[] decodeUncompress(byte[] data) throws IOException {
// Decode
byte[] decodedBytes = Base64.getDecoder().decode(data);
// Uncompress
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Inflater decompresser = new Inflater(false);
InflaterOutputStream inflaterOutputStream = new InflaterOutputStream(stream, decompresser);
try {
inflaterOutputStream.write(decodedBytes);
} catch (IOException e) {
throw e;
} finally {
try {
inflaterOutputStream.close();
} catch (IOException e) {
}
}
return stream.toByteArray();
}