问题标签 [aws-elasticsearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1043 浏览

amazon-web-services - 基于位置的 AWS AppSync 事件订阅

我了解如何AppSync通过附加链接到的解析器来执行地理空间查询,以查找距 gps 坐标的距离范围内的事件ElasticSesarch,如此处所述

但是,如果我希望我的客户也订阅在此距离范围内创建的新事件怎么办?

  1. 用户订阅了一个位置
  2. 如果在该位置附近创建了事件,则通知用户

我知道我可以将解析器附加到订阅类型,但是当我只想通过检查 gps 坐标之间的距离来过滤订阅时,它似乎迫使您提供数据源。

0 投票
0 回答
2049 浏览

python - Python 连接 AWS ElasticSearch 域并上传、检索数据

我已经在 AWS Elasticsearch Service 中设置了 elasticsearch 域。它具有类似“ https://search-testelasticseach-xxxxxxxxxxxxxxxxxxx.us-east-2.es.amazonaws.com ”的端点。在该弹性搜索域中添加策略后,我正在尝试使用 IAM 用户连接 AWS Elasticsearch 域端点。

错误说

"Max retries exceeded with url: //search-testelasticseach-XXXXXXXXXXXXXXX.us-east-2.es.amazonaws.com:443/ (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x105111d68>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))) caused by: ConnectionError(HTTPSConnectionPool(host='https', port=443): Max retries exceeded with url: //search-testelasticseach-pkpbravqd4djbi3kjtihsra5ma.us-east-2.es.amazonaws.com:443/ (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x105111d68>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')))"

代码片段:

0 投票
1 回答
944 浏览

python - 使用 python elasticsearch 在 AWS Elasticsearch 上搜索失败返回 411

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

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

请帮我解决这个问题。

这是示例代码:

错误:

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

错误

\n

所请求的网址无法检索

\n\n
\n\n\n

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

\n\n\nn\n\n

一些可能的问题是:

\n
    \n

    缺少或未知的请求方法。

    \n

    缺少网址。

    \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\' != \'[未知方法]\') document.getElementById(\'missing-method\').style.display = \'none\'; \nif (\' http://search-testelasticseach-pkpbravqd4djbi3kjtihsra5ma.us-east-2.es.amazonaws.com/test_index/_search?size=2 \' != \'[无 URL]\') document.getElementById (\'missing-url\').style.display = \'none\';\nif (\'http\' != \'[未知协议]\') document.getElementById(\'missing-protocol\' ).style.display = \'none\';\n\n\n
\n\n

由本地主机生成,2018 年 7 月 23 日星期一 11:48:57 GMT (squid/3.5.23)

\n\n\n\n')

0 投票
0 回答
323 浏览

java - 使用 java 客户端在 AWS 弹性搜索中进行通配符搜索

我正在尝试使用 java 访问AWS 弹性搜索不是可以托管在某些机器上的普通 Elastic,而是 AWS 版本的 Elastic)。我已经确定的一件事是,我们必须使用REST TEMPLATE而不是TransportClient方法,因为 AWS ES 托管在端口 80 上,并且要获取数据,我们必须发送带有有效负载的 POST 请求。

我能够在此过程中获得简单的数据,但请求不采用通配符。它给了我以下错误:

{"type":"parse_exception","reason":"Failed to derive xcontent"}

问题:
1. 我对 Java 在端口 80 上访问 AWS ES 的理解是否正确?这是否意味着我们必须使用 POST 而不是 GET 来发送具有属性级别过滤的请求?

  1. 有没有办法将属性传递给 url 本身的弹性搜索?我尝试了以下不起作用的示例,例如:http://helloworld.amazon.com/customer/_search?q=emailID:*abc@gmail.*

  2. 我们如何通过 java 客户端将通配符传递给 AWS ES 以获取数据?

0 投票
1 回答
1259 浏览

amazon-web-services - 用于在 aws 中进行弹性搜索的 Signature4 签名

我正在使用 aws 管理的弹性搜索/我正在使用高级 Java 客户端进行弹性搜索。有没有办法对高级客户端发出的请求使用 aws signature4 签名?

0 投票
1 回答
25 浏览

java - 在elasticsearch中查询字段中的子字符串

我正在尝试查询索引中在 msg 字段中具有 143=NEWYORK 的所有文档。这是一个例子:

这个文件有“msg:”u00011=hi........u143=NEWYORK”,我想退回。

我尝试过的查询包括:

  1. {"query":{"bool":{"should":[{"query_string":{"query":"143=NEWYORK"}}]}}}
  2. {"query":{"bool":{"should":[{"match":{"msg":"143=Newyork"}}}]}}}

这些都不起作用。出于某种原因,如果我只尝试“Newyork”而不是“143=NewYork”,它就可以正常工作。有没有人有解决方案,任何帮助表示赞赏。

谢谢

0 投票
0 回答
57 浏览

java - 让 Elastic Search 从列表中返回某些项目

我有复杂对象的列表(下面示例中的地址),其中每个对象的属性为 {string,string,string,string,string}。

我想对列表进行过滤,而不是整个文档,我只想从响应中的列表中获取 2 个项目。可能吗?

例如客户:{ id, address-list:{ street, city, postal, state, country } }

如果我们有 5 个地址,并且我们想对地址对象的城市值应用过滤器,那么弹性搜索是否可行?

我知道我们有包含和排除,我们可以使用它们过滤属性,但我们也可以根据属性值过滤吗?除了获取文件中存在的所有 5 个地址之外,我们是否可以提取所有属性,但对于地址,我们在弹性的输出中提取具有 city="Chicago" 的项目? 嵌套映射如下所示:

0 投票
2 回答
3883 浏览

java - 向 AWS ElasticSearch 添加 5000 万条记录的最快方法

我正在尝试确定一种可以将数据加载到弹性搜索的方法。AWS-ES 提供批量 API,但 aws 对有效负载大小设置了限制。

您能否让我知道从 DB2 获取数据并将其放入 AWS-ES 的最快方法是什么。记录数约为 5000 万条,每条记录可能有大约 1 到 3 KB 的有效负载。

我已经尝试过使用 java 模块并通过 API 调用将数据放入 ES,但速度很慢。

是否有任何可用的ETL 工具任何服务可以读取 JSON 或 csv 并将数据放入 ES?

0 投票
1 回答
1482 浏览

python - 插入数据时 ElasticSearch Mapper 解析异常

https://pastebin.com/Xu9CH4B1

我已经分享了我试图通过映射插入到 Elasticsearch 中的上述数据示例:

弹性搜索版本:6.3.2

预期行为:插入成功

当前错误

但是有一个类似的数据,其中插入了更改的值,我分享了一个指向以下数据的链接:

https://pastebin.com/4cQzQQ0M

请帮助弄清楚数据有什么问题。谢谢!

0 投票
1 回答
557 浏览

node.js - “无法读取未定义的属性‘presigned-expires’”

基本概述,我有一个运行 Node.js 应用程序的 AWS Lambda,它通过 http 调用将 JSON 发布到我的 AWS Elastic Search DB

所以,我从这个小错误开始:AWS: {"Message":"User: anonymous is not authorized to perform: es:ESHttpPost"}经过大量时间后,我终于明白 AWS 不喜欢未签名的请求。

现在我坚持这个

在谷歌上的很多时间,甚至在网络上的更深入都没有给我这个问题的解决方案。

这是我的 lambda 代码: