Ho una domanda che assomiglia a questo:Query DSL - Incomprensione di filtri
{
"query": {
"constant_score":
"filter": {
"missing": {
"field": "parent_id"
}
}
}
},
"size": limit,
"from": offset
}
mio tipo ha un e un campo di parent_id
wall_id
. Come posso modificare questa query in modo da poter ottenere tutti i tipi che non hanno uno parent_id
e non hanno uno wall_id
? Non riesco a decifrarlo dai documenti. Grazie per l'aiuto offerto!
UPDATE
Ho la seguente query che funziona, ma non mi piace il catchall query
sul titolo. C'è un modo per farlo senza dover aggiungere un "ripostiglio
{
"query":{
"filtered":{
"query":{
"field":{ "title":"*" }
},
"filter":{
"and":{
"filters":[
{
"missing":{ "field":"parent_id" }
},
{
"missing":{ "field":"wall_id" }
}
]
}
}
}
}, "size":10, "from":0
}
Wow, che è cose grandi, ho dovuto aggiungere parentesi graffe attorno alla proprietà "filtro", ma funziona. Grazie! BTW, questo formato è così schizzinoso, c'è una fonte di buona documentazione a parte i documenti elasticsearch.org? – swatkins
Whoops, grazie Non c'è un'altra risorsa che io conosca, ma potresti voler controllare le diapositive per una presentazione che ho dato: http://www.elasticsearch.org/tutorials/2011/08/28/ query-dsl-explain.html Inoltre, non so quale client stai usando per parlare con ES, ma se hai familiarità con Perl, dai un'occhiata a SearchBuilder, che è un più compatto Perl 'sintassi ish che viene tradotta nella query standard ES dsl: https://metacpan.org/module/ElasticSearch::SearchBuilder – DrTech
Sto usando node.js e il modulo elasticsearchclient. È un grande aiuto. Grazie! – swatkins