Elasticsearch7.x版本_all与copy_to

1. copy_to

_all7.x版本已经被copy_to所代替,可用于满足特定场景。copy_to将字段数值拷贝到目标字段,实现类似_all的作用。

注意:
copy_to的目标字段不出现在_source

2. 实例

#设置 Copy to
PUT user_test
{
  "mappings": {
    "properties": {
      "firstName":{
        "type": "text",
        "copy_to": "fullName"
      },
      "lastName":{
        "type": "text",
        "copy_to": "fullName"
      }
    }
  }
}
 
PUT user_test/_doc/1
{
  "firstName":"Ruan",
  "lastName": "Yiming"
}
 
POST user_test/_search?q=fullName:(Ruan Yiming

3. 注意事项

如果创建ES索引时使用的是strict模式(dynamic:strict 不允许动态映射新的字段),则需要在创建索引时额外创建copy_to的字段,例如本实例中,如果索引user_test创建时设置为strict模式,则mapping信息中应加入fullName字段,否则插入数据时会报错。

你可能感兴趣的:(ElasticSearch)