Elastisearch无法进行JSON编码问题

时间:2018-12-19 13:18:07

标签: php laravel elasticsearch

我正在进行弹性搜索,当我将此电话号码数组传递给弹性搜索以通过电话号码搜索用户时,我有1000个电话号码

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
          }
        }
      ]
    }
  }
}

我不知道我在哪里做错。客户端初始化或编写elasticserch查询。我搜索了此问题,但找不到有用的解决方案,或者可能是我不清楚。但是我仍然坚持如何解决这个问题。建议任何有用的链接或解决方案。 谢谢

0 个答案:

没有答案