【问题标题】:Errors upon searching in Elasticsearch using PHP使用 PHP 在 Elasticsearch 中搜索时出错
【发布时间】:2017-11-06 07:34:53
【问题描述】:

我正在尝试使用 PHP 搜索我的索引。我已经下载了供应商文件并成功建立了连接。但是,我收到了一些错误。但这些错误并不总是发生。如果我刷新浏览器几次,我会得到正确的输出。这是我的代码:

require_once 'init.php';

$json = '{"aggs": { "group_by_date": { "terms": { "field": "arrivalDate" } } } }';

    $params = [
        'index' => 'pickups',
        'type' => 'external',
        'body' => $json 
        ];
    
$results = $es->search($params);

echo $results['hits']['total'];

init.php 是 Elasticsearch 的连接文件。刷新屏幕时可能会出现 2 种不同的输出。第一个输出是正确的输出。另一个只是错误。以下是错误:

致命错误:未捕获 Elasticsearch\Common\Exceptions\Missing404Exception: {"statusCode":404,"error":"Not Found"} in C:\wamp64\www\DataAggregation\vendor\elasticsearch\elasticsearch\src\Elasticsearch \Connections\Connection.php 在第 602 行

Elasticsearch\Common\Exceptions\Missing404Exception: {"statusCode":404,"error":"Not Found"} 在 C:\wamp64\www\DataAggregation\vendor\elasticsearch\elasticsearch\src\Elasticsearch\Connections\Connection .php 在第 602 行

致命错误:未捕获 Elasticsearch\Common\Exceptions\BadRequest400Exception: in C:\wamp64\www\DataAggregation\vendor\elasticsearch\elasticsearch\src\Elasticsearch\Connections\Connection.php 行 610

这些错误的原因是什么?我该如何解决?

【问题讨论】:

    标签: php elasticsearch


    【解决方案1】:

    好像你还没有启动web server,启动ES web server连接php吧。

    【讨论】:

    • 如果我错了,请纠正我,当您说运行 ES Web 服务器时,您的意思是在命令行中运行 elasticsearch.bat?
    • 我正在运行 elasticsearch,但是,它仍然显示相同的错误。我在 localhost:81 中使用 WAMP 服务器运行它
    • 运行 elasticsearch.bat。它将向您显示正在运行的 es 服务的端口号。在浏览器中打开带有 ES 端口的 localhost,它会显示 ES 主页。
    • Elasticsearch localhost 端口号是 9200,我应该将端口 9200 设为 PHP 的 WAMP 服务器的端口吗?
    • 不,您不应该更改 WAMP 服务器的端口。本地主机:9200 工作吗? 9200 是 ES 的默认端口。如果您可以看到 ES 主页,则 ES 工作正常,您应该检查连接设置以连接 PHP
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 2013-03-09
    • 2017-03-16
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多