Я получу входные данные фильтра от внешнего интерфейса через узел js, некоторые могут быть нулевыми или пустыми, но в фильтре запросаasticsearch все поле должно присутствовать. Как получить ответ, даже если входные данные для некоторых фильтров пусты?
elasticClient.search({
index: 'pubmed-index',
type: 'pubmed-paper',
body: {
query: {
bool: {
must: {
match: {
Abstract: `${searchKeyword}`
}
},
filter:
{"or":[{
term:
{
"Publication Type": `${searchPublicationType}`
}},
{
"range": {
"Date Completed": {
"gte" :`${searchGreaterYear}||/y`,
"lte" : `${searchLesserYear}||/y`,
"format" :"yyyy"
}
}
}
]}
}
}
}
}).then(function (resp) {
console.log(resp.hits.hits);
return res.json(resp.hits.hits)
}, function (err) {
console.log(err.message);
return res.json(err.message)
});
Мне нужен вывод либо для типа публикации, либо для даты завершения, если какое-либо из полей отсутствует