【发布时间】:2021-01-03 12:27:39
【问题描述】:
我正在使用 official Elasticsearch Java 客户端。它工作得很好,但不幸的是它的对象没有实现 Serializable 接口。我特别需要序列化 QueryBuilder 的实例。
我发现了两种使用客户端序列化对象的方法。其中之一是使用 QueryBuilder.writeTo()。另一种是使用:
Strings.toString(queryBuilder.toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS))
但我找不到在这两种情况下如何反序列化对象。
我也不确定这是否是解决任务的最佳方式。
【问题讨论】:
-
你到底为什么要这么做?
-
@GhostCat 我需要它使用切片滚动将数据从 ES 拉入 Apache Flink 节点 - 它需要可序列化的查询。
-
我的用例是缓存 ES 查询,这些查询是通过相当大的努力生成的。
标签: java elasticsearch serialization