Вы выбрали правильный путь, но я предполагаю, что вы пропустили скобки.
Вместо:
[
"query"=> [
"bool" => [
"filter" => [
"term" => [ "row.name" => $name ],
"term" => [ "row.origin" => $origin ]
]
]
],
"size" => "10"
]
Вы должны иметь:
[
"query"=> [
"bool" => [
"filter" => [
["term" => [ "row.name" => $name ]],
["term" => [ "row.origin" => $origin ]]
]
]
],
"size" => "10"
]
В вашем случае вы создали карту с двумя одинаковыми (term
) ключами:
[
"term" => [ "row.name" => $name ],
"term" => [ "row.origin" => $origin ]
]
Итак, второй term
перекрывает первый, и на самом деле вы отправили:
[
"term" => [ "row.origin" => $origin ]
]
Чтобы отправить несколько term
фильтров, вам нужно, чтобы они рассматривались как список:
[
["term" => [ "row.name" => $name ]],
["term" => [ "row.origin" => $origin ]]
]