J'ai une requête qui ressemble à ceci:DSL Requête - Malentendu des filtres
{
"query": {
"constant_score":
"filter": {
"missing": {
"field": "parent_id"
}
}
}
},
"size": limit,
"from": offset
}
Mon type a une parent_id
et un champ wall_id
. Comment puis-je modifier cette requête afin que je puisse obtenir tous les types qui n'ont pas parent_id
et qui n'ont pas de wall_id
? Je n'arrive pas à le déchiffrer des docs. Merci pour toute aide offerte!
MISE À JOUR
J'ai la requête suivante qui fonctionne, mais je n'aime pas le catchall query
sur le titre. Est-il possible de le faire sans avoir à ajouter un « catchall
{
"query":{
"filtered":{
"query":{
"field":{ "title":"*" }
},
"filter":{
"and":{
"filters":[
{
"missing":{ "field":"parent_id" }
},
{
"missing":{ "field":"wall_id" }
}
]
}
}
}
}, "size":10, "from":0
}
Wow, c'est J'ai dû rajouter des accolades autour de la propriété "filter", mais ça marche ... Merci BTW, ce format est si compliqué, y a-t-il une bonne documentation en dehors des docs de elasticsearch.org? – swatkins
Oups, merci Il n'y a pas d'autre ressource que je connaisse, mais vous voudrez peut-être consulter les diapositives pour une présentation que j'ai donnée: http://www.elasticsearch.org/tutorials/2011/08/28/ query-dsl-explain.html En outre, je ne sais pas quel client vous utilisez pour parler à ES, mais si vous êtes familier avec Perl, jetez un oeil à la SearchBuilder, qui est un plus compact Perl La syntaxe ish qui est traduite dans la requête ES standard dsl: https://metacpan.org/module/ElasticSearch::SearchBuilder – DrTech
J'utilise node.js et le module elasticsearchclient. C'est une aide précieuse. Merci! – swatkins