Однако в некоторых сценариях требуется поиск по нескольким полям. В таких случаях Elasticsearch предлагает решение, позволяющее копировать значения нескольких полей в одно поле. Для этого используется директива copy_to.
Рассмотрим пример с двумя полями: first_name и last_name. Чтобы применить поисковый запрос к обоим полям, используем директиву copy_to для создания копии значений полей в другом поле, например name. Вот пример маппинга:
1. PUT user_details
2. {
3. "mappings": {
4. "properties": {
5. "name": {
6. "type": "text"
7. },
8. "first_name": {
9. "type": "text",
10. "copy_to": "name"
11. },
12. "last_first": {
13. "type": "text",
14. "copy_to": "name"
15. }
16. }
17. }
18. }