我有许多按日期划分的现有索引。例如:index_190901,index_190902,...
我有一个API,它以index_name
和doc_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)
是否存在索引非常昂贵。我不想检查每个请求
当我使用updateRequest
时如何使Elasticsearch不创建新索引。
答案 0 :(得分:1)
通过将false
设置为群集的action.auto_create_index
设置,可以阻止自动创建不存在的索引的选项
PUT _cluster/settings
{
"persistent" : { "action.auto_create_index” : "false" }
}
有关详细信息,请查看reference