[英]Elasticsearch PHP Client - Bad
I'm using the PHP client. 我正在使用PHP客户端。 I can search no problem.
我可以搜索没有问题。
My problem is getting suggestions. 我的问题是得到建议。 Here is my code:
这是我的代码:
$json = '
POST /my_search_engine/_suggest
{
"my_engine":{
"text":"'.$keyword.'",
"completion":{
"field":"title_suggest"
}
}
}';
$params ['body'] = $json;
$response = $client->suggest ( $params );
Here is the stack trace: 这是堆栈跟踪:
Fatal error : Uncaught exception 'Elasticsearch\\Common\\Exceptions\\BadRequest400Exception' with message '{"error":{"root_cause":[{"type":"parse_exception","reason":"Failed to derive xcontent"}],"type":"parse_exception","reason":"Failed to derive 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 Stack trace:
致命错误 :消息为“ {{error“:{” root_cause“:[{” type“:” parse_exception“,” reason“:”未能派生xcontent“}的消息未捕获的异常'Elasticsearch \\ Common \\ Exceptions \\ BadRequest400Exception',] / var / www / ats-site-lib / ats-site-thoracic / web / app / es_search中的“ type”:“ parse_exception”,“ reason”:“无法导出xcontent”},“ status”:400}' /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\\Connections\\Connection->tryDeserializeError(Array, 'Elasticsearch\\C...')#0 /var/www/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(659):Elasticsearch \\ Connections \\ Connection- > 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\\Connections\\Connection->tryDeserialize400Error(Array)#1 /var/www/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(579):Elasticsearch \\ Connections \\ Connection- > 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 on line
682
#2 /var/www/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(261):/ var / www中的 Elasticsearch
/ats-site-lib/ats-site-thoracic/web/app/es_search/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php在第
682行
Here is how a document's "title_suggest" completion field looks. 这是文档的“ title_suggest”完成字段的外观。 I am storing an array of keywords.
我存储了一组关键字。 maybe this is the problem?
也许这是问题吗? :
:
"title_suggest": [ "Membership", "Renewal" ]
“ title_suggest”:[“会员资格”,“续订”]
I had to make the JSON valid by removing POST /my_search_engine/_suggest
from the string. 我必须通过从字符串中删除
POST /my_search_engine/_suggest
来使JSON有效。 Thanks to @Val 感谢@Val
This is the end result: 这是最终结果:
$json = '
{
"thoracic":{
"text":"'.$keyword.'",
"completion":{
"field":"title_suggest"
}
}
}';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.