Json проблема при переходе сasticseach от 6 до 7 - PullRequest
1 голос
/ 22 января 2020

мы используемasticsearch для питания нашей классифицированной поисковой системы Listings360 Кения .

В версии 6 Elasticsearch во время поиска мы могли получить общее количество документов хитов, использованных для нумерации страниц, из этого json output

Array
(
    [took] => 3
    [timed_out] => 
    [_shards] => Array
        (
            [total] => 5
            [successful] => 5
            [skipped] => 0
            [failed] => 0
        )

    [hits] => Array
        (
            [total] => 30540
            [max_score] => 
            [hits] => Array
                (
                    [0] => Array
                        (

Теперь точно такой же поиск сasticsearch 7 дает следующий json output

Array
(
    [took] => 14
    [timed_out] => 
    [_shards] => Array
        (
            [total] => 1
            [successful] => 1
            [skipped] => 0
            [failed] => 0
        )

    [hits] => Array
        (
            [total] => Array
                (
                    [value] => 10000
                    [relation] => gte
                )

            [max_score] => 
            [hits] => Array
                (
                    [0] => Array
                        (

Вы можете видеть, что у меня нет [хитов] [всего ] больше, который используется для нумерации страниц.

Любая идея, как получить это обратно

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 22 января 2020

jap, это одно из критических изменений в 7.0 .

Посмотрите на параметр поиска track_total_hits, который заставляет счет всегда быть точным. Тем не менее, новый формат будет по-прежнему применяться, и вам необходимо исправить ваше приложение (вот почему это серьезное изменение).

Здесь - более подробная информация о новой структуре ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...