如何解码 GSA 提要中的 base64 压缩项目
How do I decode the base64compressed item in a GSA feed
我有一个 feed 发送到 Search Appliance 以供索引的内容,但是一个 XML 节点是 base64 压缩的。查看 GSA 文档的自定义提要是通过压缩 (zlib) 然后对其进行编码来构建的。我试图通过解码然后使用 7zip 打开它来逆转这个过程,但它没有用。
理由:我正在看这是因为 GSA 是 EOL,我们正在转向 Solr,但暂时将继续使用一些 GSA 连接器(它们是开源的).我需要查看 Search Appliance 索引内容的文本内容,以便我可以构建适当的 Solr 架构。
我在 GSA 方面的经验非常少,所以我可能认为这一切都是错误的,非常感谢任何关于如何解决这个问题的建议。
谢谢!
此代码将解码然后解压缩 GSA 提要中的 base64 压缩项。
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();
}
我有一个 feed 发送到 Search Appliance 以供索引的内容,但是一个 XML 节点是 base64 压缩的。查看 GSA 文档的自定义提要是通过压缩 (zlib) 然后对其进行编码来构建的。我试图通过解码然后使用 7zip 打开它来逆转这个过程,但它没有用。
理由:我正在看这是因为 GSA 是 EOL,我们正在转向 Solr,但暂时将继续使用一些 GSA 连接器(它们是开源的).我需要查看 Search Appliance 索引内容的文本内容,以便我可以构建适当的 Solr 架构。
我在 GSA 方面的经验非常少,所以我可能认为这一切都是错误的,非常感谢任何关于如何解决这个问题的建议。
谢谢!
此代码将解码然后解压缩 GSA 提要中的 base64 压缩项。
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();
}