У меня есть массив полей и значений, которые я хочу передать в Amazon CloudSearchDomain в качестве аргумента filterQuery, используя один или оба оператора «и» или «или».
Например, я хотел бы передать одно поле «и» (категория) и второе поле «и», состоящее из нескольких значений «или»:
$filters = array(
'category' => 'cat name',
'colour' => array(
'red',
'green'
)
);
Я пытался:
$results = $cloudSearchClient->search(array(
'filterQuery' => "(and(category:'cat name') (or (colour:'red') (colour:'green')))"
));
Таким образом, поиск найдет элементы, которые соответствуют «имени кошки» И имеют красный ИЛИ зеленый цвет.
Кажется, я не могу передать правильный синтаксис вручную, а затем мне также нужно хорошее чистое решение для преобразования массива PHP в правильный синтаксис AWS, пожалуйста.