Mam kwerendę, która wygląda tak:Zapytanie DSL - Nieporozumienie filtrów
{
"query": {
"constant_score":
"filter": {
"missing": {
"field": "parent_id"
}
}
}
},
"size": limit,
"from": offset
}
Mój typ ma i pole parent_id
wall_id
. Jak mogę zmodyfikować to zapytanie, aby uzyskać wszystkie typy, które nie mają parent_id
i nie mają wall_id
? Nie mogę tego odczytać z dokumentów. Dzięki za każdą oferowaną pomoc!
UPDATE
Mam następującą kwerendę, która działa, ale nie podoba mi się Wyłapywanie query
w tytule. Czy istnieje sposób to zrobić bez konieczności dodać „Wyłapywanie
{
"query":{
"filtered":{
"query":{
"field":{ "title":"*" }
},
"filter":{
"and":{
"filters":[
{
"missing":{ "field":"parent_id" }
},
{
"missing":{ "field":"wall_id" }
}
]
}
}
}
}, "size":10, "from":0
}
Wow, to Świetne rzeczy Musiałem dodać nawiasy klamrowe dookoła właściwości "filtra", ale działa. Dzięki! BTW, ten format jest tak finezyjny, czy istnieje źródło dobrej dokumentacji poza dokumentami elasticsearch.org? – swatkins
Whoops, thanks Nie znam żadnego innego zasobu, ale warto wypróbować slajdy prezentacji, którą dałem: http://www.elasticsearch.org/tutorials/2011/08/28/ query-dsl-explan.html Nie wiem też, jakiego klienta używasz do komunikowania się z ES, ale jeśli znasz Perl, spójrz na SearchBuilder, który jest bardziej kompaktowy. Więcej Perl "składnia ish, która jest tłumaczona na standardowe zapytanie ES dsl: https://metacpan.org/module/ElasticSearch::SearchBuilder – DrTech
Używam node.js i modułu elasticsearchclient. To świetna pomoc. Dzięki! – swatkins