ElasticSearch 6,带有动态索引映射的copy_to

也许我缺少一些简单的东西,但仍然无法弄清楚以下内容:

从ES

6.x开始,该_all字段已弃用,建议使用copy_to说明(https://www.elastic.co/guide/en/elasticsearch/reference/current/copy-

to.html)。

但是,给我的印象是,您需要显式指定要复制到自定义_all字段的字段。但是,如果我使用动态映射,则我不事先知道字段,因此不能使用copy_to

我可以通过什么方式告诉ES将所有遇到的字段复制到自定义_all字段,以便可以在所有字段中进行搜索?

提前致谢!

回答:

您可以使用动态模板。基本上创建一个索引,添加自定义catch_all字段,然后为所有字符串字段指定该特定属性。(以前没有做过,但是我相信这是现在的唯一方法。因为catch_all当您放置动态模板时该字段已经存在,所以它不会与catch_all-

匹配,这意味着catch_all不会复制到自身,而是对其进行检查自己确定)。

PUT my_index

{

"mappings": {

"_doc": {

"dynamic_templates": [

{

"strings": {

"match_mapping_type": "string",

"mapping": {

"type": "text",

"copy_to": "catch_all"

}

}

}

]

}

}

}

以上是 ElasticSearch 6,带有动态索引映射的copy_to 的全部内容, 来源链接: utcz.com/qa/421510.html

回到顶部