Copy_to используется для копирования значений нескольких полей в одно, но при этом это поле не будет выводиться в _score.

Представим ситуацию что у вас есть 3 поля, и вы часто ищите информацию по всем этим полям. И чтобы не писать каждый раз запросы на все поля вы можете объединить эти 3 поля в одно с помощью Copy_to.

Скопируем значения полей name, surname, city в everything. И попробуем поискать в everything человека с именем Pavel, проживающего допустим в Astana. Когда вы индексируете документ, значения трех разных полей добавляются в инвертированный индекс поля everything.

#создаём index
PUT my-index
{
  "mappings": {
    "properties": {
      "name": {
        "type":   "text",
        "copy_to": "everything"
      },
      "surname": {
        "type":   "text",
        "copy_to": "everything"
      },
      "cty": {
        "type":   "text",
        "copy_to": "everything"
      },
      "everything": {
        "type":   "text"
      }
    }
  }
}
PUT my-index/_doc/2
{
  "name": "Ivan",
  "city": "Astana",
  "surname": "Bubnov"
} 
PUT my-index/_doc/3
{
  "name": "Ivan",
  "city": "Astana",
  "surname": "Buba"
} 
GET my-index/_search
{
  "query": {
    "match": {
      "everything": "ivan astana"
    }
  }
}

В выводе получим:

	"hits" : [
      {
        "_index" : "my-index",
        "_type" : "_doc",
        "_id" : "2",
        "_score" : 0.18232156,
        "_source" : {
          "name" : "Ivan",
          "city" : "Astana",
          "surname" : "Bubnov"
        }
      },
      {
        "_index" : "my-index",
        "_type" : "_doc",
        "_id" : "3",
        "_score" : 0.18232156,
        "_source" : {
          "name" : "Ivan",
          "city" : "Astana",
          "surname" : "Buba"
        }
      }
    ]