Elastisearch Не удалось JSON кодировать проблему - PullRequest
0 голосов
/ 19 декабря 2018

Я работаю над эластичным поиском, и у меня есть 1K телефонных номеров, когда я передаю этот массив телефонных номеров в эластичный поиск для поиска пользователей по телефонным номерам, это дает мне исключение

Failed to JSON encode /var/app/current/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Serializers/SmartSerializer.php

Ниже приведена инициализация моего клиента Elasticsearch

$client = ClientBuilder::create()->setHosts([$host])->build();

И мой рабочий запрос в Elasticsearch

{
  "_source": [
    "id"
  ],
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "type": "user"
          }
        },
        {
          "bool": {
            "should": [
              {
                "prefix": {
                  "phone": {
                    "value": "923047698099"
                  }
                }
              },
              {
                "prefix": {
                  "phone": {
                    "value": "92313730320"
                  }
                }
              },
              .
              .
              .
            ]
          }
        }
      ],
      "must_not": [
        {
          "has_child": {
            "type": "blocked",
            "query": {
              "term": {
                "user_id": "u-2"
              }
            }
          }
        },
        {
          "has_child": {
            "type": "block",
            "query": {
              "term": {
                "user_id": "u-2"
              }
            }
          }
        },
        {
          "term": {
            "db_id": 2
          }
        }
      ]
    }
  }
}

Я не знаю, где я делаю ошибку.Либо при инициализации клиента, либо при написании запросаasticserch.Я искал эту проблему, но не нашел полезного решения, или, может быть, я не совсем понял.Но все же я застрял в этом вопросе, как решить эту проблему.Предложите любую полезную ссылку или решение.Спасибо

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