0

我有许多按日期划分的现有索引。例如:index_190901、index_190902、...

我有一个 API,它接受index_namedoc_id作为输入。用户希望通过输入fields, index_name,来更新索引中的一些文档doc_id

我正在尝试使用以下代码更新文档:

        updateRequest.index("invalid_daily_index")
          .type("type")
          .id("id")
          .doc(jsonMap)

如果用户输入现有索引,它可以正常工作,但如果用户输入不存在的索引,则将创建没有文档的新索引。

我知道我可以设置auto_create_index但我仍然想在插入新文档时自动创建索引。

检查索引是否存在client.indices.exists(request, RequestOptions.DEFAULT)是相当昂贵的。我不想检查每个请求

如何让 Elasticsearch 在我使用updateRequest.

4

1 回答 1

1

您可以通过设置集群false来阻止自动创建非现有索引的选项action.auto_create_index

PUT _cluster/settings
{
    "persistent" : { "action.auto_create_index” : "false" }
}

有关详细信息,请查看参考

于 2019-09-03T09:58:26.090 回答