La meilleure façon de vérifier si un champ existant dans un document Elasticsearch
Peut-être est une question très stupide, Quelle est la meilleure façon de vérifier si un champ d'un document dans elasticsearch existe? Je ne trouve rien dans la documentation.
Par exemple, si ce document n'a pas de champ/de la clé "prix" je ne veux pas retourner dans le résultat.
{
"mise à jour": "2015/09/17 11:27:27",
"nom": "l'Oeil de l'Ombre",
"format": "1.5 g /0.05 oz",
}
Ce que je peux faire?
Grâce
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
existe
filtre combiné avec unbool/doit
filtre comme ceci:OBSOLÈTE (depuis ES5) Vous pouvez également utiliser le
manquant
filtre combiné avec unbool/must_not
filtre:price
champ, alors il ne peut pas avoir unprice
valeur, de sorte que le document sansprice
champ ne sera pas égalé.exists
La
exists
filtre a été remplacé parexists
requête ES 2.1, si le travail est le même. Aussi, l'absence de filtre est supprimé, et manquant requête obsolète.Pour obtenir tous les docs qui ont un domaine particulier,
et pour obtenir tous les docs qui ne dispose PAS d'un domaine particulier, l'utiliser avec
must_not
comme ceÉlastique docs: https://www.elastic.co/guide/en/elasticsearch/reference/2.3/query-dsl-missing-query.html
Vous pouvez utiliser existe filtre:
Ce qui concerne,
Alain
Vous pouvez directement faire
Si vous voulez ajouter un peu de match de trop, alors vous pouvez aller pour
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-query.html
source: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-query.html