gpt4 book ai didi

java - 通过高级客户端写入elasticsearch - 在文档上设置时间戳

转载 作者:行者123 更新时间:2023-12-02 09:33:05 25 4
gpt4 key购买 nike

使用high level client我能够将 KV 对(作为文档)发送到弹性。我可以使用curl 查询这些,这样我就知道它们在其中。它们缺少的是相当于logstash 似乎添加的“@timestamp”值。我还没有找到该字段的语法是什么(或者合适的字段是什么)。

纪元?泰兹?

最佳答案

FWIW - 如果您希望这些值在 kibana 中可用,只需使用 SimpleDateFormat 即可,如下所示:

    Date date = new Date(System.currentTimeMillis());

// Conversion
SimpleDateFormat sdf;
sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
String stamp = sdf.format(date);

然后将其添加到您的 HashMap 作为“@timestamp”:

    // write to elastic
RestHighLevelClient client = getClient();
Map<String, Object> mapObject = new HashMap();
mapObject.put("type", "consumer_test");
mapObject.put("test.group", group);
mapObject.put("test.topic", topic);
mapObject.put("test.sum", sumLag);
mapObject.put("@timestamp", stamp);

IndexRequest indexRequest = new IndexRequest(index).source(mapObject);

try {
IndexResponse indexResponse = client.index(indexRequest, RequestOptions.DEFAULT);
client.close();
} catch(Exception e) {
LOGGER.error("exception from indexing request", e);
return false;
}

关于java - 通过高级客户端写入elasticsearch - 在文档上设置时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57780180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com