【问题标题】:Failed to search on AWS Elasticsearch using python elasticsearch returns 411使用 python elasticsearch 在 AWS Elasticsearch 上搜索失败返回 411
【发布时间】:2018-12-30 20:53:07
【问题描述】:

我尝试使用 python 客户端 elasticsearch 通过 AWS elasticsearch 搜索数据

我可以创建索引,加载数据。但搜索不起作用。

请帮我解决这个问题。

这里是示例代码:

es.search(index="test_index", size=2, body={"query": {"match_all": {}}})

错误:

来自服务器的不可解码的原始错误响应:预期值:第 2 行第 1 列(字符 1) TransportError(411, '\n\n\n\n错误:无法检索请求的 URL\n\n\n\n

错误

\n

无法检索到请求的 URL

\n\n
\n\n\n

无效请求错误在尝试处理请求时遇到:

\n\n\n
GET /test_index/_search?size=2 HTTP/1.1\nAccept-Encoding: identity\r\nContent-Type: application/json \r\n内容长度:28\r\nx-amz-日期:20180723T114857Z\r\nx-amz-content-sha256:328683bef5f07407759e09894e2785f4017bcd8914592ce04d87cc45b4d3be35\r\n授权:**搜索-未发布pkpbravqd4djbi3kjtihsra5ma.us-east-2.es.amazonaws.com\r\n
\n\n\n

一些可能的问题是:

\n
    \n

    缺失或未知的请求方法。

    \n

    缺少 URL。

    \n

    缺少 HTTP 标识符 (HTTP/1.0)。

    \n
  • 请求太大。

  • \n
  • POST 或 PUT 请求缺少内容长度。

  • \n
  • 主机名中有非法字符;不允许使用下划线。

  • \n
  • HTTP/1.1 期望:正在从 HTTP/1.0 软件请求功能。

  • \n
\n\n

您的缓存管理员是 admin@localhost。

\n
\n\n\n\nif (\'GET\' != \'[unknown method]\') document.getElementById(\'missing-method\').style.display = \'none\';\nif (\'http://search-testelasticseach-pkpbravqd4djbi3kjtihsra5ma.us-east-2.es.amazonaws.com/test_index/_search?size=2\' != \'[no URL]\') document.getElementById(\' missing-url\').style.display = \'none\';\nif (\'http\' != \'[unknown protocol]\') document.getElementById(\'missing-protocol\').style .display = \'none\';\n\n\n
\n\n

由 localhost (squid/3.5.23) 于 2018 年 7 月 23 日星期一 11:48:57 GMT 生成

\n\n\n\n')

【问题讨论】:

    标签: python elasticsearch elasticsearch-aggregation elasticsearch-query aws-elasticsearch


    【解决方案1】:

    Elasticsearch constructor 中使用send_get_body_as='POST'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      • 2019-11-30
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      相关资源
      最近更新 更多