gpt4 book ai didi

elasticsearch - 确保在Elasticsearch中的索引上设置设置和映射

转载 作者:行者123 更新时间:2023-12-02 22:47:20 26 4
gpt4 key购买 nike

为了确保我的Elasticsearch索引具有正确的设置和映射,我使用以下代码:

if (client.admin().indices().prepareExists(Index).execute().actionGet().exists()) {            
client.admin().indices().prepareClose(Index).execute().actionGet();
client.admin().indices().prepareUpdateSettings(Index).setSettings(settings.string()).execute().actionGet();
client.admin().indices().prepareOpen(Index).execute().actionGet();
client.admin().indices().prepareDeleteMapping(Index).setType(Type).execute().actionGet();
client.admin().indices().preparePutMapping(Index).setType(Type).setSource(mapping).execute().actionGet();
} else {
client.admin().indices().prepareCreate(Index).addMapping(Type, mapping).setSettings(settings).execute().actionGet();
}

即使设置和映射已经很好,更新设置和映射也似乎有些愚蠢。我不知道如何以更聪明的方式做事情。有什么建议么?

非常感谢,

斯汀

最佳答案

您可以检索当前设置和映射,并在尝试更新它们之前确保它们正确。

ClusterStateResponse response = client.admin().cluster().prepareState()                
.setFilterAll()
.setFilterMetaData(false)
.setFilterIndices(index)
.execute().actionGet();
IndexMetaData indexMetaData = response.state().metaData().index(index);
Settings settings = indexMetaData.settings();
// Verify settings
MappingMetaData mapping = indexMetaData.mappings().get(type);
// Verify mapping

关于elasticsearch - 确保在Elasticsearch中的索引上设置设置和映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12370071/

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