existiert ich eine Elasticsearch Abfrage tue, dass alle Dokument herausfiltert, in denen ein bestimmtes FeldElasticsearch: Filter Dokumente auf fehlendes Feld, es sei denn anderes Feld
über fehltquery: {
filtered: {
filter: {
bool: {
should: {
bool: {
must: {
term: 'someCondition'
},
must_not: {
missing: {field: 'somefield'}
}
}
}
}
}
}
}
Dies funktioniert wie erwartet. Jetzt muss ich diesen missing
Filter bedingt machen, damit er nur zusammenpasst, wenn ein anderes Feld nicht existiert.
habe ich versucht, meine must_not
einen should
wie diese Umwandlung:
should: {
missing: {field: 'somefield'},
exists: {'field': 'somotherfield'}
}
Aber das scheint nicht zu funktionieren.
Um zu klären: "von docs SELECT * WHERE (somefield NOT NULL ODER someotherfield IS NOT NULL)"
Und wenn Sie es schreiben, Sie plötzlich sehen wie es sein soll ... 'sollte: [[{existiert: {field: somefield}}, {exists: {field: 'someotherfield'}}]]' –