# Requête sur plusieurs champs dans un embed object

**URL:** <https://discuss.elastic.co/t/requete-sur-plusieurs-champs-dans-un-embed-object/44727>\
**Category:** Discussions en français\
**Created:** [March 17, 2016, 3:33pm UTC](https://discuss.elastic.co/t/requete-sur-plusieurs-champs-dans-un-embed-object/44727 "2016-03-17T15:33:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![fkukus](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fkukus/32/8532_2.png) [@fkukus](https://discuss.elastic.co/u/fkukus)\
**Post date:** [March 17, 2016, 3:33pm UTC](https://discuss.elastic.co/t/requete-sur-plusieurs-champs-dans-un-embed-object/44727/1 "2016-03-17T15:33:23Z")

</div>

Bonjour,

Je ne trouve pas comment faire une requête sur plusieurs champs d'un même embeded object.

## Un exemple

Voici mes données :

```
"hits": [
   {
      "_type": "company",
      "_score": 5.35856,
      "_source": {
         "ref": "123",
         "name": "First company",
         "sectors": [
            {
               "sector": {
                  "ref": "logistics",
                  "name": "Logistics"
               },
               "ref": "123-logistics",
               "priority": 0,
               "description": "Lorem ipsum"
            }
         ]
      }
   },
   {
      "_type": "company",
      "_score": 2.5752563,
      "_source": {
         "ref": "456",
         "name": "Second company",
         "sectors": [
            {
               "sector": {
                  "ref": "logistics",
                  "name": "Logistics"
               },
               "ref": "456-logistics",
               "priority": 0,
               "description": "Lorem ipsum"
            },
            {
               "sector": {
                  "ref": "associated_services",
                  "name": "Associated services"
               },
               "ref": "456-associated_services",
               "priority": 1,
               "description": "Lorem ipsum"
            }
         ]
      }
   },
   {
      "_type": "company",
      "_score": 2.413827,
      "_source": {
         "ref": "789",
         "name": "Third company",
         "sectors": [
            {
               "sector": {
                  "ref": "engineering",
                  "name": "Engineering"
               },
               "ref": "789-engineering",
               "priority": 0,
               "description": "Lorem ipsum"
            },
            {
               "sector": {
                  "ref": "construction",
                  "name": "Construction"
               },
               "ref": "789-construction",
               "priority": 1,
               "description": "Lorem ipsum"
            },
            {
               "sector": {
                  "ref": "logistics",
                  "name": "Logistics"
               },
               "ref": "789-logistics",
               "priority": 2,
               "description": "Lorem ipsum"
            }
         ]
      }
   }
]

```

Voici ce que je souhaite remonter : toutes les compagnies ayant comme référence secteur "logistics" (champ "sectors.sector.ref") et la priorité de ce secteur à 2 (champ "sectors.priority").

En faisant une requête bool "classique" , ES remonte (à juste titre), les documents qui ont au moins un secteur "logistics" et au moins un secteur avec la priorité 2. Mais je voudrais faire une liaison entre ces deux champs.  
(J'espère être clair)

Merci d'avance  
François

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 17, 2016, 9:19pm UTC](https://discuss.elastic.co/t/requete-sur-plusieurs-champs-dans-un-embed-object/44727/2 "2016-03-17T21:19:46Z")

</div>

Je pense qu'il faut que tu utilises des champs de type `nested` pour le champ `sectors`.

---

<div class="post-metadata">

**Author:** ![fkukus](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fkukus/32/8532_2.png) [@fkukus](https://discuss.elastic.co/u/fkukus)\
**Post date:** [March 18, 2016, 8:56am UTC](https://discuss.elastic.co/t/requete-sur-plusieurs-champs-dans-un-embed-object/44727/3 "2016-03-18T08:56:00Z")

</div>

Merci David. Cela fait changer le mapping en profondeur.  
Je vais tenter une alternative : utiliser le paramètre copy\_to pour concaténer les champs sector.ref et priority.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:49pm UTC](https://discuss.elastic.co/t/requete-sur-plusieurs-champs-dans-un-embed-object/44727/4 "2017-07-06T13:49:03Z")

</div>


