我更新了一些索引映射,以将一个keyword
字段简单地添加到文本属性中,并重新加载了Kibana的索引模式。有人告诉我应该在最后运行此命令:
POST 11ad.pi.prod.test-case-18/_update_by_query?conflicts=proceed
完成后,我得到一个错误:
{
"statusCode": 504,
"error": "Gateway Time-out",
"message": "Client request timeout"
}
这是否意味着超时时间太短?如何更改?
答案 0 :(得分:0)
如果索引的大小很大,这是正常的。您无需查看任何超时,该任务仍在后台进行。
您可以通过运行GET _tasks?actions=*byquery&detailed
来查询查询更新的状态。
答案 1 :(得分:0)
您可以使用下面的代码更新TransportClient的连接超时值:
Settings.builder().put("transport.tcp.connect_timeout", "240s")
完整的TransportClient代码:
Settings settings = Settings.builder()
.put(ElasticSearchReservedWords.CLUSTER_NAME.getText(), LogHandlerConstants.CLUSTER_NAME)
.put(ElasticSearchReservedWords.LISTENER_TRANSPORT_SNIFF.getText(), true)
.put("transport.tcp.connect_timeout", "240s")
.build();
Client transportClient = new PreBuiltTransportClient(settings)
.addTransportAddresses(
new TransportAddress("127.0.0.1"), "9300"));
每个Elasticsearch版本具有不同的配置密钥。您可以阅读本文档以了解其他可以更改的设置:
https://www.elastic.co/guide/en/elasticsearch/reference/6.4/modules-transport.html
答案 2 :(得分:0)
更改 kibana.yml。 添加行:
elasticsearch.requestTimeout: 90000 # default 30s