in kibana 5.x, from the source code we can see:
function addToBody() {
state.body = state.body || {};
// ignore if we already have a value
if (state.body[key] == null) {
if (key === 'query' && _.isString(val)) {
val = { query_string: { query: val }};
}
state.body[key] = val;
}
}
if we use searchSource.set('query', '#value#'), #value# will be used for query_string, if we wanna write some complex condition by dsl, how?