如何解码 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();
    }