Использование match и filter

Помогите пожалуйста.
Нужно делать полнотекстовый поиск по json полю

 sql_attr_json = client_users

дело в том что json поле массив.
нашел выход через ANY

ANY(client_user.login = "test" FOR client_user IN client_users)

вот код PHP

$client = new \Manticoresearch\Client($config);
$search = new \Manticoresearch\Search($client);
$search->setIndex('clients');
$search->expression('cond1', 'ANY(client_user.login = "'.$query.'" FOR client_user IN client_users)');
$bool = new \Manticoresearch\Query\BoolQuery();
$bool->should(new \Manticoresearch\Query\Equals('cond1', 1));
$bool->should(new \Manticoresearch\Query\QueryString($query.'*'));
$search->search($bool);
$results = $search->get();

print '<pre>'.print_r($search->getBody(), true).'</pre>';

генерируется следующий массив

Array
(
    [index] => clients
    [script_fields] => Array
        (
            [cond1] => Array
                (
                    [script] => Array
                        (
                            [inline] => ANY(client_user.login = "test" FOR client_user IN client_users)
                        )

                )

        )

    [query] => Array
        (
            [bool] => Array
                (
                    [should] => Array
                        (
                            [0] => Array
                                (
                                    [equals] => Array
                                        (
                                            [cond1] => 1
                                        )

                                )

                            [1] => Array
                                (
                                    [query_string] => test*
                                )

                        )

                )

        )

)

и результат пустой. Однако, если же убрать одно из условий то все работает хорошо.
Если перевести на язык sql - то это примерно так:

select login, name, ANY(client_user.login = 'test' FOR client_user IN client_users) as cond1 from clients where cond1 = 1 OR match('test*');

выдается ошибка

ERROR 1064 (42000): sphinxql: syntax error, unexpected ‘(’ near ‘(‘test*’)’

Подскажите как быть?
Как либо сделать полнотекстовый поиск по json массиву, либо использовать OR/SHOULD

Нужно делать полнотекстовый поиск по json полю

Полнотекстовый поиск нельзя делать по json полю, можно только по полнотекстовому полю.
Полнотекстовый поиск - это когда вы делаете MATCH() или аналог через http.

MATCH() OR не поддерживается.

Как либо сделать полнотекстовый поиск по json массиву

Вытаскивайте значения из json в полнотекстовое поле/поля и делайте поиск по ним.

спасибо. Вы навели меня на мысль - то есть я просто могу перебрать весь массив json и собрать это все в одну большую строку, сконкатенировать через пробел скажем? и результат будет тот, который мне нужен?

Вы можете попробовать и просто json в полнотекстовое поле вставить, скобочки всё равно отсекутся.

Супер, спасибо за решение