Я могу передать необязательные параметры в мой es-запрос. Если параметры не передаются, es-запрос должен просто возвращать все, не учитывая фильтр параметров.
Что я получил до сих пор:
{
"query": {
"bool": {
"must": [
{
"terms": {
"person": [
"donald trump",
"bernie sanders"
]
}
},
{
"range": {
"date": {
"gte": "now-7d",
"lte": "now"
}
}
}
],
"should": {
"terms": {
"source_name": [
"nytimes.com"
]
}
}
}
}
}
Поле source_name
должно быть необязательным, это означает, что если я передам издателей в качестве параметра, то он должен вернуть все, что он найдет с ним, и если никакие параметры издателя не передаются, тогда он должен игнорировать source_name
и просто возвращать все.
Как мне этого добиться?