2 votes

Requête Elasticsearch 6.2 / Kibana : Un champ doit exister et un champ ne doit pas exister

Mon souhait est de rechercher des documents dans lesquels le champ_a existe et le champ_b n'existe pas. Existe-t-il un moyen de le faire en utilisant la syntaxe de requête Lucene dans Kibana (champ Search dans la section Discover de Kibana).

J'ai essayé d'utiliser manquant_:champ_b sans succès ( Existe œuvre).

J'ai trouvé ceci, mais cela ne m'aide pas beaucoup :

GET /_search
{
    "query": {
        "bool": {
            "must_not": {
                "exists": {
                    "field": "user"
                }
            }
        }
    }
}

3voto

TechnocratSid Points 937

Pour la syntaxe de recherche lucene :

_exists_:field_a AND !_exists_:field_b

Pour la syntaxe de recherche d'elasticsearch :

{
 "query" : {
  "bool" : {
   "must" : [
     {"exists" : { "field" : "field_a" }}
   ],
   "must_not": [
     {"exists" : { "field" : "field_b" }}
   ]
  }
 }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X