Elasticsearch PHP客户端 - 错误

时间:2016-12-21 20:36:56

标签: php elasticsearch

我正在使用PHP客户端。 我没有问题。

我的问题是得到建议。 这是我的代码:

$json = '
POST /my_search_engine/_suggest
{
  "my_engine":{
    "text":"'.$keyword.'",
    "completion":{
      "field":"title_suggest"
    }
  }
}';

$params ['body'] = $json;
$response = $client->suggest ( $params );

这是堆栈跟踪:

  

致命错误:未捕获的异常   带有消息的'Elasticsearch \ Common \ Exceptions \ BadRequest400Exception'   “{ “错误”:{ “ROOT_CAUSE”:[{ “类型”: “parse_exception”, “理由”:“失败   推导   xcontent “}],” 类型 “:” parse_exception “ ”理由“:” 失败   导出xcontent“},”status“:400}'in   /var/www/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:681   堆栈跟踪:
  #0 /var/www/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(659):   Elasticsearch \连接\连接 - > tryDeserializeError(阵列,   'Elasticsearch \ C ......')
  #1 /var/www/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(579):   Elasticsearch \连接\连接 - > tryDeserialize400Error(阵列)
  #2 /var/www/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(261):   Elasticsearch in    /var/www/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php 的   在线 682

以下是文档的“title_suggest”完成字段的外观。我正在存储一系列关键字。也许这就是问题? :

  

“title_suggest”:[               “会员”,               “更新”             ]

1 个答案:

答案 0 :(得分:0)

我必须通过从字符串中删除POST /my_search_engine/_suggest来使JSON有效。感谢@Val

这是最终结果:

$json = '
{
  "thoracic":{
    "text":"'.$keyword.'",
    "completion":{
      "field":"title_suggest"
    }
  }
}';