我正在使用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”:[ “会员”, “更新” ]
答案 0 :(得分:0)
我必须通过从字符串中删除POST /my_search_engine/_suggest
来使JSON有效。感谢@Val
这是最终结果:
$json = '
{
"thoracic":{
"text":"'.$keyword.'",
"completion":{
"field":"title_suggest"
}
}
}';