1 Pluspunkt 0 Minuspunkte

Wie kann ich einen ganz normalen "match_all" Query in PHP machen?

$query = [
    'query' => [
        'match_all' => []
    ]
];

PHP meldet dann einen Fehler.

Array
(
    [error] => Array
        (
            [root_cause] => Array
                (
                    [0] => Array
                        (
                            [type] => parsing_exception
                            [reason] => [match_all] query malformed, no start_object after query name
                            [line] => 1
                            [col] => 23
                        )

                )

            [type] => parsing_exception
            [reason] => [match_all] query malformed, no start_object after query name
            [line] => 1
            [col] => 23
        )

    [status] => 400
)
von  

1 Antwort

1 Pluspunkt 0 Minuspunkte

Eine "match_all" Abfrage benötigt kein zusätzliches leeres Array. Stattdessen reicht einfach "match_all" als ein leeres Objekt zu übergeben.

$query = [
    'query' => [
        'match_all' => (object) []
    ]
];
von (732 Punkte)