Partage
  • Partager sur Facebook
  • Partager sur Twitter

[ElasticSearch] requete dans un should - nested

Sujet résolu
23 mai 2019 à 8:15:17

Bonjour à tous.

J'essaye d'appliquer une requête qui a pour but de faire une recherche global sur plusieurs champs conditionnel ( should ). et quelques champs que l'on doit avoir ( must) :

GET /index/_search
{
  "query": {
    "bool" : {
      "should" : [
        {  
          "nested":
           {
              "path":"toto1",
              "query":
              {
                "match":
                {
                  "toto1.sex":"M"
                }
              }
            } 
        },
        {  
          "nested":
           {
              "path":"tata2",
              "query":
              {
                "match":
                {
                  "tata2.description":"CAU"
                }
              }
            } 
        }
      ],
      "must" : {
        "term" : { "type" : "1" }
      },
      "minimum_should_match" : 1
    }
  }
}

Les champs sex et description sont bien nested.

Si j'applique un filtre avec un seul should ( donc uniquement avec la partie sex) c'est bon. Mais si je rajoute la deuxième condition ( celle avec description ), j'obtiens cette erreur :

"index": "index",
          "caused_by": {
            "type": "illegal_state_exception",
            "reason": "[nested] nested object under path [tata2] is not of nested type"

Merci.



-
Edité par Benzouye 23 mai 2019 à 9:15:34

  • Partager sur Facebook
  • Partager sur Twitter
27 mai 2019 à 14:35:29

Je te conseille d'utiliser un forum elastic search. Ils sont très actif.

Ton problème signifie que tes filtres sont incohérents. Cela provient d'une entrée qui n'est pas valide.

  • Partager sur Facebook
  • Partager sur Twitter