Я хочу передать условие И в эластичном поисковом запросе. если ‘manuf_id’ и ‘network_id’> 0, но это не работает должным образом.
"query" => [
"bool" => [
"must" => [
[
"multi_match" => [
"fields" => ["prod_name", "prod_seo_name"],
"type" => "phrase_prefix",
"query" => $query
]
],
]
]
]
if ($manufacture > 0 && $network > 0) {
$params['body']['query']['bool']['must'][] = [
'term' => ['manuf_id' => $manufacture],
'term' => ['network_id' => $network],
];
}
Любая помощь или ссылка будет здорово.
Вы должны добавить каждый term
ограничение отдельно:
if ($manufacture > 0 && $network > 0) {
$params['body']['query']['bool']['must'][] = [
'term' => ['manuf_id' => $manufacture]
];
$params['body']['query']['bool']['must'][] = [
'term' => ['network_id' => $network]
];
}
Других решений пока нет …