我刚刚意识到 ES 有一个 _/_template
和一个 _/_index_template
。
它们有什么用?
我正在使用代码:
PutIndexTemplateRequest ngramTemplate = new PutIndexTemplateRequest("ngram-template")
.patterns(Arrays.asList("resourcetable-*", "termconcept-*"))
.settings(Settings.builder().put("index.max_ngram_diff", 50));
我不明白为什么我的 ngram-template
没有出现在 _/_index_template
上。
之后,我就在寻找_/_template
......
它们有什么区别?
最佳答案
Elasticsearch 在版本 7.8 中从 _template
切换到 _index_template
。
_template
在 7.8 中已弃用,但仍然可用。如果索引同时匹配旧版模板 (_template) 和可组合模板 (_index_template),elasticsearch 将使用可组合模板。
遗留模板和可组合模板之间的主要区别在于,遗留模板是静态的,如果您想更改所有模板中的字段,则必须编辑所有模板,但新的 _index_template 是模块化的,要更改所有模板中的设置,您只需更改一个组件。
关于ElasticSearch:_template 与 _index_template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67802397/