首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSearch withJava API -使用从类或现有对象映射复杂的类

ElasticSearch withJava API -使用从类或现有对象映射复杂的类
EN

Stack Overflow用户
提问于 2019-01-21 17:23:56
回答 1查看 23关注 0票数 0

我的类"Transaction“很复杂,有很多嵌套的对象。有一种方法可以直接从类或现有对象定义映射吗?

注意:我正在对High-Level client使用rest API。如果只有一个低级客户端的解决方案,那也没问题。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-01-30 20:35:35

可能无法直接从类或现有对象定义映射。我所做的是将每个对象转换为JSON字符串,并将其存储为一个字符串字段。

代码:

代码语言:javascript
复制
// Using jackson
ObjectMapper mapper = new ObjectMapper();
String transactionAsJson = mapper.writeValueAsString(transaction); 
clientService.insertObjectToDb(transactionData.getHash(), transactionAsJson, 
             TRANSACTION_INDEX_NAME,  TRANSACTION_OBJECT_NAME );

public String insertObjectToDb(Hash hash, String objectAsJsonString, String index, String objectName) throws IOException {
        IndexResponse indexResponse = null;
        try {
            IndexRequest request = new IndexRequest(
                    index,
                    INDEX_TYPE,
                    hash.toString());
            request.source((jsonBuilder()
                    .startObject()
                    .field(objectName, objectAsJsonString)
                    .endObject()));
            indexResponse = restClient.index(request, RequestOptions.DEFAULT);
        } catch (Exception e) {
            log.error(e.getMessage());
        } finally {
            return indexResponse.toString();
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54286768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档